VMmanager 6: Administrator guide

VMmanager API

ISPSystem
{"tags": [{"name": "auth", "description": "Authentification in the platform"}, {"name": "backup", "description": "Host backup object"}, {"name": "backup_location", "description": "Backup location object"}, {"name": "cluster", "description": "Cluster"}, {"name": "disk", "description": "Disk of Virtual Machine"}, {"name": "form", "description": "Helper handler for building forms"}, {"name": "host", "description": "Virtual machine"}, {"name": "image", "description": "Host image object"}, {"name": "import", "description": "Ability to import objects"}, {"name": "internal", "description": "Internal communication between services"}, {"name": "network", "description": "Network configuration of VMmanager"}, {"name": "node", "description": "Hardware where virtual machines are created"}, {"name": "node_script", "description": "Script to setup nodes"}, {"name": "os", "description": "Operation System"}, {"name": "platform_backup", "description": "Platform backup entity"}, {"name": "preset", "description": "Predefined configuration of virtual machine"}, {"name": "recipe", "description": "Script to setup virtual machine"}, {"name": "repository", "description": "Repository of OS or Scripts"}, {"name": "schedule", "description": "Schedule object"}, {"name": "settings", "description": "Settings that VMmanager supports"}, {"name": "storage", "description": "Object to keep virtual machine"}, {"name": "task", "description": "Background task that does create, update or delete operations over VM, Nodes etc."}, {"name": "user", "description": "User of VMmanager"}, {"name": "vmmanager", "description": "General information and operations with VMmanager"}, {"name": "vxlan", "description": "Vxlans and operations with them"}], "openapi": "3.0.1", "info": {"title": "ISPsystem vm API", "description": "ISPsystem vm API", "version": "3.0.0"}, "servers": [{"url": "https://localhost/vm/v3"}], "paths": {"/user/{user_id}/password": {"post": {"tags": ["user"], "operationId": "edit_user_password", "summary": "User password editing", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "User password edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserEditParams"}}}, "required": true}, "responses": {"200": {"description": "User password changed successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/image/{image_id}/node/{node_id}/enable": {"post": {"tags": ["image"], "summary": "Enable image on node", "operationId": "image_node_enable", "parameters": [{"name": "image_id", "in": "path", "description": "VM image ID", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host image successfully enabled on the node", "content": {}}}}}, "/ippool/{ippool_id}/cluster": {"get": {"tags": ["network"], "description": "List of clusters to which the pool is connected", "operationId": "get_ippool_cluster_list", "parameters": [{"name": "ippool_id", "in": "path", "description": "IP pool ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP pool cluster list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IppoolClusterList"}}}}}}, "post": {"tags": ["network"], "description": "Connecting the pool to clusters", "operationId": "edit_ippool_cluster", "parameters": [{"name": "ippool_id", "in": "path", "description": "IP pool ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Pool connection parameters for clusters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IppoolClusterParams"}}}, "required": true}, "responses": {"200": {"description": "Cluster ip pool connected successfully", "content": {}}}, "x-codegen-request-body-name": "IppoolClusterParams"}}, "/vxlan/{vxlan_id}": {"get": {"tags": ["vxlan"], "operationId": "get_vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of vxlans successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Vxlan"}}}}}}, "post": {"tags": ["vxlan"], "operationId": "edit_vxlan", "summary": "Edit vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Vxlan params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VxlanEditParams"}}}, "required": true}, "responses": {"200": {"description": "Vxlan edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "VxlanEditParams"}, "delete": {"tags": ["vxlan"], "summary": "Deleting a vxlan", "description": "Deleting a vxlan", "operationId": "delete_vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "The ID of vxlan to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Vxlan deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/node/{node_id}/network/save": {"post": {"tags": ["node"], "summary": "Apply node network settings", "operationId": "network_save", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node network settings saving params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node network settings saved successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/host/{host_id}/resource": {"post": {"tags": ["host"], "description": "Changing Host parameters", "operationId": "host_edit_resource", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for changing host", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostResourceParams"}}}, "required": true}, "responses": {"200": {"description": "Host resource edit started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostResourceParams"}}, "/image/{image_id}/move": {"post": {"tags": ["image"], "summary": "VM image move", "operationId": "move_image", "parameters": [{"name": "image_id", "in": "path", "description": "VM image ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM image move params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageMoveParams"}}}, "required": true}, "responses": {"200": {"description": "VM image moved successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ImageMoveParams"}}, "/task/{task_id}/abort": {"post": {"tags": ["task"], "summary": "Aborting the running task", "operationId": "abort_task", "parameters": [{"name": "task_id", "in": "path", "description": "Task id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Task aborted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/node/{node_id}/run_script": {"post": {"tags": ["node"], "summary": "Running a script on a node", "operationId": "run_script", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Executable script parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeRunScriptParams"}}}, "required": true}, "responses": {"200": {"description": "The script has been successfully launched", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "NodeRunScriptParams"}}, "/host/{host_id}/rescue_mode": {"post": {"tags": ["host"], "operationId": "start_host_rescue_mode", "summary": "Running VM rescue Mode", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host rescue mode params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostRescueModeParams"}}}, "required": true}, "responses": {"200": {"description": "Host rescue mode enter started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostRescueModeParams"}}, "/get_license": {"get": {"tags": ["vmmanager"], "summary": "Obtaining license data", "operationId": "get_license", "responses": {"200": {"description": "License info is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LicenseData"}}}}}}}, "/node/{node_id}/hetzner_ip": {"get": {"tags": ["network"], "summary": "List of host IP addresses along with subnets and VMs", "operationId": "ip_list", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "The list of host Ip addresses was successfully obtained", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HetznerNodeIpList"}}}}}}, "post": {"tags": ["network"], "summary": "Adding IP addresses to a node", "operationId": "add_ip", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters of added IP addresses", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddHetznerIpParams"}}}, "required": true}, "responses": {"200": {"description": "Ip addresses have been successfully added to the node", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "AddHetznerIpParams"}}, "/host/{host_id}/account": {"post": {"tags": ["host"], "operationId": "change_account", "summary": "Change of owner of a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Owner change options", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostAccountParams"}}}, "required": true}, "responses": {"200": {"description": "Host account changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostAccountParams"}}, "/disk": {"get": {"tags": ["disk"], "operationId": "get_disk_list", "responses": {"200": {"description": "Disk list is successfully received", "content": {}}}}}, "/cluster/{cluster_id}/storage/{storage_id}/make_main": {"post": {"tags": ["cluster"], "summary": "Change main storage on cluster", "operationId": "set_main_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Main storage successfully changed", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/node/{node_id}/host/states": {"post": {"tags": ["node"], "summary": "Update VM states", "operationId": "set_states", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New VM states", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostStatesParams"}}}, "required": true}, "responses": {"200": {"description": "VM states changed", "content": {}}}, "x-codegen-request-body-name": "HostStatesParams"}}, "/cluster/{cluster_id}/storage/{storage_id}/hdd_overselling": {"post": {"tags": ["cluster"], "summary": "Update storage HDD overselling on cluster", "operationId": "update_storage2cluster_hdd_overselling", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "HDD overselling parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HddOversellingParams"}}}, "required": true}, "responses": {"200": {"description": "Storage HDD overselling is successfully updated", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HddOverselling"}}}}}, "x-codegen-request-body-name": "HddOversellingParams"}}, "/cluster/{cluster_id}/settings": {"post": {"tags": ["cluster"], "description": "Cluster edit settings", "operationId": "edit_cluster_settings", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Cluster edit settings", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterSettings"}}}, "required": true}, "responses": {"200": {"description": "Cluster settings edited successfully", "content": {}}}, "x-codegen-request-body-name": "ClusterSettings"}}, "/storage/{storage_id}/node": {"get": {"tags": ["storage"], "summary": "Get node list for the storage", "operationId": "get_storage_node_list", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node list for the storage is successfully received", "content": {}}}}}, "/settings/send_vm_messages": {"get": {"tags": ["settings"], "operationId": "get_settings_send_vm_messages", "responses": {"200": {"description": "Sending messages status is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "summary": "Enable or disable sending messages about VM", "operationId": "edit_settings_send_vm_messages", "requestBody": {"description": "Enable sending params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EnableSendingParams"}}}, "required": true}, "responses": {"200": {"description": "Setting sending messages edited successfully", "content": {}}}, "x-codegen-request-body-name": "EnableSendingParams"}}, "/cluster": {"get": {"tags": ["cluster"], "summary": "Cluster List", "operationId": "get_cluster_list", "responses": {"200": {"description": "Cluster list successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterList"}}}}}}, "post": {"tags": ["cluster"], "summary": "Cluster creation", "operationId": "create_cluster", "requestBody": {"description": "Parameters of the created cluster", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterParams"}}}, "required": true}, "responses": {"200": {"description": "The cluster has been successfully created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ClusterParams"}}, "/settings/task/{task_name}/timeout": {"get": {"tags": ["settings"], "operationId": "get_settings_task_timeout", "parameters": [{"name": "task_name", "in": "path", "description": "Task name", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Task timeout is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "description": "Set timeout for task", "operationId": "edit_settings_task_timeout", "parameters": [{"name": "task_name", "in": "path", "description": "Task name", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Set timeout params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SetTimeoutParams"}}}, "required": true}, "responses": {"200": {"description": "Timeout params edited successfully", "content": {}}}, "x-codegen-request-body-name": "SetTimeoutParams"}, "delete": {"tags": ["settings"], "description": "Delete timeout for task", "operationId": "delete_settings_task_timeout", "parameters": [{"name": "task_name", "in": "path", "description": "Task name", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Timeout params deleted successfully", "content": {}}}}}, "/backup": {"get": {"tags": ["backup"], "operationId": "backup_list", "responses": {"200": {"description": "VM backup list have gotten successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BackupList"}}}}}, "x-codegen-request-body-name": "BackupList"}}, "/setup": {"post": {"tags": ["settings"], "summary": "Setup VM panel", "operationId": "setup", "requestBody": {"description": "Setup params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Setup is successful", "content": {}}}, "x-codegen-request-body-name": "SetupParams"}}, "/cluster/{cluster_id}/storage/{storage_id}/enable": {"post": {"tags": ["cluster"], "summary": "Enable storage to cluster", "operationId": "enable_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage enabled successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/os_tag": {"get": {"tags": ["form"], "operationId": "get_os_tag_list", "responses": {"200": {"description": "OS tag list is successfully received", "content": {}}}}}, "/node/{node_id}/ha/enable": {"post": {"tags": ["node"], "summary": "Enable HA on node", "operationId": "ha_enable", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "HA params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Enable HA on node started successfully", "content": {}}}}}, "/host/{host_id}/ip_automation": {"post": {"tags": ["host"], "summary": "Change IP automation type", "operationId": "chande_host_ip_automation", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New IP automation type", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IpAutomationType"}}}, "required": true}, "responses": {"200": {"description": "IP automation changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/host/{host_id}/history": {"get": {"tags": ["host"], "operationId": "get_host_history", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host history is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "date_create": {"type": "string"}, "state": {"type": "string"}, "params": {"type": "object", "properties": {}}, "user": {"type": "string"}}}}}}}}}}}, "post": {"tags": ["host"], "operationId": "create_host_history", "summary": "Creating a Virtual Machine Log Entry", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host history item name", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostHistoryItemName"}}}, "required": true}, "responses": {"200": {"description": "Host history item created successfully", "content": {}}}, "x-codegen-request-body-name": "HostHistoryItemName"}}, "/host/{host_id}/metadata": {"get": {"tags": ["host"], "operationId": "get_host_metadata", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host metadata is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"metadata": {"type": "object"}}}}}}}}}, "/host/{host_id}/restore": {"post": {"tags": ["host"], "operationId": "restore_host", "summary": "Recovering a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host restore params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostRestoreParams"}}}, "required": true}, "responses": {"200": {"description": "Host restore started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostRestoreParams"}}, "/node/{node_id}/network/lock": {"post": {"tags": ["node"], "summary": "Lock node network settings", "operationId": "network_lock", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node network settings locking params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node network settings locked successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/backup_location/{backup_location_id}": {"post": {"tags": ["backup_location"], "summary": "Backup location edit", "operationId": "edit_backup_location", "parameters": [{"name": "backup_location_id", "in": "path", "description": "Backup location ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Backup location params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LocationEdit"}}}, "required": true}, "responses": {"200": {"description": "Backup location edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "LocationEdit"}, "delete": {"tags": ["backup_location"], "summary": "Backup location delete", "description": "Backup location delete", "operationId": "delete_backup_location", "parameters": [{"name": "backup_location_id", "in": "path", "description": "Backup location ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Backup location deleted succesfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/preset/{preset_id}": {"get": {"tags": ["preset"], "operationId": "get_preset", "parameters": [{"name": "preset_id", "in": "path", "description": "Preset ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Preset info is successfully received", "content": {}}}}, "post": {"tags": ["preset"], "description": "Preset edit", "operationId": "edit_preset", "parameters": [{"name": "preset_id", "in": "path", "description": "Preset ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Preset edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PresetEditParams"}}}, "required": true}, "responses": {"200": {"description": "Preset edited successfully", "content": {}}}, "x-codegen-request-body-name": "PresetEditParams"}, "delete": {"tags": ["preset"], "operationId": "delete_preset", "parameters": [{"name": "preset_id", "in": "path", "description": "Preset ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Preset deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/node/{node_id}/header": {"get": {"tags": ["node"], "operationId": "header", "parameters": [{"name": "node_id", "in": "path", "description": "Cluster node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node header is successfully received", "content": {}}}}}, "/vxlan/{vxlan_id}/ipnet": {"post": {"tags": ["vxlan"], "operationId": "add_vxlan_ipnet", "summary": "Add ipnet to vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Vxlan params", "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string"}, "gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}}}}}, "required": true}, "responses": {"200": {"description": "Vxlan edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "VxlanIpnetParams"}}, "/cluster/{cluster_id}/storage/{storage_id}/check": {"post": {"tags": ["cluster"], "summary": "Check storage on cluster", "operationId": "check_cluster_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage checked successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/node/{node_id}/network/iface/{iface_name}": {"post": {"tags": ["node"], "summary": "Edit the network interface on the node", "operationId": "iface_edit", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_name", "in": "path", "description": "Requested iface name", "required": true, "schema": {"type": "string", "maxLength": 255}}], "requestBody": {"description": "Node interface edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeIfaceEditParams"}}}, "required": true}, "responses": {"200": {"description": "Node interface changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}, "x-codegen-request-body-name": "NodeIfaceEditParams"}, "delete": {"tags": ["node"], "summary": "Delete the network interface on the node", "operationId": "iface_delete", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_name", "in": "path", "description": "Requested iface name", "required": true, "schema": {"type": "string", "maxLength": 255}}], "responses": {"200": {"description": "The interface successfully deleted", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/host/{host_id}/runrecipe": {"post": {"tags": ["host"], "operationId": "host_runrecipe", "summary": "Running a recipe in a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host run recipe parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostRunRecipeParams"}}}, "required": true}, "responses": {"200": {"description": "Host recipe run started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}, "recipe_task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostRunRecipeParams"}}, "/schedule_list": {"get": {"tags": ["host"], "operationId": "get_internal_schedule_list", "responses": {"200": {"description": "Internal schedule list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/InternalSchedulesList"}}}}}}}, "/backup/{backup_id}/change_state": {"post": {"tags": ["backup"], "summary": "Change backup state", "operationId": "backup_change_state", "parameters": [{"name": "backup_id", "in": "path", "description": "VM backup ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Change backup state params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BackupChangeStateParams"}}}, "required": true}, "responses": {"200": {"description": "Host backup info edited successfully", "content": {}}}, "x-codegen-request-body-name": "BackupChangeStateParams"}}, "/cluster/{cluster_id}/ssh_key": {"post": {"tags": ["cluster"], "description": "Cluster edit ssh key", "operationId": "create_cluster_ssh_key", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Cluster edit ssh key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterSshKey"}}}, "required": true}, "responses": {"200": {"description": "Cluster ssh key edited successfully", "content": {}}}, "x-codegen-request-body-name": "ClusterSshKey"}}, "/writer_status": {"post": {"tags": ["vmmanager"], "summary": "Get writer status", "operationId": "get_writer_status", "responses": {"200": {"description": "Writer status is successfully received", "content": {}}}}}, "/cluster/{cluster_id}/ha_agent_update": {"post": {"tags": ["cluster"], "operationId": "ha_agent_update", "summary": "Updating ha_agent on cluster", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/changelog": {"get": {"tags": ["vmmanager"], "operationId": "get_changelog", "responses": {"200": {"description": "Changelog is successfully received", "content": {}}}}}, "/node/{node_id}/network/iface/{iface_name}/revert": {"post": {"tags": ["node"], "summary": "Revert the network interface changes on the node", "operationId": "iface_revert", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_name", "in": "path", "description": "Requested iface name", "required": true, "schema": {"type": "string", "maxLength": 255}}], "requestBody": {"description": "Node interface changes reverting params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node interface changes reverted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/platform/backup/schedule/{schedule_id}": {"post": {"tags": ["platform_backup"], "summary": "Platform backup schedule edit", "operationId": "edit_platform_backup_schedule", "parameters": [{"name": "schedule_id", "in": "path", "description": "Platform backup schedule ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Platform backup schedule params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PlatformBackupScheduleEdit"}}}, "required": true}, "responses": {"200": {"description": "Platform backup schedule edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}, "delete": {"tags": ["platform_backup"], "summary": "Platform backup schedule delete", "operationId": "delete_platform_backup_schedule", "parameters": [{"name": "schedule_id", "in": "path", "description": "Platform backup schedule ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Platform backup schedule deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/storage/{storage_id}/node/{node_id}/change_state": {"post": {"tags": ["storage"], "operationId": "change_storage_node_state", "summary": "Change storage on node state", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage id", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node id", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New storage on node state", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageNodeChangeStateParams"}}}, "required": true}, "responses": {"200": {"description": "Storage state changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "StorageNodeChangeStateParams"}}, "/private_key": {"get": {"tags": ["vmmanager", "form"], "operationId": "get_private_key", "responses": {"200": {"description": "Private key is successfully received", "content": {}}}}}, "/user/{user_id}": {"get": {"tags": ["user"], "operationId": "get_user", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "User info is successfully received", "content": {}}}}, "post": {"tags": ["user"], "operationId": "edit_user", "summary": "User editing", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "User edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserEditParams"}}}, "required": true}, "responses": {"200": {"description": "User deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}, "delete": {"tags": ["user"], "operationId": "delete_user", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "User deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/node/{node_id}/host/autostart_states": {"post": {"tags": ["node"], "summary": "Update autostart states of VM", "operationId": "set_autostart_states", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New VM autostart states", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostAutostartStatesParams"}}}, "required": true}, "responses": {"200": {"description": "VM autostart states changed", "content": {}}}, "x-codegen-request-body-name": "HostAutostartStatesParams"}}, "/set_license": {"post": {"tags": ["vmmanager"], "summary": "Saving license data", "operationId": "edit_license", "requestBody": {"description": "\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/License"}}}, "required": true}, "responses": {"200": {"description": "License info edit successfully", "content": {}}}, "x-codegen-request-body-name": "LicenseEditParams"}}, "/node/{node_id}/problem": {"post": {"tags": ["node"], "summary": "Node add problem", "operationId": "add_problem", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node add problem params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeAddProblemParams"}}}, "required": true}, "responses": {"200": {"description": "Node problem added successfully", "content": {}}}, "x-codegen-request-body-name": "NodeAddProblemParams"}}, "/instance_info": {"get": {"tags": ["vmmanager"], "operationId": "get_instance_info", "responses": {"200": {"description": "Instance info is successfully received", "content": {}}}}}, "/host/{host_id}": {"get": {"tags": ["host"], "operationId": "get_host", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "state": {"type": "string"}, "cpu_number": {"type": "integer"}, "ram_mib": {"type": "integer"}, "expand_part": {"type": "string"}}}}}}}}, "post": {"tags": ["host"], "summary": "VM editing", "operationId": "edit_host", "parameters": [{"name": "host_id", "in": "path", "description": "ID of the VM being edited", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for editing VM", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostChangeParams"}}}, "required": true}, "responses": {"200": {"description": "VM successfully edited", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "HostChangeParams"}, "delete": {"tags": ["host"], "summary": "Deleting a VM", "description": "Deleting a host", "operationId": "delete_host", "parameters": [{"name": "host_id", "in": "path", "description": "The host ID to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host deleted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/script_variable/{variable_id}/disable": {"post": {"tags": ["recipe"], "summary": "Disable script variable", "operationId": "script_variable_disablee", "parameters": [{"name": "variable_id", "in": "path", "description": "Variable ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Script variable successfully disabled", "content": {}}}}}, "/cluster/{cluster_id}/vxlan": {"get": {"tags": ["cluster"], "operationId": "get_cluster_vxlan_list", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of vxlans on cluster successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterVxlanList"}}}}}}}, "/os": {"get": {"tags": ["os"], "summary": "OS list", "operationId": "get_os_list", "responses": {"200": {"description": "OS list received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OSList"}}}}}}}, "/storage": {"get": {"tags": ["storage"], "summary": "Storage List", "operationId": "get_storage_list", "responses": {"200": {"description": "Storage list successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageList"}}}}}}, "post": {"tags": ["storage"], "summary": "Storage creation", "operationId": "create_storage", "requestBody": {"description": "Parameters of the created storage", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageParams"}}}, "required": true}, "responses": {"200": {"description": "The storage has been successfully created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "StorageParams"}}, "/hetzner_ip/{hetzner_ip_id}": {"delete": {"tags": ["network"], "summary": "Deleting an IP address", "description": "Removing an IP address in Hetzner", "operationId": "delete_hetzner_ip", "parameters": [{"name": "hetzner_ip_id", "in": "path", "description": "IP address to be deleted", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP address removal completed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}}, "/node/{node_id}/ip": {"post": {"tags": ["network"], "summary": "Change node IP", "operationId": "change_node_ip", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New node IP", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeChangeIpParams"}}}, "required": true}, "responses": {"200": {"description": "Node IP changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "NodeChangeIpParams"}}, "/repository/{repository_id}": {"get": {"tags": ["repository"], "operationId": "get_repository", "parameters": [{"name": "repository_id", "in": "path", "description": "ID \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Repository info is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}}}}, "post": {"tags": ["repository"], "operationId": "edit_repository", "summary": "Editing the repository", "parameters": [{"name": "repository_id", "in": "path", "description": "ID repository", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Repository edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RepositoryEditParams"}}}, "required": true}, "responses": {"200": {"description": "Repository edited successfully", "content": {}}}, "x-codegen-request-body-name": "RepositoryEditParams"}, "delete": {"tags": ["repository"], "summary": "Removing a cluster node", "description": "Removing a cluster node", "operationId": "delete_repository", "parameters": [{"name": "repository_id", "in": "path", "description": "ID of the repository to be removed", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "The repository was successfully deleted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/settings/domain": {"get": {"tags": ["settings"], "operationId": "get_settings_domain", "responses": {"200": {"description": "Domain is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "description": "Domain VM setting", "operationId": "edit_settings_domain", "requestBody": {"description": "Setting domain params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SettingDomainParams"}}}, "required": true}, "responses": {"200": {"description": "Domain created successfully", "content": {}}}, "x-codegen-request-body-name": "SettingDomainParams"}}, "/range": {"get": {"tags": ["network"], "operationId": "get_range_list", "responses": {"200": {"description": "Range info is successfully received", "content": {}}}}}, "/image": {"get": {"tags": ["image"], "summary": "List of VM images", "operationId": "get_image_list", "responses": {"200": {"description": "List of VM images received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostImageList"}}}}}}}, "/node/{node_id}/host/uptimes": {"post": {"tags": ["node"], "summary": "Update VM uptimes", "operationId": "set_uptimes", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New VM uptimes", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostUptimesParams"}}}, "required": true}, "responses": {"200": {"description": "VM uptimes changed", "content": {}}}, "x-codegen-request-body-name": "HostUptimesParams"}}, "/host/{host_id}/iso/cancel": {"post": {"tags": ["host"], "summary": "Disconnect ISO from VM without reinstalling", "operationId": "iso_cancel", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "ISO disconnect started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}}, "/host/{host_id}/clone": {"post": {"tags": ["host"], "operationId": "host_clone", "summary": "Cloning a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host clone started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/ipnet/{ipnet_id}": {"post": {"tags": ["network"], "description": "Edit IP network settings", "operationId": "edit_ipnet", "parameters": [{"name": "ipnet_id", "in": "path", "description": "IP network ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Network settings", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditNetworkParams"}}}, "required": true}, "responses": {"200": {"description": "Network settings edited successfully", "content": {}}}, "x-codegen-request-body-name": "EditNetworkParams"}, "delete": {"tags": ["network"], "description": "Deleting a IP network", "operationId": "delete_ipnet", "parameters": [{"name": "ipnet_id", "in": "path", "description": "IP network ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP network deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/ssh_key/{ssh_key_id}": {"delete": {"tags": ["cluster"], "summary": "Removing ssh key", "description": "Removing ssh key", "operationId": "delete_ssh_key", "parameters": [{"name": "ssh_key_id", "in": "path", "description": "The ID of the ssh key to be removed", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "SSH key deleted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}}}, "/cluster/{cluster_id}/ippool": {"post": {"tags": ["cluster"], "description": "Connecting / disconnecting pools to a cluster", "operationId": "cluster_edit_ippool", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Pools connection parameters to the cluster", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterIppoolParams"}}}, "required": true}, "responses": {"200": {"description": "Ip pool connected successfully", "content": {}}}, "x-codegen-request-body-name": "ClusterIppoolParams"}}, "/cluster/{cluster_id}/vxlan/user": {"get": {"tags": ["cluster"], "operationId": "get_cluster_vxlan_user_list", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of users' vxlan on cluster successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterVxlanUserList"}}}}}}}, "/schedule/{schedule_id}/hosts": {"get": {"tags": ["schedule"], "operationId": "get_schedule_affected_hosts", "parameters": [{"name": "schedule_id", "in": "path", "description": "Schedule ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Schedule affected hosts are successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"affected_hosts_count": {"type": "integer"}}}}}}}}}, "/image/{image_id}/relocate": {"post": {"tags": ["image"], "summary": "VM image relocate", "operationId": "relocate_image", "parameters": [{"name": "image_id", "in": "path", "description": "VM image ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM image relocate params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageRelocateParams"}}}, "required": true}, "responses": {"200": {"description": "VM image relocated successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ImageRelocateParams"}}, "/host/{host_id}/ip": {"post": {"tags": ["host"], "operationId": "add_ip_to_host", "summary": "Adding an IP to a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters of added IP addresses", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddIpParams"}}}, "required": true}, "responses": {"200": {"description": "Add host ip started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "array", "items": {"type": "integer"}}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "AddIpParams"}}, "/range/{range_id}/ip": {"get": {"tags": ["network"], "operationId": "get_range_ip_list", "parameters": [{"name": "range_id", "in": "path", "description": "Range ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Range ip is successfully received", "content": {}}}}}, "/host/{host_id}/ipv6": {"get": {"tags": ["host"], "operationId": "get_host_ipv6", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IPv6 info is successfully received", "content": {}}}}}, "/schedule/{schedule_id}/run": {"post": {"tags": ["schedule"], "summary": "Run schedule", "operationId": "run_schedule", "parameters": [{"name": "schedule_id", "in": "path", "description": "ID schedule", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Schedule started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}}}, "/host/{host_id}/vnc_settings": {"get": {"tags": ["host"], "operationId": "get_host_vnc_settings", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host vnc settings is successfully received", "content": {}}}}, "post": {"tags": ["host"], "operationId": "edit_host_vnc_settings", "summary": "Editing VNC Virtual Machine Settings", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Vnc settings params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VncSettingsParams"}}}, "required": true}, "responses": {"200": {"description": "Host vnc settings edited successfully", "content": {}}}, "x-codegen-request-body-name": "VncSettingsParams"}}, "/host/{host_id}/bill_option/image_gib": {"post": {"tags": ["host"], "operationId": "set_image_gib_limit", "summary": "Setting a size limit for images", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Limit of total images size in gigabytes per host", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostBillOptionImageGib"}}}, "required": true}, "responses": {"200": {"description": "Limit of total images size changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"image_gib": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostBillOptionImageGib"}}, "/task": {"get": {"tags": ["task"], "operationId": "get_task_list", "responses": {"200": {"description": "Task list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TaskList"}}}}}}}, "/ippool/{ippool_id}": {"delete": {"tags": ["network"], "summary": "Deleting a pool of ip addresses", "description": "Deleting a pool of ip addresses", "operationId": "delete_ippool", "parameters": [{"name": "ippool_id", "in": "path", "description": "ID of the deleted pool of ip addresses", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP address pool deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/host/{host_id}/iface": {"get": {"tags": ["host"], "summary": "Host iface list", "operationId": "get_host_iface_list", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host iface list is successfully received", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/HostIface"}}}}}}, "x-codegen-request-body-name": "HostIface"}, "post": {"tags": ["host"], "summary": "Create an iface on host", "operationId": "create_host_iface", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Create iface parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostIfaceCreateParams"}}}, "required": true}, "responses": {"200": {"description": "Host iface created successfully", "content": {}}}, "x-codegen-request-body-name": "HostIfaceCreateParams"}}, "/image/{image_id}/change_state": {"post": {"tags": ["image"], "summary": "Change image state", "operationId": "image_change_state", "parameters": [{"name": "image_id", "in": "path", "description": "VM image ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Change image state params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageChangeStateParams"}}}, "required": true}, "responses": {"200": {"description": "Host image state changed successfully", "content": {}}}, "x-codegen-request-body-name": "ImageChangeStateParams"}}, "/cluster/{cluster_id}/dc_network": {"post": {"tags": ["cluster"], "description": "Connecting / disconnecting ip networks to cluster", "operationId": "cluster_edit_dc_networks", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Ip networks ids", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterDcNetworksParams"}}}, "required": true}, "responses": {"200": {"description": "Ip networks connected successfully", "content": {}}}, "x-codegen-request-body-name": "ClusterDcNetworksParams"}}, "/setting/{setting_name}": {"get": {"tags": ["settings"], "operationId": "get_setting", "parameters": [{"name": "setting_name", "in": "path", "description": "Setting name", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Setting is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "summary": "Edit VM setting", "operationId": "edit_setting", "parameters": [{"name": "setting_name", "in": "path", "description": "Setting name", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Setting edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SettingEditParams"}}}, "required": true}, "responses": {"200": {"description": "VM setting edited successfully", "content": {}}}, "x-codegen-request-body-name": "SettingEditParams"}}, "/version": {"get": {"tags": ["vmmanager"], "operationId": "get_version", "responses": {"200": {"description": "Release version is successfully received", "content": {}}}}}, "/recipe/save": {"post": {"tags": ["recipe"], "operationId": "recipe_save", "summary": "Saving a recipe", "requestBody": {"description": "Recipe save params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RecipeSaveParams"}}}, "required": true}, "responses": {"200": {"description": "Recipe saved successfully", "content": {}}}, "x-codegen-request-body-name": "RecipeSaveParams"}}, "/vxlan/{vxlan_id}/ipnet/{ipnet_id}": {"delete": {"tags": ["vxlan"], "operationId": "delete_vxlan_ipnet", "summary": "Add ipnet to vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}, {"name": "ipnet_id", "in": "path", "description": "Ipnet ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Ipnet successfully deleted from vxlan", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}, "post": {"tags": ["vxlan"], "operationId": "edit_vxlan_ipnet", "summary": "Edit ipnet in vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}, {"name": "ipnet_id", "in": "path", "description": "Ipnet ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Vxlan params", "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string"}, "gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}}}}}, "required": true}, "responses": {"200": {"description": "Ipnet successfully edited in vxlan", "content": {"application/json": {"schema": {"type": "integer"}}}}}}}, "/user_limits/role/{id}": {"get": {"tags": ["settings"], "operationId": "get_role_limits", "parameters": [{"name": "id", "in": "path", "description": "Role", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "User limits for type are successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserLimitsAdmin"}}}}}}, "post": {"tags": ["settings"], "operationId": "edit_role_limits", "summary": "Changing user restrictions", "parameters": [{"name": "id", "in": "path", "description": "Role", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Edit user limits params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditUserLimitsParams"}}}, "required": true}, "responses": {"200": {"description": "User limits for type edited successfully", "content": {"application/json": {"schema": {"type": "object"}}}}}, "x-codegen-request-body-name": "EditUserLimitsParams"}, "delete": {"tags": ["settings"], "operationId": "delete_role_limits", "parameters": [{"name": "id", "in": "path", "description": "Role", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "User limits for type deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/host/{host_id}/migrate": {"get": {"tags": ["host"], "operationId": "get_migration_form", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host migrate form is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeForMigrateList"}}}}}}, "post": {"tags": ["host"], "operationId": "migrate_host", "summary": "Migrating a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Migration options", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostMigrateParams"}}}, "required": true}, "responses": {"200": {"description": "Host migration started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostMigrateParams"}}, "/host/{host_id}/ipv4": {"get": {"tags": ["host"], "operationId": "get_host_ipv4", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IPv4 info is successfully received", "content": {}}}}}, "/script_variable/{variable_id}": {"get": {"tags": ["recipe"], "summary": "Script variable", "operationId": "get_script_variable", "parameters": [{"name": "variable_id", "in": "path", "description": "Variable ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Script variables list successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScriptVariableParams"}}}}}}, "post": {"tags": ["recipe"], "operationId": "edit_script_variable", "summary": "Edit script variable", "parameters": [{"name": "variable_id", "in": "path", "description": "Variable ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Script_variable params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScriptVariableParams"}}}, "required": true}, "responses": {"200": {"description": "Script_variable added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ScriptVariableParams"}, "delete": {"tags": ["recipe"], "summary": "Deleting a script variable", "description": "Deleting a script variable", "operationId": "delete_script_variable", "parameters": [{"name": "variable_id", "in": "path", "description": "The script variable ID to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Script variable deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/public/token/{token_id}/change_password": {"post": {"tags": ["auth"], "operationId": "change_password_by_token", "summary": "Changing the password by token", "parameters": [{"name": "token_id", "in": "path", "description": "Confirmation token", "required": true, "schema": {"type": "string", "maxLength": 255}}], "requestBody": {"description": "Parameters for password changing", "content": {"application/json": {"schema": {"type": "object", "properties": {"password": {"type": "string"}}, "required": ["password"], "additionalProperties": false}}}, "required": true}, "responses": {"200": {"description": "The password was changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"session": {"type": "string"}, "token": {"type": "string"}}}}}}}}}, "/ippool/{ippool_id}/range": {"post": {"tags": ["network"], "description": "Connecting the range to IP pool", "operationId": "connect_ippool_range", "parameters": [{"name": "ippool_id", "in": "path", "description": "IP pool ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Range connection parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IppoolRangeParams"}}}, "required": true}, "responses": {"200": {"description": "Range connected successfully", "content": {}}}, "x-codegen-request-body-name": "IppoolRangeParams"}}, "/host/{host_id}/iface/{iface_name}": {"delete": {"tags": ["host"], "summary": "Delete iface from host", "operationId": "delete_host_iface", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_name", "in": "path", "description": "Iface name", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Iface successfully deleted from host", "content": {}}}}}, "/repository": {"get": {"tags": ["repository"], "summary": "List of cluster repositories", "operationId": "get_repository_list", "responses": {"200": {"description": "Repository list successfully retrieved", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RepoList"}}}}}}, "post": {"tags": ["repository"], "summary": "Repository creation", "operationId": "create_repository", "requestBody": {"description": "Parameters of the created repository", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RepositoryParams"}}}, "required": true}, "responses": {"200": {"description": "Repository created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "tasks": {"type": "array", "items": {"type": "integer"}}}}}}}}, "x-codegen-request-body-name": "RepositoryParams"}}, "/backup/{backup_id}/copy": {"post": {"tags": ["backup"], "summary": "VM backup copy", "operationId": "copy_backup", "parameters": [{"name": "backup_id", "in": "path", "description": "VM backup ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM backup copy params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageCopyParams"}}}, "required": true}, "responses": {"200": {"description": "VM backup copied successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ImageCopyParams"}}, "/task/{task_id}": {"get": {"tags": ["task"], "operationId": "get_task", "parameters": [{"name": "task_id", "in": "path", "description": "Task id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Task info is successfully received", "content": {}}}}}, "/schedule": {"get": {"tags": ["schedule"], "summary": "Schedule list", "operationId": "get_schedule_list", "responses": {"200": {"description": "Schedule list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScheduleList"}}}}}}, "post": {"tags": ["schedule"], "summary": "Create schedule", "operationId": "create_schedule", "requestBody": {"description": "Schedule params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScheduleParams"}}}, "required": true}, "responses": {"200": {"description": "Schedule created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ScheduleParams"}}, "/node/{node_id}/ha/state": {"post": {"tags": ["node"], "summary": "Set ha state", "operationId": "ha_state", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Ha state params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeHaStateParams"}}}, "required": true}, "responses": {"200": {"description": "Node HA state is successfully saved", "content": {}}}, "x-codegen-request-body-name": "NodeHaStateParams"}}, "/userspace/{userspace_id}/ipnet": {"post": {"tags": ["network"], "description": "Create IP network", "operationId": "create_ipnet", "parameters": [{"name": "userspace_id", "in": "path", "description": "Userspace ID", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Network settings", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NetworkCreateParams"}}}, "required": true}, "responses": {"200": {"description": "Network created successfully", "content": {}}}, "x-codegen-request-body-name": "NetworkCreateParams"}}, "/cluster/{cluster_id}/vxlan/node": {"get": {"tags": ["cluster"], "operationId": "get_cluster_vxlan_node_list", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of nodes' vxlan on cluster successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterVxlanNodeList"}}}}}}}, "/preset": {"get": {"tags": ["preset"], "operationId": "get_preset_list", "responses": {"200": {"description": "Preset list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PresetList"}}}}}}, "post": {"tags": ["preset"], "operationId": "create_preset", "summary": "Create preset", "requestBody": {"description": "Preset params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PresetParams"}}}, "required": true}, "responses": {"200": {"description": "Preset added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "PresetParams"}}, "/user_limits/account/{id}": {"get": {"tags": ["settings"], "operationId": "get_account_limits", "parameters": [{"name": "id", "in": "path", "description": "Id or email of user", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "User limits for type are successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserLimitsAdmin"}}}}}}, "post": {"tags": ["settings"], "operationId": "edit_account_limits", "summary": "Setting account restrictions", "parameters": [{"name": "id", "in": "path", "description": "Id or email of user", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Edit user limits params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditUserLimitsParams"}}}, "required": true}, "responses": {"200": {"description": "User limits for type edited successfully", "content": {"application/json": {"schema": {"type": "object"}}}}}, "x-codegen-request-body-name": "EditUserLimitsParams"}, "delete": {"tags": ["settings"], "operationId": "delete_account_limits", "parameters": [{"name": "id", "in": "path", "description": "Id or email of user", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "User limits for type deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/host": {"get": {"tags": ["host"], "operationId": "get_host_list", "responses": {"200": {"description": "Host list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostList"}}}}}}, "post": {"tags": ["host"], "summary": "VM creation", "operationId": "create_host", "requestBody": {"description": "Parameters of the created VM", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostParams"}}}, "required": true}, "responses": {"200": {"description": "VM successfully created", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "recipe_task_list": {"type": "array", "items": {"type": "integer"}}, "recipe_task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostParams"}}, "/host/{host_id}/restart": {"post": {"tags": ["host"], "operationId": "host_restart", "summary": "Restarting the virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/public/auth_by_key": {"post": {"tags": ["auth"], "summary": "Auth by key", "operationId": "auth_by_key", "requestBody": {"description": "Authentification params", "content": {"application/json": {"schema": {"type": "object", "properties": {"key": {"type": "string"}}, "required": ["key"], "additionalProperties": false}}}, "required": true}, "responses": {"200": {"description": "Authentificated successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"session": {"type": "string"}, "token": {"type": "string"}}}}}}}}}, "/platform/backup/schedule": {"get": {"tags": ["platform_backup"], "summary": "Platform backup schedules list", "operationId": "get_platform_backup_schedule_list", "responses": {"200": {"description": "Platform backup schedules list have gotten successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PlatformBackupSchedulesList"}}}}}}, "post": {"tags": ["platform_backup"], "summary": "Platform backup schedule create", "operationId": "create_platform_backup_schedule", "requestBody": {"description": "Platform backup schedule params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PlatformBackupScheduleCreate"}}}, "required": true}, "responses": {"200": {"description": "Platform backup schedule created successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/storage/{storage_id}/change_state": {"post": {"tags": ["storage"], "operationId": "change_storage_state", "summary": "Change storage on node state", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage id", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New storage on node state", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageChangeStateParams"}}}, "required": true}, "responses": {"200": {"description": "Storage state changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "StorageChangeStateParams"}}, "/cluster/{cluster_id}/storage/{storage_id}": {"post": {"tags": ["cluster"], "summary": "Attach storage to cluster", "operationId": "attach_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Storage parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageAttachParams"}}}, "required": true}, "responses": {"200": {"description": "Storage attached successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdTaskStoragesTasks"}}}}}, "x-codegen-request-body-name": "StorageAttachParams"}, "delete": {"tags": ["cluster"], "summary": "Detach storage from cluster", "operationId": "detach_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage detached successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/task/{task_id}/delete": {"delete": {"tags": ["task"], "operationId": "delete_task", "parameters": [{"name": "task_id", "in": "path", "description": "Task id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Task deleted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/backup/{backup_id}/relocate": {"post": {"tags": ["backup"], "summary": "VM backup relocate", "operationId": "relocate_backup", "parameters": [{"name": "backup_id", "in": "path", "description": "VM backup ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM backup relocate params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageRelocateParams"}}}, "required": true}, "responses": {"200": {"description": "VM backup relocated successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ImageRelocateParams"}}, "/image/{image_id}/node/{node_id}": {"delete": {"tags": ["image"], "summary": "Delete image on node", "operationId": "image_node_delete", "parameters": [{"name": "image_id", "in": "path", "description": "VM image ID", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host image successfully deleted on the node", "content": {}}}}}, "/node/check_dump": {"post": {"tags": ["import"], "summary": "Node check dump", "operationId": "node_check_dump", "requestBody": {"description": "Node check dump params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeCheckDumpParams"}}}, "required": true}, "responses": {"200": {"description": "Node dump check started successfully", "content": {}}}, "x-codegen-request-body-name": "NodeCheckDumpParams"}}, "/recipe/{recipe_id}/params": {"get": {"tags": ["recipe"], "operationId": "get_recipe_params", "parameters": [{"name": "recipe_id", "in": "path", "description": "Recipe ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Recipe params is successfully received", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object"}}}}}}}}, "/host/{host_id}/lxd/console": {"post": {"tags": ["host"], "operationId": "lxd_console", "summary": "Run lxd console backend", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Lxd console backend started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"socket": {"type": "string"}}}}}}}}}, "/host/{host_id}/password": {"post": {"tags": ["host"], "operationId": "change_host_password", "summary": "Change virtual machine password", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for changing the password", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostChangePasswordParams"}}}, "required": true}, "responses": {"200": {"description": "Host password change started successfully", "content": {}}}, "x-codegen-request-body-name": "HostChangePasswordParams"}}, "/cluster/{cluster_id}/local_storage": {"get": {"tags": ["cluster"], "operationId": "get_cluster_local_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Cluster local storage is successfully received", "content": {}}}}}, "/node/{node_id}/metrics": {"get": {"tags": ["node"], "operationId": "metrics", "parameters": [{"name": "node_id", "in": "path", "description": "Cluster node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node metrics are successfully received", "content": {}}}}}, "/platform/backup/schedule/{schedule_id}/run": {"post": {"tags": ["platform_backup"], "summary": "Platform backup schedule run", "operationId": "run_platform_backup_schedule", "parameters": [{"name": "schedule_id", "in": "path", "description": "Platform backup schedule ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Platform backup schedule started successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/host/{host_id}/backup": {"post": {"tags": ["backup"], "summary": "VM backup creation", "operationId": "create_backup", "parameters": [{"name": "host_id", "in": "path", "description": "Backed up VM ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM backup params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BackupParams"}}}, "required": true}, "responses": {"200": {"description": "VM backup created succesfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "relocate_task": {"type": "integer", "nullable": true}}}}}}}, "x-codegen-request-body-name": "BackupParams"}, "get": {"tags": ["backup"], "operationId": "backup_list_by_host", "parameters": [{"name": "host_id", "in": "path", "description": "Backed up VM ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "VM backup list have gotten successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BackupList"}}}}}, "x-codegen-request-body-name": "BackupList"}}, "/setting": {"get": {"tags": ["settings"], "operationId": "get_setting_list", "responses": {"200": {"description": "Settings list is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "summary": "Create VM setting", "operationId": "create_setting", "requestBody": {"description": "Setting params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SettingParams"}}}, "required": true}, "responses": {"200": {"description": "VM setting created successfully", "content": {}}}, "x-codegen-request-body-name": "SettingParams"}}, "/node_script": {"get": {"tags": ["node_script", "node"], "summary": "List of scripts", "operationId": "get_node_script_list", "responses": {"200": {"description": "List of scripts received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeScriptList"}}}}}}, "post": {"tags": ["node_script", "node"], "summary": "Scripting a cluster node", "operationId": "create_node_script", "requestBody": {"description": "Script parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeScriptParams"}}}, "required": true}, "responses": {"200": {"description": "The script was created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "NodeScriptCreateParams"}}, "/os/{os_id}/node/{node_id}/enable": {"post": {"tags": ["os"], "summary": "Enable os on node", "operationId": "os_node_enable", "parameters": [{"name": "os_id", "in": "path", "description": "OS ID", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OS successfully enabled on the node", "content": {}}}}}, "/host/{host_id}/metrics": {"get": {"tags": ["host"], "operationId": "get_host_metrics", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host metrics is successfully received", "content": {}}}}}, "/update_license": {"post": {"tags": ["vmmanager"], "summary": "Update license", "operationId": "update_license", "responses": {"200": {"description": "License updated successfully", "content": {}}}}}, "/node/{node_id}/storage/{storage_id}/check": {"post": {"tags": ["node"], "summary": "Check storage on node", "operationId": "check_node_storage", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage checked successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/image/{image_id}": {"get": {"tags": ["image"], "operationId": "get_image", "parameters": [{"name": "image_id", "in": "path", "description": "Image ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host image info is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "state": {"type": "string"}}}}}}}}, "post": {"tags": ["image"], "summary": "Editing a VM image", "operationId": "edit_image", "parameters": [{"name": "image_id", "in": "path", "description": "ID of the edited VM image", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Image editing options", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageChangeParams"}}}, "required": true}, "responses": {"200": {"description": "VM image edited successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ImageChangeParams"}, "delete": {"tags": ["image"], "summary": "Deleting a VM image", "operationId": "delete_image", "parameters": [{"name": "image_id", "in": "path", "description": "ID of the deleted VM image", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "VM image successfully deleted", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/node/{node_id}/network/iface": {"post": {"tags": ["node"], "summary": "Create a new interface on the node", "operationId": "iface_create", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node interface creation params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeIfaceCreateParams"}}}, "required": true}, "responses": {"200": {"description": "Node interface created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}, "x-codegen-request-body-name": "NodeIfaceCreateParams"}, "get": {"tags": ["node"], "summary": "Get a list of network interfaces on the node", "operationId": "iface_list", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "The list of network interfaces on the node received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeIfaceList"}}}}}}}, "/host/{host_id}/iso/mount": {"post": {"tags": ["host"], "summary": "Connecting ISO to VM", "operationId": "iso_mount", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host ISO mount params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostIsoMountParams"}}}, "required": true}, "responses": {"200": {"description": "ISO mount started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostIsoMountParams"}}, "/disk/{disk_id}": {"post": {"tags": ["disk"], "operationId": "resize_disk", "summary": "Resizing the disk", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Disk resize params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiskResizeParams"}}}, "required": true}, "responses": {"200": {"description": "Disk resize successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "DiskResizeParams"}}, "/ssh_key": {"get": {"tags": ["cluster"], "operationId": "get_ssh_key_list", "responses": {"200": {"description": "SSH key list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SshKeysList"}}}}}}, "post": {"tags": ["cluster"], "operationId": "create_ssh_key", "summary": "Adding ssh key", "requestBody": {"description": "Options for adding ssh key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SshKeyCreateParams"}}}, "required": true}, "responses": {"200": {"description": "SSH key added successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "SshKeyCreateParams"}}, "/last_version": {"get": {"tags": ["vmmanager"], "operationId": "get_last_version", "responses": {"200": {"description": "Last version is successfully received", "content": {}}}}}, "/os/{os_id}/node/{node_id}": {"delete": {"tags": ["os"], "summary": "Delete os from node", "operationId": "os_node_delete", "parameters": [{"name": "os_id", "in": "path", "description": "OS ID", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OS successfully deleted from the node", "content": {}}}}}, "/schedule/{schedule_id}": {"post": {"tags": ["schedule"], "summary": "Edit schedule", "operationId": "edit_schedule", "parameters": [{"name": "schedule_id", "in": "path", "description": "ID schedule", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Schedule params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScheduleEditParams"}}}}, "responses": {"200": {"description": "Schedule edited successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ScheduleEditParams"}, "delete": {"tags": ["schedule"], "summary": "Delete schedule", "operationId": "delete_schedule", "parameters": [{"name": "schedule_id", "in": "path", "description": "ID schedule", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Schedule deleted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}}}, "/account": {"get": {"tags": ["user"], "operationId": "get_account_lists", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountList"}}}}}}, "post": {"tags": ["user"], "operationId": "create_account", "summary": "Create an account", "requestBody": {"description": "Created account parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountParams"}}}, "required": true}, "responses": {"200": {"description": "Account created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "AccountParams"}}, "/account/sync": {"post": {"tags": ["user"], "operationId": "sync_account", "summary": "User syncing with auth service", "requestBody": {"description": "Account syncing parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountSync"}}}, "required": true}, "responses": {"200": {"description": "Account synced successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "AccountSync"}}, "/api": {"get": {"tags": ["vmmanager"], "operationId": "get_api", "responses": {"200": {"description": "API is successfully received", "content": {}}}}}, "/node/{node_id}/hosts": {"get": {"tags": ["node"], "summary": "Getting a list of VMs from the node", "operationId": "hosts_list", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "The list of VMs from the node was successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object"}}}}}}}}}}, "/host/{host_id}/reinstall": {"post": {"tags": ["host"], "operationId": "reinstall_host", "summary": "Reinstalling the virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host reinstall params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostReinstallParams"}}}, "required": true}, "responses": {"200": {"description": "Host reinstall started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "recipe_task_list": {"type": "array", "items": {"type": "integer"}}, "recipe_task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostReinstallParams"}}, "/hetzner_subnet/{hetzner_subnet_id}": {"delete": {"tags": ["network"], "summary": "Removing a subnet", "description": "Removing a hetzner subnet", "operationId": "delete_hetzner_subnet", "parameters": [{"name": "hetzner_subnet_id", "in": "path", "description": "The subnet to be removed", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Subnet deletion completed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}}, "/changelog/{lang}": {"get": {"tags": ["vmmanager"], "operationId": "get_changelog_lang", "parameters": [{"name": "lang", "in": "path", "description": "User language", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Changelog is successfully received", "content": {}}}}}, "/os/{os_id}/cluster/{cluster_id}": {"get": {"tags": ["os", "cluster"], "operationId": "get_os_cluster_list", "parameters": [{"name": "os_id", "in": "path", "description": "OS ID", "required": true, "schema": {"type": "integer"}}, {"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node internal list is successfully received", "content": {}}}}}, "/backup_location": {"get": {"tags": ["backup_location"], "summary": "Backup location list", "operationId": "get_backup_location_list", "responses": {"200": {"description": "Backup location list have gotten successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LocationList"}}}}}}, "post": {"tags": ["backup_location"], "summary": "Backup location create", "operationId": "create_backup_location", "requestBody": {"description": "Backup location params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LocationCreate"}}}, "required": true}, "responses": {"200": {"description": "Backup location created successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "LocationCreate"}}, "/host/{host_id}/stop": {"post": {"tags": ["host"], "operationId": "host_stop", "summary": "Stopping a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/node_script/{node_script_id}": {"get": {"tags": ["node_script", "node"], "summary": "Cluster node script", "operationId": "get_node_script", "parameters": [{"name": "node_script_id", "in": "path", "description": "ID of the edited script", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "The script for the cluster node was successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeScriptElem"}}}}}}, "post": {"tags": ["node_script", "node"], "summary": "Editing the script for the cluster node", "operationId": "edit_node_script", "parameters": [{"name": "node_script_id", "in": "path", "description": "ID of the edited script", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Script parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeScriptEditParams"}}}, "required": true}, "responses": {"200": {"description": "Node script edited successfully", "content": {}}}, "x-codegen-request-body-name": "NodeScriptEditParams"}, "delete": {"tags": ["node_script", "node"], "summary": "Removing the script for a cluster node", "operationId": "delete_node_script", "parameters": [{"name": "node_script_id", "in": "path", "description": "ID of the edited script", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "The script for the cluster node has been successfully deleted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/user/{user_id}/{action}": {"post": {"tags": ["user"], "operationId": "run_user_action", "summary": "Performing a custom operation", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}, {"name": "action", "in": "path", "description": "Action", "required": true, "schema": {"type": "string", "enum": ["suspend", "resume"]}}], "responses": {"200": {"description": "User action ended successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/ip/{ip_id}": {"post": {"tags": ["host"], "summary": "Editing VM ip-address", "operationId": "edit_ip", "parameters": [{"name": "ip_id", "in": "path", "description": "ID \u0412\u041c", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for editing ip-address", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditIpParams"}}}, "required": true}, "responses": {"200": {"description": "IP edit started successfully", "content": {}}}, "x-codegen-request-body-name": "EditIpParams"}, "delete": {"tags": ["host"], "summary": "Removing an IP address", "description": "Removing an IP address", "operationId": "delete_ip", "parameters": [{"name": "ip_id", "in": "path", "description": "ID \u0412\u041c", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP delete started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/backup/{backup_id}": {"post": {"tags": ["backup"], "summary": "VM backup change params", "operationId": "edit_backup", "parameters": [{"name": "backup_id", "in": "path", "description": "VM backup ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM backup changed params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BackupChangeParams"}}}, "required": true}, "responses": {"200": {"description": "VM backup params changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "BackupChangeParams"}, "delete": {"tags": ["backup"], "summary": "VM backup delete", "operationId": "delete_backup", "parameters": [{"name": "backup_id", "in": "path", "description": "VM backup ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "VM backup deleted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/settings/email_restore": {"post": {"tags": ["settings"], "description": "Reset email settings", "operationId": "edit_settings_email_restore", "responses": {"200": {"description": "Email restored successfully", "content": {}}}}}, "/migrate": {"get": {"tags": ["form"], "operationId": "get_migrate_group_form", "responses": {"200": {"description": "Group migrate form is successfully received", "content": {}}}}}, "/recipe/{recipe_id}": {"get": {"tags": ["recipe"], "operationId": "get_recipe", "parameters": [{"name": "recipe_id", "in": "path", "description": "Recipe ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Recipe info is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}}}}, "post": {"tags": ["recipe"], "operationId": "edit_recipe", "summary": "Editing the script", "parameters": [{"name": "recipe_id", "in": "path", "description": "ID of the edited script", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for script editing", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RecipeUpdateParams"}}}, "required": true}, "responses": {"200": {"description": "The script was edited successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "RecipeUpdateParams"}, "delete": {"tags": ["recipe"], "operationId": "delete_recipe", "parameters": [{"name": "recipe_id", "in": "path", "description": "Recipe ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Recipe deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/ip": {"get": {"tags": ["host"], "operationId": "get_ip_list", "responses": {"200": {"description": "List of IP addresses", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IpList"}}}}}}}, "/script_variable": {"get": {"tags": ["recipe"], "summary": "Script variables list", "operationId": "get_script_variable_list", "responses": {"200": {"description": "Script variables list successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScriptVariableList"}}}}}}, "post": {"tags": ["recipe"], "operationId": "create_script_variable", "summary": "Create script variable", "requestBody": {"description": "Script_variable params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScriptVariableParams"}}}, "required": true}, "responses": {"200": {"description": "Script_variable added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ScriptVariableParams"}}, "/public/auth": {"post": {"tags": ["auth"], "summary": "Auth by email and password", "operationId": "auth", "requestBody": {"description": "Authentification params", "content": {"application/json": {"schema": {"type": "object", "properties": {"email": {"type": "string", "format": "email"}, "password": {"type": "string"}}, "required": ["email", "password"], "additionalProperties": false}}}, "required": true}, "responses": {"200": {"description": "Authentificated successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"session": {"type": "string"}, "token": {"type": "string"}}}}}}}}}, "/time_zone": {"get": {"tags": ["form"], "operationId": "get_time_zone_list", "responses": {"200": {"description": "Time zone is successfully received", "content": {}}}}}, "/node/{node_id}/network/revert": {"post": {"tags": ["node"], "summary": "Revert node network settings", "operationId": "network_revert", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node network settings reverting params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node network settings reverted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/node/{node_id}/storage/{storage_id}/connect_params": {"get": {"tags": ["node"], "summary": "Get node to storage connection params", "operationId": "get_node_storage_connect_params", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node to storage connection params are successfully received", "content": {}}}}}, "/node/{node_id}/network/ifaces": {"post": {"tags": ["node"], "summary": "Update information about node interfaces", "operationId": "ifaces_update", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node interfaces modify params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeIfacesParams"}}}, "required": true}, "responses": {"200": {"description": "Node interfaces modified successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}, "x-codegen-request-body-name": "NodeIfacesParams"}}, "/image/{image_id}/node/{node_id}/disable": {"post": {"tags": ["image"], "summary": "Disable image on node", "operationId": "image_node_disable", "parameters": [{"name": "image_id", "in": "path", "description": "VM image ID", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host image successfully disabled on the node", "content": {}}}}}, "/ssh_address": {"get": {"tags": ["internal"], "operationId": "get_ssh_address", "responses": {"200": {"description": "SSH address is successfully received", "content": {}}}}}, "/reinvite": {"post": {"tags": ["user"], "summary": "User reinvite", "operationId": "reinvite_account", "requestBody": {"description": "User reinvite params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReinviteParams"}}}, "required": true}, "responses": {"200": {"description": "User reinvited successfully", "content": {}}}, "x-codegen-request-body-name": "ReinviteParams"}}, "/storage/local": {"get": {"tags": ["storage"], "operationId": "list_storage_local", "responses": {"200": {"description": "Local storage list is successfully received", "content": {}}}}}, "/cluster/{cluster_id}/internal_edit": {"post": {"tags": ["cluster"], "description": "Cluster internal edit", "operationId": "cluster_internal_edit", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Cluster internal edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterInternalEditParams"}}}, "required": true}, "responses": {"200": {"description": "Cluster edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ClusterInternalEditParams"}}, "/settings/ssh_key": {"get": {"tags": ["settings"], "operationId": "get_settings_ssh_key", "responses": {"200": {"description": "SSH key is successfully received", "content": {}}}}}, "/os/{os_id}/node/{node_id}/disable": {"post": {"tags": ["os"], "summary": "Disable os on node", "operationId": "os_node_disable", "parameters": [{"name": "os_id", "in": "path", "description": "OS ID", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OS successfully disabled on the node", "content": {}}}}}, "/host/vnc_ports": {"post": {"tags": ["host"], "summary": "Update VNC ports of VM", "operationId": "set_vnc_ports", "requestBody": {"description": "New VNC ports of VM", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostVNCPortsParams"}}}, "required": true}, "responses": {"200": {"description": "VM VNC ports changed", "content": {}}}, "x-codegen-request-body-name": "HostVNCPortsParams"}}, "/image/{image_id}/copy": {"post": {"tags": ["image"], "summary": "VM image copy", "operationId": "copy_image", "parameters": [{"name": "image_id", "in": "path", "description": "VM image ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM image copy params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageCopyParams"}}}, "required": true}, "responses": {"200": {"description": "VM image copied successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ImageCopyParams"}}, "/dc_network/{dc_network_id}/cluster": {"post": {"tags": ["network"], "description": "Connecting / disconnecting clusters to ip network", "operationId": "dc_network_edit_clusters", "parameters": [{"name": "dc_network_id", "in": "path", "description": "Ip network ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Cluster ids", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DcNetworkClustersParams"}}}, "required": true}, "responses": {"200": {"description": "Clusters connected successfully", "content": {}}}, "x-codegen-request-body-name": "DcNetworkClustersParams"}}, "/os/{os_id}": {"post": {"tags": ["os"], "summary": "OS editing", "description": "OS editing", "operationId": "edit_os", "parameters": [{"name": "os_id", "in": "path", "description": "Editing OS ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "OS edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OSEditParams"}}}, "required": true}, "responses": {"200": {"description": "OS edit started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "tasks": {"type": "array", "items": {"type": "integer"}}}}}}}}, "x-codegen-request-body-name": "OSEditParams"}, "delete": {"tags": ["os"], "summary": "Removing the OS", "description": "Removing the OS", "operationId": "delete_os", "parameters": [{"name": "os_id", "in": "path", "description": "OS ID to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OS successfully removed", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/ippool": {"get": {"tags": ["network"], "summary": "List of pools of ip addresses", "operationId": "get_ippool_list", "parameters": [{"name": "orderby", "in": "query", "description": "Pools sorting option", "schema": {"type": "string"}}], "responses": {"200": {"description": "List of pools of ip addresses received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IppoolList"}}}}}}}, "/host/{host_id}/iso/finish": {"post": {"tags": ["host"], "summary": "Disconnect ISO from VM with reinstallation", "operationId": "iso_finish", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host list is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}}, "/user/{user_id}/key": {"post": {"tags": ["user"], "operationId": "edit_user_key", "summary": "Edit user key", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "User key is successfully received", "content": {}}}}}, "/node/{node_id}/storage/{storage_id}/hdd_overselling": {"post": {"tags": ["node"], "summary": "Update storage HDD overselling on node", "operationId": "update_storage2node_hdd_overselling", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "HDD overselling parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HddOversellingParams"}}}, "required": true}, "responses": {"200": {"description": "Storage HDD overselling is successfully updated", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HddOverselling"}}}}}, "x-codegen-request-body-name": "HddOversellingParams"}}, "/backup/{backup_id}/move": {"post": {"tags": ["backup"], "summary": "VM backup move", "operationId": "move_backup", "parameters": [{"name": "backup_id", "in": "path", "description": "VM backup ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM backup move params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageMoveParams"}}}, "required": true}, "responses": {"200": {"description": "VM backup moved successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ImageMoveParams"}}, "/node/{node_id}/files": {"get": {"tags": ["node"], "summary": "Getting a list of files from a node", "operationId": "files_list", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "The list of files from the node was successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeFileList"}}}}}}, "post": {"tags": ["node"], "summary": "Node files edit", "description": "Node files edit", "operationId": "edit_node_files", "parameters": [{"name": "node_id", "in": "path", "description": "ID node", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node files edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeFilesEditParams"}}}, "required": true}, "responses": {"200": {"description": "Node files edited successfully", "content": {}}}, "x-codegen-request-body-name": "NodeFilesEditParams"}}, "/host/{host_id}/relocate": {"post": {"tags": ["host"], "description": "Host relocate", "operationId": "relocate_host", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host relocate params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostRelocateParams"}}}, "required": true}, "responses": {"200": {"description": "Host relocate started successfully", "content": {}}}, "x-codegen-request-body-name": "HostRelocateParams"}}, "/task/{task_id}/internal_edit": {"post": {"tags": ["task"], "summary": "Internal Task Edit", "operationId": "edit_task_internal", "parameters": [{"name": "task_id", "in": "path", "description": "Task id", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Edit task params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditTaskParams"}}}, "required": true}, "responses": {"200": {"description": "Task edited successfully", "content": {}}}, "x-codegen-request-body-name": "EditTaskParams"}}, "/metrics/sendreport": {"post": {"tags": ["schedule"], "summary": "Send metrics report", "operationId": "send_metrics_report", "responses": {"200": {"description": "Send metrics start successfully", "content": {}}}}}, "/node_check": {"get": {"tags": ["node"], "operationId": "node_check", "responses": {"200": {"description": "Check node info ended successfully", "content": {}}}}}, "/node/{node_id}/local_storage": {"get": {"tags": ["node"], "operationId": "local_storage", "parameters": [{"name": "node_id", "in": "path", "description": "Cluster node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node local storage is successfully received", "content": {}}}}}, "/node/{node_id}/history": {"get": {"tags": ["node"], "operationId": "history", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node history is successfully received", "content": {}}}}}, "/cluster/{cluster_id}/storage/{storage_id}/disable": {"post": {"tags": ["cluster"], "summary": "Disable storage to cluster", "operationId": "disable_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage disabled successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/platform/backup/{backup_id}": {"get": {"tags": ["platform_backup"], "summary": "Platform backup download", "operationId": "download_platform_backup", "parameters": [{"name": "backup_id", "in": "path", "description": "Platform backup ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Platform backup downloaded successfully"}}}}, "/node/{node_id}/cert": {"post": {"tags": ["node"], "summary": "Updating libvirt certificates on a host", "description": "Updating libvirt certificates on a host", "operationId": "update_certificates", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID for renewing certificates", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Libvirt cert update started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/vxlan": {"get": {"tags": ["vxlan"], "operationId": "get_vxlan_list", "responses": {"200": {"description": "List of vlans successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VxlanList"}}}}}}, "post": {"tags": ["vxlan"], "operationId": "create_vxlan", "summary": "Create vxlan", "requestBody": {"description": "vxlan params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VxlanParams"}}}, "required": true}, "responses": {"200": {"description": "Vxlan added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "VxlanParams"}}, "/node/{node_id}/network/unlock": {"post": {"tags": ["node"], "summary": "Unlock node network settings", "operationId": "network_unlock", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node network settings unlocking params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node network settings unlocked successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/ip/{ip_id}/ptr": {"post": {"tags": ["host"], "summary": "Editing VM domain", "operationId": "edit_ip_ptr", "parameters": [{"name": "ip_id", "in": "path", "description": "ID \u0412\u041c", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for editing VM domain", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditIpPtrParams"}}}, "required": true}, "responses": {"200": {"description": "IP domain edited successfully", "content": {}}}, "x-codegen-request-body-name": "EditIpPtrParams"}}, "/os/save": {"post": {"tags": ["os"], "summary": "Os save", "description": "Os save", "operationId": "os_save", "requestBody": {"description": "OS save params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OSSaveParams"}}}, "required": true}, "responses": {"200": {"description": "OS saved successfully", "content": {}}}, "x-codegen-request-body-name": "OSSaveParams"}}, "/host/{host_id}/start": {"post": {"tags": ["host"], "operationId": "host_start", "summary": "Running a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/storage/{storage_id}": {"get": {"tags": ["storage"], "summary": "Storage", "operationId": "get_storage", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage info is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Storage"}}}}}}, "post": {"tags": ["storage"], "summary": "Editing a storage", "operationId": "edit_storage", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Storage parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageEditParams"}}}, "required": true}, "responses": {"200": {"description": "Storage edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "StorageEditParams"}, "delete": {"tags": ["storage"], "summary": "Deleting a storage", "description": "Deleting a storage", "operationId": "delete_storage", "parameters": [{"name": "storage_id", "in": "path", "description": "The storage ID to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/random_name/{number}": {"get": {"tags": ["form"], "operationId": "generate_random_name", "parameters": [{"name": "number", "in": "path", "description": "Amount random names", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Random names are successfully received", "content": {}}}}}, "/invite": {"post": {"tags": ["user"], "summary": "User invitation", "operationId": "invite_account", "requestBody": {"description": "Invited user parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/InviteParams"}}}, "required": true}, "responses": {"200": {"description": "Invitation sent", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "InviteParams"}}, "/range/{range_id}": {"delete": {"tags": ["network"], "description": "Deleting a IP range", "operationId": "delete_iprange", "parameters": [{"name": "range_id", "in": "path", "description": "IP range ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP range deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/vxlan/{vxlan_id}/ip": {"get": {"tags": ["vxlan"], "operationId": "get_vxlan_ip_list", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of ips on vxlan successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VxlanIpList"}}}}}}}, "/host/{host_id}/image/create": {"post": {"tags": ["image"], "summary": "Creating a VM image", "operationId": "create_image", "parameters": [{"name": "host_id", "in": "path", "description": "VM ID from which the image is created", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters of the created VM image", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageParams"}}}, "required": true}, "responses": {"200": {"description": "VM image created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ImageParams"}}, "/node/{node_id}/relocate": {"post": {"tags": ["node"], "summary": "Relocate VM from node", "operationId": "relocate", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Relocate params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node relocate is successfully started", "content": {}}}, "x-codegen-request-body-name": "RelocateParams"}}, "/user_limits": {"get": {"tags": ["settings"], "operationId": "get_user_limits_list", "responses": {"200": {"description": "User limits are successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserLimits"}}}}}}}, "/cluster/{cluster_id}": {"get": {"tags": ["cluster"], "summary": "Cluster", "operationId": "get_cluster", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Cluster is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Cluster"}}}}}}, "post": {"tags": ["cluster"], "summary": "Editing a cluster", "operationId": "edit_cluster", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Cluster parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterEditParams"}}}, "required": true}, "responses": {"200": {"description": "Cluster edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdTasks"}}}}}, "x-codegen-request-body-name": "ClusterEditParams"}, "delete": {"tags": ["cluster"], "summary": "Deleting a cluster", "description": "Deleting a cluster", "operationId": "delete_cluster", "parameters": [{"name": "cluster_id", "in": "path", "description": "The cluster ID to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Cluster deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/vmupdate": {"post": {"tags": ["vmmanager"], "summary": "Start VM panel update", "operationId": "update_vm", "responses": {"200": {"description": "VM update started successfully", "content": {}}}}}, "/cluster/{cluster_id}/fix_frr": {"post": {"tags": ["cluster"], "operationId": "fix_frr", "summary": "Fixing frr errors on every node on cluster that has frr errors", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {}}}}}}}, "/node": {"get": {"tags": ["node"], "summary": "List of cluster nodes", "operationId": "get_node_list", "responses": {"200": {"description": "List of cluster nodes received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeList"}}}}}}, "post": {"tags": ["node"], "summary": "Creating a cluster node", "operationId": "create_node", "requestBody": {"description": "Parameters of the created cluster node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeParams"}}}, "required": true}, "responses": {"200": {"description": "Cluster node created successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdTaskStoragesTask"}}}}}, "x-codegen-request-body-name": "NodeParams"}}, "/node/{node_id}": {"get": {"tags": ["node"], "summary": "Cluster node content", "description": "Cluster node content", "operationId": "get_node", "parameters": [{"name": "node_id", "in": "path", "description": "Cluster node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node info is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "cluster": {"type": "integer"}, "state": {"type": "string"}, "ip_addr": {"type": "string"}}}}}}}}, "post": {"tags": ["node"], "summary": "Editing a cluster node", "operationId": "edit_node", "parameters": [{"name": "node_id", "in": "path", "description": "Editing node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for editing a node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeUpdateParams"}}}, "required": true}, "responses": {"200": {"description": "Node edited successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "NodeUpdateParams"}, "delete": {"tags": ["node"], "summary": "Removing a cluster node", "description": "Removing a cluster node", "operationId": "delete_node", "parameters": [{"name": "node_id", "in": "path", "description": "ID to delete a cluster node", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node delete started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/node_short": {"get": {"tags": ["node"], "summary": "Reduced list of cluster nodes", "operationId": "get_node_list_short", "responses": {"200": {"description": "Reduced list of cluster nodes received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeListShort"}}}}}}}, "/script_variable/{variable_id}/enable": {"post": {"tags": ["recipe"], "summary": "Enable script variable", "operationId": "script_variable_enable", "parameters": [{"name": "variable_id", "in": "path", "description": "Variable ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Script variable successfully enabled", "content": {}}}}}, "/node/import": {"post": {"tags": ["import"], "summary": "Node import", "operationId": "run_node_import", "requestBody": {"description": "Node import params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeImportParams"}}}, "required": true}, "responses": {"200": {"description": "Node import started successfully", "content": {}}}, "x-codegen-request-body-name": "NodeImportParams"}}, "/recipe": {"get": {"tags": ["recipe"], "summary": "Recipe list", "operationId": "get_recipe_list", "responses": {"200": {"description": "Recipe list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RecipeList"}}}}}}, "post": {"tags": ["recipe"], "operationId": "create_recipe", "summary": "Create recipe", "requestBody": {"description": "Recipe params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RecipeParams"}}}, "required": true}, "responses": {"200": {"description": "Recipe added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "RecipeParams"}}}, "components": {"schemas": {"SshKeysList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ssh_key": {"type": "string"}, "clusters": {"type": "array", "items": {"type": "integer"}}}}}}}, "AnyProperties": {"type": "object", "properties": {}}, "PlatformBackupScheduleCreate": {"type": "object", "properties": {"schedule_type": {"type": "string", "enum": ["daily", "weekly", "monthly", "cron"]}, "cron_expression": {"type": "string"}, "name": {"type": "string", "nullable": true}, "comment": {"type": "string"}, "storage_type": {"type": "string", "enum": ["local", "ssh", "ftp"]}, "connection_params": {"type": "object"}}, "required": ["name", "schedule_type", "storage_type", "cron_expression", "connection_params"]}, "IppoolCluster": {"type": "object", "properties": {"name": {"type": "string"}, "id": {"type": "integer"}, "enabled": {"type": "boolean"}, "interface": {"type": "integer"}}}, "ClusterInNodeList": {"title": "ClusterInNodeList", "type": "object", "properties": {"data_center": {"type": "string"}, "id": {"type": "integer"}, "name": {"type": "string"}, "time_zone": {"type": "string"}}}, "Cluster": {"oneOf": [{"$ref": "#/components/schemas/ClusterAdmin"}, {"$ref": "#/components/schemas/ClusterUser"}]}, "NodeIfaceList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/NodeIface"}}}}, "NodeIfaceCreateParams": {"type": "object", "properties": {"name": {"type": "string", "pattern": "^[a-zA-Z0-9-_]+($)", "minLength": 2, "maxLength": 15}, "type": {"type": "string", "enum": ["bond", "bridge"]}, "ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}, "vlan": {"type": "integer", "minimum": 1, "maximum": 4094, "nullable": true}, "slaves": {"type": "array", "items": {"type": "string", "maxLength": 255}, "nullable": true}, "take_slave_ip": {"type": "boolean", "nullable": true}, "mode": {"type": "string", "enum": ["active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"], "nullable": true}, "is_default": {"type": "boolean", "nullable": true}, "is_main_network": {"type": "boolean", "nullable": true}}, "required": ["name", "type"]}, "AccountParams": {"type": "object", "properties": {"email": {"type": "string", "format": "email", "maxLength": 255}, "full_name": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255}, "phone_number": {"type": "string", "maxLength": 255}, "role": {"type": "string"}}, "required": ["email", "password", "role"], "additionalProperties": false}, "ScriptVariableList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/ScriptVariableParamsGet"}}}}, "DatacenterEditParams": {"type": "object", "properties": {"bgp_community": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as": {"type": "integer", "minimum": 1, "nullable": true}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv4"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}, "bgp_community_v6": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as_v6": {"type": "integer", "minimum": 1, "nullable": true}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv6"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}}, "additionalProperties": false}, "StorageInCluster": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm"]}, "enabled": {"type": "boolean"}, "is_main": {"type": "boolean"}, "virt_pool": {"$ref": "#/components/schemas/VirtPoolParams"}}}, "HostBillOptionImageGib": {"type": "object", "properties": {"image_gib": {"type": "number"}}, "required": ["image_gib"], "additionalProperties": false}, "UserLimitsAdmin": {"type": "object", "properties": {"host_count": {"type": "integer"}, "image_count": {"type": "integer"}, "image_count_total": {"type": "integer"}, "cpu_number": {"type": "integer"}, "cpu_number_total": {"type": "integer"}, "ram_mib": {"type": "integer"}, "ram_mib_total": {"type": "integer"}, "hdd_mib": {"type": "integer"}, "hdd_mib_total": {"type": "integer"}, "ipv4_number": {"type": "integer"}, "ipv4_number_total": {"type": "integer"}, "vxlan_count_total": {"type": "integer"}}}, "ReinviteParams": {"type": "object", "properties": {"email": {"type": "string", "format": "email", "maxLength": 255}, "role": {"type": "string"}}, "required": ["email", "role"], "additionalProperties": false}, "IdTaskStoragesTask": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "storages_task": {"type": "integer"}}}, "NodeFilesEditParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"size": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["os", "image", "disk_file", "disk_lv", "disk_zfs"]}, "path": {"type": "string"}}}}}, "required": ["list"], "additionalProperties": false}, "IpList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Ip"}}, "size": {"type": "integer"}}}, "NodeChangeIpParams": {"title": "Change node IP", "required": ["ip", "ssh_port"], "type": "object", "properties": {"ip": {"type": "string", "maxLength": 255}, "ssh_port": {"type": "number", "maxLength": 9}}, "description": "Change node IP validation schema"}, "LastNotify": {"type": "integer"}, "HddOversellingParams": {"type": "object", "properties": {"value": {"type": "number", "minimum": 0.5, "maximum": 100}}, "required": ["value"], "additionalProperties": false}, "HostRestoreParams": {"required": ["backup"], "type": "object", "properties": {"backup": {"type": "number", "maxLength": 9}}}, "Storage": {"type": "object", "properties": {"name": {"type": "string"}, "comment": {"type": "string"}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm"]}, "storage_params": {"$ref": "#/components/schemas/StorageParamsAdditional"}, "ignore_checks": {"type": "boolean"}}}, "NodeScriptParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255}, "script": {"type": "string"}, "description": {"type": "string", "maxLength": 150}, "type": {"type": "string", "enum": ["shell", "ansible"]}, "priority": {"type": "integer", "maxLength": 9}, "autorun": {"type": "array", "items": {"type": "number", "maxLength": 9}}}, "required": ["name", "script", "description", "type", "priority"], "additionalProperties": false}, "RecipeList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Recipe"}}}}, "LocationSSHCreate": {"type": "object", "properties": {"ip": {"anyOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "port": {"type": "integer", "maxLength": 9}, "login": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255}, "path": {"type": "string", "maxLength": 255}}, "required": ["ip", "port", "login", "path"], "additionalProperties": false}, "EditIpParams": {"type": "object", "properties": {"values": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255, "format": "domain"}, "gateway": {"type": "string", "maxLength": 255}, "ip_addr": {"type": "string", "maxLength": 255}, "netmask": {"type": "string", "maxLength": 255}}}}, "required": ["values"], "additionalProperties": false}, "ClusterSettings": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255}}, "required": ["name"], "additionalProperties": false}, "ScheduleList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Schedule"}}}}, "Recipe": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "repository": {"type": "string"}, "updated_at": {"type": "string"}, "tags": {"type": "array", "items": {"type": "string"}}, "has_email": {"type": "boolean"}, "access": {"type": "string"}, "params_count": {"type": "integer"}}}, "HostRecipeListItem": {"type": "object", "properties": {"recipe": {"type": "number"}, "recipe_params": {"$ref": "#/components/schemas/HostRunRecipeParamsParams"}}}, "VxlanIpList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/VxlanIp"}}}}, "IppoolClusterParams": {"type": "object", "properties": {"clusters": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer", "maxLength": 9}, "interface": {"type": "integer", "maxLength": 2}}}}}, "required": ["clusters"], "additionalProperties": false}, "VxlanIp": {"type": "object", "properties": {"id": {"type": "integer"}, "ip_addr": {"type": "string"}, "gateway": {"type": "string", "nullable": true}, "ipnet": {"type": "string"}, "domain": {"type": "string", "maxLength": 255, "format": "domain"}, "state": {"type": "string", "enum": ["active", "crashed", "prepare to allocate", "deleting", "reserved", "free"]}, "comment": {"type": "string"}, "host": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}, "RepoList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Repo"}}}}, "HostRelocateParams": {"type": "object", "properties": {"node": {"type": "number", "maxLength": 9, "nullable": true}}, "additionalProperties": false}, "ClusterAdmin": {"type": "object", "properties": {"cpu_number": {"$ref": "#/components/schemas/TotalUsed"}, "host_count": {"type": "integer"}, "host_per_node_limit": {"type": "integer"}, "name": {"type": "string"}, "comment": {"type": "string"}, "ram_mib": {"$ref": "#/components/schemas/TotalUsed"}, "storage_mib": {"$ref": "#/components/schemas/TotalUsed"}, "time_zone": {"type": "string"}, "state": {"type": "string"}, "data_center": {"type": "string"}, "host_distribution_policy": {"type": "string", "enum": ["spread", "tight"]}, "node_count": {"type": "integer"}, "id": {"type": "integer"}, "overselling": {"maximum": 5, "minimum": 0.5, "type": "number"}, "backup_locations": {"type": "array", "items": {"$ref": "#/components/schemas/IdName"}}, "domain_template": {"type": "string"}, "datacenter_params": {"$ref": "#/components/schemas/DatacenterParams"}, "storages": {"$ref": "#/components/schemas/StorageInClusterList"}, "dns_servers": {"type": "array", "items": {"type": "string"}}, "dc_networks": {"type": "array", "items": {"type": "integer"}}, "node_network": {"type": "object", "properties": {"timeout": {"type": "integer"}, "gateway": {"type": "string"}}}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"]}, "vxlan_settings": {"type": "string", "nullable": true}, "vxlans": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}}, "HddOverselling": {"type": "object", "properties": {"hdd_overselling": {"type": "number"}}}, "ScheduleEditParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255, "nullable": true}, "comment": {"type": "string"}, "type": {"type": "string", "enum": ["daily", "weekly", "monthly"]}, "limit_count": {"type": "integer", "maxLength": 9, "nullable": true}, "limit_size_mib": {"type": "integer", "maxLength": 9, "nullable": true}, "start_time": {"type": "object", "properties": {"day": {"minimum": 1, "maximum": 31, "type": "integer", "nullable": true}, "week_day": {"minimum": 0, "maximum": 7, "type": "integer", "nullable": true}, "hour": {"minimum": 0, "maximum": 23, "type": "integer"}, "minute": {"minimum": 0, "maximum": 59, "type": "integer"}}, "required": ["hour", "minute"], "additionalProperties": false}, "backup_locations": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "clusters": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "nodes": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "hosts": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "presets": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "additionalProperties": false}, "PresetEditParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "virtualization_type": {"type": "string", "enum": ["kvm", "lxd"], "default": "kvm"}, "comment": {"type": "string", "nullable": true}, "ram_mib": {"type": "number", "maxLength": 9}, "hdd_mib": {"type": "number", "maxLength": 9}, "cpu_number": {"type": "number", "maxLength": 9}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"]}, "nesting": {"type": "boolean"}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000}, "io_read_mbitps": {"type": "integer", "minimum": -1}, "io_write_mbitps": {"type": "integer", "minimum": -1}, "io_read_iops": {"type": "integer", "minimum": -1}, "io_write_iops": {"type": "integer", "minimum": -1}, "net_in_mbitps": {"type": "integer", "minimum": 0}, "net_out_mbitps": {"type": "integer", "minimum": 0}, "net_weight": {"type": "integer", "minimum": 0, "maximum": 10}, "anti_spoofing": {"type": "boolean"}, "tcp_connections_in": {"type": "integer", "minimum": 0}, "tcp_connections_out": {"type": "integer", "minimum": 0}, "process_number": {"type": "integer", "minimum": -1}}, "additionalProperties": false}, "SshKeyCreateParams": {"type": "object", "properties": {"name": {"type": "string"}, "ssh_key": {"type": "string", "format": "sshkey"}, "clusters": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["name", "ssh_key"], "additionalProperties": false}, "UserLimits": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}}}, "ClusterVxlan": {"type": "object", "properties": {"account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string"}}}, "id": {"type": "integer"}, "name": {"type": "string"}, "tag": {"type": "integer"}, "hosts": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}}, "ranges": {"type": "array", "items": {"type": "string"}}}}, "HostChangeParams": {"type": "object", "properties": {"values": {"type": "object", "properties": {"password": {"type": "string", "minLength": 6, "maxLength": 255}, "vnc_password": {"type": "string", "minLength": 6, "maxLength": 255}, "state": {"type": "string", "maxLength": 255}, "state_updated_date": {"type": "string", "maxLength": 255}, "property": {"type": "object"}, "start_date": {"type": "number", "maxLength": 10}}}, "comment": {"type": "string"}, "name": {"type": "string", "pattern": "^[a-zA-Z0-9]{1}[a-zA-Z0-9-_.]+($)", "maxLength": 49}, "ha_restore_on_fail": {"type": "boolean"}, "ha_restore_priority": {"type": "integer", "minimum": 1, "maximum": 999}, "expand_part": {"type": "string", "nullable": true}}, "additionalProperties": false}, "VxlanEditParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "comment": {"type": "string", "maxLength": 200}, "account": {"type": "integer"}, "clusters": {"type": "array", "items": {"type": "integer"}}}, "additionalProperties": false}, "LicenseData": {"type": "object", "properties": {"host_limit": {"type": "integer"}, "host_limit_exceeded": {"type": "boolean"}, "license": {"type": "object", "properties": {"license_ttl": {"type": "integer"}, "signature_ttl": {"type": "integer"}, "valid": {"type": "boolean"}, "user_id": {"type": "string"}}}, "node_limit": {"type": "integer"}, "node_limit_exceeded": {"type": "boolean"}, "last_notify": {"type": "integer"}}}, "NodeIfacesParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"$ref": "#/components/schemas/NodeIfacesParamsItem"}}}, "required": ["list"]}, "VxlanParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "comment": {"type": "string", "maxLength": 200}, "account": {"type": "integer"}, "ipnets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string", "format": "iprange"}, "gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}}}}, "clusters": {"type": "array", "items": {"type": "integer"}}}, "required": ["name", "ipnets", "clusters"], "additionalProperties": false}, "PresetList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Preset"}}}}, "HostImageList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/HostImage"}}}}, "NodeForMigrate": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ram_mib": {"$ref": "#/components/schemas/ResourceUnused"}, "storage": {"$ref": "#/components/schemas/StorageForMigrate"}, "storages": {"type": "array", "items": {"$ref": "#/components/schemas/StorageForMigrate"}}, "priority": {"type": "number"}, "state": {"type": "string"}, "suitable": {"type": "boolean"}, "host_creation_blocked": {"type": "boolean"}, "host_count": {"type": "integer"}, "host_limit": {"type": "integer"}}}, "IppoolRangeParams": {"type": "object", "properties": {"name": {"type": "string", "format": "iprange"}}, "required": ["name"], "additionalProperties": false}, "BackupChangeParams": {"type": "object", "properties": {"name": {"maxLength": 255, "type": "string"}, "comment": {"type": "string"}}}, "AccountList": {"type": "object", "properties": {"list": {"type": "array", "items": {"$ref": "#/components/schemas/Account"}}}}, "NodeListShort": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "cluster": {"type": "object", "properties": {"virtualization_type": {"type": "string"}}}, "ip": {"type": "string"}, "libvirt_error": {"type": "string"}}}}}}, "HostVNCPortsParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255}, "vnc_port": {"type": "integer"}}, "required": ["domain", "vnc_port"], "additionalProperties": false}}}, "required": ["list"], "additionalProperties": false}, "ClusterSshKey": {"type": "object", "properties": {"ssh_keys": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["ssh_keys"], "additionalProperties": false}, "RepositoryEditParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}}, "required": ["name"], "additionalProperties": false}, "SetTimeoutParams": {"type": "object", "properties": {"timeout_seconds": {"type": "number", "minimum": 1}}, "required": ["timeout_seconds"], "additionalProperties": false}, "NodeParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255, "default": "node1"}, "cluster": {"type": "number", "maxLength": 9}, "ip": {"type": "string", "format": "ipv4"}, "ipv6": {"type": "string", "format": "ipv6", "nullable": true}, "ssh_port": {"type": "number", "maxLength": 9}, "host_max": {"type": "number", "maxLength": 9, "nullable": true}, "password": {"type": "string", "maxLength": 255, "default": "securenodepassword", "nullable": true}, "host_storage": {"type": "object", "properties": {"path": {"type": "string", "maxLength": 255}, "tags": {"type": "array", "items": {"type": "number", "maxLength": 9}}}}, "image_storage_path": {"type": "string", "maxLength": 255}, "comment": {"type": "string"}, "overselling": {"type": "number", "minimum": 0.5, "maximum": 5}, "lvm_vg_rename": {"type": "boolean"}, "hetzner_ip": {"type": "array", "items": {"type": "string", "format": "ipnet"}}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"node_interface": {"type": "string"}, "cluster_interface": {"type": "integer", "minimum": 0, "maximum": 1}}}}, "host_limit": {"type": "integer", "minimum": -1, "nullable": true}, "network_autosetup_disabled": {"type": "boolean", "default": false}}, "required": ["name", "cluster", "ip", "ssh_port", "password"], "additionalProperties": false}, "VirtPoolParams": {"type": "object", "properties": {"vm_storage_path": {"type": "string", "maxLength": 255}, "volume_group": {"type": "string", "maxLength": 255}, "zfs_pool_name": {"type": "string", "maxLength": 255}, "rbd_pool_name": {"type": "string", "maxLength": 255}, "rbd_user": {"type": "string", "maxLength": 255}, "placement_groups": {"type": "integer", "nullable": true}, "network_disk_path": {"type": "string", "maxLength": 255}}}, "StorageNodeChangeStateParams": {"type": "object", "properties": {"state": {"type": "string", "enum": ["creating", "active", "unavailable", "crashed"]}}, "required": ["state"], "additionalProperties": false}, "Host": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ip4": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string"}}}}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"host_interface": {"type": "string"}, "mac": {"type": "string"}, "node_interface": {"type": "integer"}}}}, "node": {"type": "object", "properties": {}}, "cluster": {"type": "object", "properties": {}}, "state": {"type": "string"}, "account": {"type": "integer"}, "comment": {"type": "string"}, "disk": {"type": "object", "properties": {"id": {"type": "integer"}, "disk_mib": {"type": "integer"}, "disk_mib_new": {"type": "integer"}}}, "cpu_number": {"type": "integer"}, "cpu_number_new": {"type": "integer"}, "ram_mib": {"type": "integer"}, "ram_mib_new": {"type": "integer"}, "net_bandwidth_mbitps": {"type": "integer"}, "net_bandwidth_mbitps_changed": {"type": "boolean"}, "ip_automation": {"type": "string"}, "tags": {"type": "array", "items": {"type": "string"}}, "os_name": {"type": "string"}, "os_group": {"type": "string"}, "uptime": {"type": "integer"}, "rescue_mode": {"type": "boolean"}, "iso_mounted": {"type": "boolean"}, "cpu_mode": {"type": "string"}, "nesting": {"type": "boolean"}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer"}, "io_weight": {"type": "integer"}, "io_read_mbitps": {"type": "integer"}, "io_write_mbitps": {"type": "integer"}, "io_read_iops": {"type": "integer"}, "io_write_iops": {"type": "integer"}, "net_in_mbitps": {"type": "integer"}, "net_out_mbitps": {"type": "integer"}, "net_weight": {"type": "integer"}, "anti_spoofing": {"type": "boolean"}, "tcp_connections_in": {"type": "integer"}, "tcp_connections_out": {"type": "integer"}, "process_number": {"type": "integer"}, "vxlan": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "tag": {"type": "integer"}}}}}, "Task": {"type": "object", "properties": {"id": {"type": "integer"}, "consul_id": {"type": "integer"}, "defer_reason": {"type": "string"}, "name": {"type": "string"}, "status": {"type": "string"}}}, "StorageInClusterList": {"type": "array", "items": {"$ref": "#/components/schemas/StorageInCluster"}}, "NodeFileList": {"title": "NodeFiles", "type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/NodeFile"}}, "size": {"type": "integer"}}}, "PlatformBackupScheduleEdit": {"type": "object", "properties": {"schedule_type": {"type": "string", "enum": ["daily", "weekly", "monthly", "cron"]}, "cron_expression": {"type": "string"}, "name": {"type": "string", "nullable": true}, "enabled": {"type": "boolean"}, "comment": {"type": "string"}, "storage_type": {"type": "string", "enum": ["local", "ssh", "ftp"]}, "connection_params": {"type": "object"}}}, "Vxlan": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string", "maxLength": 255}, "comment": {"type": "string", "maxLength": 255}, "account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string", "format": "email"}}}, "tag": {"type": "integer", "nullable": true}, "host_count": {"type": "integer"}, "clusters": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string", "maxLength": 255}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"]}, "vxlan_settings": {"type": "string", "nullable": true}, "vxlan_host_count": {"type": "integer"}}}}, "ipnets": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "gateway": {"type": "string"}, "vxlan_host_count": {"type": "integer"}}}}, "ippool": {"type": "integer"}}}, "TaskList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Task"}}}}, "NodeFile": {"type": "object", "properties": {"entity_id": {"type": "integer"}, "name": {"type": "string"}, "node": {"type": "integer"}, "path": {"type": "string"}, "size_mib": {"type": "integer"}, "type": {"type": "string"}}}, "LocationEdit": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "comment": {"type": "string"}, "quota_mib": {"type": "integer", "nullable": true}, "connection_params": {"type": "object"}, "clusters": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "schedules": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "skip_connection_check": {"type": "boolean"}}, "additionalProperties": false}, "NodeRunScriptParams": {"type": "object", "properties": {"script": {"type": "integer", "maxLength": 9}}, "required": ["script"], "additionalProperties": false}, "Id": {"type": "object", "properties": {"id": {"type": "integer"}}}, "StorageList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "comment": {"type": "string"}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm"]}, "storage_params": {"$ref": "#/components/schemas/StorageParamsAdditional"}, "is_network": {"type": "boolean"}, "clusters": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}, "$ref": "#/components/schemas/Backup"}}}}, "LocationInList": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string", "maxLength": 255}, "comment": {"type": "string"}, "state": {"type": "string", "enum": ["active", "unavailable"]}, "quota_mib": {"type": "integer", "nullable": true}, "type": {"type": "string", "enum": ["ssh"]}, "connection_params": {"type": "object"}, "clusters": {"type": "array", "items": {"$ref": "#/components/schemas/IdName"}}}}, "HostReinstallParams": {"type": "object", "properties": {"os": {"type": "number", "maxLength": 9}, "image": {"type": "number", "maxLength": 9}, "recipe_list": {"type": "array", "items": {"$ref": "#/components/schemas/HostRecipeListItem"}}, "recipe": {"type": "number", "nullable": true}, "recipe_params": {"$ref": "#/components/schemas/HostRunRecipeParamsParams"}, "password": {"type": "string", "minLength": 6, "maxLength": 255}}, "additionalProperties": false}, "NodeScriptList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/NodeScriptElem"}}}}, "AddIpParams": {"type": "object", "properties": {"ip_addr": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "ip_pool": {"type": "integer", "maxLength": 9}, "ip_network": {"type": "integer", "maxLength": 9}, "without_allocation": {"type": "boolean"}}, "oneOf": [{"required": ["name", "ip_pool", "ip_network"], "type": "object"}, {"required": ["name", "ip_pool", "without_allocation"], "type": "object"}], "additionalProperties": false}, "ipv6_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "ipv6_enabled": {"type": "boolean"}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "ipv4_number": {"type": "number", "maxLength": 9}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"cluster_interface": {"type": "integer", "minimum": 0, "maximum": 1}, "host_interface": {"type": "integer", "nullable": true}, "ipv4_number": {"type": "number", "maxLength": 9}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}}, "required": ["cluster_interface", "ipv4_number"]}}, "vxlan": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "ipv4_number": {"type": "integer"}}, "required": ["id", "ipv4_number"]}}}, "additionalProperties": false}, "StorageAttachParams": {"type": "object", "properties": {"virt_pool": {"$ref": "#/components/schemas/VirtPoolParams"}, "is_main": {"type": "boolean"}, "hdd_overselling": {"type": "number", "minimum": 0.5, "maximum": 100}, "ignore_checks": {"type": "boolean"}}, "required": ["virt_pool"], "additionalProperties": false}, "DatacenterCreateParams": {"type": "object", "properties": {"gateway": {"type": "string", "format": "ipv4", "default": "10.0.0.1"}, "mac": {"type": "string", "format": "mac", "default": "02:00:00:00:00:01"}, "bgp_community": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as": {"type": "integer", "minimum": 1}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv4"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}, "bgp_community_v6": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as_v6": {"type": "integer", "minimum": 1}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv6"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}}, "anyOf": [{"required": ["bgp_as", "bgp_sessions"], "type": "object"}, {"required": ["bgp_as_v6", "bgp_sessions_v6"], "type": "object"}], "additionalProperties": false}, "ImageChangeStateParams": {"type": "object", "properties": {"state": {"type": "string", "maxLength": 255}}, "additionalProperties": false}, "HostParams": {"type": "object", "properties": {"name": {"type": "string", "pattern": "^[a-zA-Z0-9]{1}[a-zA-Z0-9-_.]+($)", "maxLength": 49}, "cluster": {"type": "integer", "maxLength": 9}, "node": {"type": "integer", "maxLength": 9}, "storage": {"type": "integer", "maxLength": 9}, "account": {"type": "integer", "maxLength": 9}, "domain": {"type": "string", "maxLength": 255, "format": "domain"}, "preset": {"type": "integer", "maxLength": 9}, "os": {"type": "integer", "maxLength": 9}, "image": {"type": "integer", "maxLength": 9}, "expand_part": {"type": "string", "nullable": true}, "recipe_list": {"type": "array", "items": {"$ref": "#/components/schemas/HostRecipeListItem"}}, "recipe": {"type": "integer", "nullable": true}, "recipe_params": {"$ref": "#/components/schemas/HostRunRecipeParamsParams"}, "password": {"type": "string", "minLength": 6, "maxLength": 255}, "ram_mib": {"type": "number", "maxLength": 9}, "hdd_mib": {"type": "number", "maxLength": 9}, "cpu_number": {"type": "number", "maxLength": 9}, "net_bandwidth_mbitps": {"type": "number", "maxLength": 9, "nullable": true}, "ip_addr": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "ip_pool": {"type": "integer", "maxLength": 9}, "ip_network": {"type": "integer", "maxLength": 9}}, "required": ["name", "ip_pool", "ip_network"], "additionalProperties": false}, "ipv6_enabled": {"type": "boolean"}, "ipv6_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "ipv4_number": {"type": "number", "maxLength": 9}, "comment": {"type": "string"}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"cluster_interface": {"type": "integer", "minimum": 0, "maximum": 1}, "ipv4_number": {"type": "number", "maxLength": 9}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}}, "required": ["cluster_interface", "ipv4_number"]}}, "custom_interfaces": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "mac": {"type": "string", "format": "mac", "nullable": true}, "bridge": {"type": "string", "nullable": true}, "ip_count": {"type": "integer", "maxLength": 9}, "ippool": {"type": "integer", "maxLength": 9}}, "required": ["ippool", "ip_count"]}}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"], "nullable": true}, "nesting": {"type": "boolean", "nullable": true}, "cpu_custom_model": {"type": "string", "nullable": true}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000, "nullable": true}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000, "nullable": true}, "io_read_mbitps": {"type": "integer", "minimum": -1, "nullable": true}, "io_write_mbitps": {"type": "integer", "minimum": -1, "nullable": true}, "io_read_iops": {"type": "integer", "minimum": -1, "nullable": true}, "io_write_iops": {"type": "integer", "minimum": -1, "nullable": true}, "net_in_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_out_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_weight": {"type": "integer", "minimum": 0, "nullable": true}, "anti_spoofing": {"type": "boolean", "nullable": true}, "tcp_connections_in": {"type": "integer", "minimum": 0, "nullable": true}, "tcp_connections_out": {"type": "integer", "minimum": 0, "nullable": true}, "process_number": {"type": "integer", "minimum": -1, "nullable": true}, "vxlan": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "ipv4_number": {"type": "integer"}}, "required": ["id", "ipv4_number"]}}}, "required": ["name", "password"], "additionalProperties": false}, "LocationInBackup": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string"}}}, "NodeList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Node"}}}}, "OS": {"type": "object", "properties": {"name": {"type": "string"}, "id": {"type": "integer"}, "clusters": {"type": "array", "items": {"$ref": "#/components/schemas/ClusterInOS"}}, "repository": {"type": "string"}, "updated_at": {"type": "string"}, "tags": {"type": "array", "items": {"type": "string"}}, "state": {"type": "string"}, "adminonly": {"type": "boolean"}, "nodes": {"type": "array", "items": {"$ref": "#/components/schemas/NodeInImage"}}, "os_group": {"type": "string"}, "kms_supported": {"type": "boolean"}, "kms_ip": {"type": "string"}, "kms_port": {"type": "string"}, "is_lxd_image": {"type": "boolean"}}}, "HostUptimesParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255}, "uptime": {"type": "number", "maxLength": 10}}, "required": ["domain", "uptime"], "additionalProperties": false}}}, "required": ["list"], "additionalProperties": false}, "NodeIface": {"type": "object", "properties": {"name": {"type": "string"}, "ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}, "type": {"type": "string", "enum": ["eth", "bond", "bridge"]}, "state": {"type": "string"}, "used": {"type": "boolean"}, "host_count": {"type": "integer"}, "vlan": {"type": "integer", "nullable": true}, "is_default": {"type": "boolean", "nullable": true}, "is_main_network": {"type": "boolean", "nullable": true}, "slaves": {"type": "array", "items": {"type": "string"}}, "mode": {"type": "string", "enum": ["active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"], "nullable": true}, "old_values": {"type": "object", "properties": {"name": {"type": "string"}, "ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}, "type": {"type": "string", "enum": ["physical", "bond", "bridge"]}, "state": {"type": "string", "enum": ["enabled", "disabled", "new", "changed", "deleted", "unknown"]}, "used": {"type": "boolean"}, "host_count": {"type": "integer"}, "vlan": {"type": "integer", "nullable": true}, "is_default": {"type": "boolean", "nullable": true}, "is_main_network": {"type": "boolean", "nullable": true}, "slaves": {"type": "array", "items": {"type": "string"}}, "mode": {"type": "string", "enum": ["active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"], "nullable": true}}}}}, "NodeAddProblemParams": {"type": "object", "properties": {"problems": {"type": "array", "minItems": 1, "items": {"type": "string"}}}, "required": ["problems"], "additionalProperties": false}, "VxlanList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Vxlan"}}}}, "Deleted": {"type": "object", "properties": {"deleted": {"type": "array", "items": {"$ref": "#/components/schemas/Id"}}}}, "License": {"type": "object", "properties": {"signature": {"type": "string"}, "content": {"type": "string"}}, "required": ["signature", "content"], "additionalProperties": false}, "HostIfaceCreateParams": {"type": "object", "properties": {"name": {"type": "string"}, "mac": {"type": "string", "format": "mac", "nullable": true}, "bridge": {"type": "string", "nullable": true}, "is_main_network": {"type": "boolean", "nullable": true}, "ippool": {"type": "integer"}, "ip_count": {"type": "integer"}}}, "NodeIfaceEditParams": {"type": "object", "properties": {"ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}, "vlan": {"type": "integer", "minimum": 1, "maximum": 4094, "nullable": true}, "slaves": {"type": "array", "items": {"type": "string", "maxLength": 255}, "nullable": true}, "take_slave_ip": {"type": "boolean", "nullable": true}, "mode": {"type": "string", "enum": ["active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"], "nullable": true}, "is_default": {"type": "boolean", "nullable": true}, "is_main_network": {"type": "boolean", "nullable": true}}}, "ClusterList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Cluster"}}}}, "HostIsoMountParams": {"type": "object", "properties": {"url": {"type": "string", "format": "uri", "maxLength": 255}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}}, "required": ["url"], "additionalProperties": false}, "IfaceIpParams": {"type": "object", "properties": {"v4": {"type": "string", "nullable": true}, "v6": {"type": "string", "nullable": true}}}, "SettingParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "value": {"type": "string"}}, "required": ["name", "value"], "additionalProperties": false}, "HostRescueModeParams": {"type": "object", "properties": {"rescue_mode": {"type": "boolean"}}, "required": ["rescue_mode"], "additionalProperties": false}, "IppoolClusterList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/IppoolCluster"}}}}, "ImageChangeParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "account": {"type": "number", "maxLength": 9}, "comment": {"type": "string"}, "for_all": {"type": "boolean"}}, "additionalProperties": false}, "ClusterIppoolParams": {"type": "object", "properties": {"interfaces": {"type": "array", "items": {"type": "object", "properties": {"interface": {"type": "integer", "maxLength": 2}, "ippool": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["interface", "ippool"]}}}, "required": ["interfaces"], "additionalProperties": false}, "IpAutomationType": {"required": ["ip_automation_type"], "type": "object", "properties": {"ip_automation_type": {"type": "string", "enum": ["none", "redhat_based", "debian_based", "freebsd_based"]}}}, "AccountSync": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "additionalProperties": true, "required": ["id", "email", "roles", "state"], "properties": {"id": {"type": "integer"}, "email": {"type": "string"}, "roles": {"description": "User roles array", "type": "array", "items": {"type": "string", "example": "@user"}}, "state": {"type": "string", "description": "User state", "example": "active"}, "auth_source": {"type": "string", "description": "The source for authentication", "example": "local"}}}}, "delete": {"type": "array", "items": {"type": "integer"}}}}, "StorageForMigrate": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm"]}, "available_mib": {"type": "integer"}}}, "SettingDomainParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255}}, "required": ["name"], "additionalProperties": false}, "HostRunRecipeParamsParams": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "value": {"type": "string"}}}}, "ClusterDcNetworksParams": {"type": "object", "properties": {"dc_networks": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["dc_networks"], "additionalProperties": false}, "ClusterInOS": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "updated_at": {"type": "string"}}}, "ScriptVariableParamsGet": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "value": {"type": "string", "maxLength": 500}, "comment": {"type": "string", "maxLength": 200}, "hidden": {"type": "boolean"}, "enabled": {"type": "boolean"}, "builtin": {"type": "boolean"}, "account": {"type": "integer"}, "id": {"type": "integer"}, "scope": {"type": "string", "enum": ["global", "local"], "default": "local"}}, "required": ["name"], "additionalProperties": false}, "HostMigrateParams": {"type": "object", "properties": {"plain": {"type": "boolean", "default": true}, "node": {"type": "number", "maxLength": 9}}, "required": ["node"], "additionalProperties": false}, "ClusterVxlanNodeList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/ClusterVxlanNode"}}}}, "IpWithState": {"type": "object", "properties": {"id": {"type": "integer"}, "ip_addr": {"type": "string"}, "state": {"type": "string"}}}, "AddHetznerIpParams": {"type": "object", "properties": {"hetzner_ip": {"type": "array", "items": {"type": "string", "format": "ipnet"}}}}, "HostList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Host"}}}}, "DcNetworkClustersParams": {"type": "object", "properties": {"clusters": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["clusters"], "additionalProperties": false}, "NodeInImage": {"title": "NodeInImageList", "type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ip_addr": {"type": "string"}, "ssh_port": {"type": "integer"}}}, "VncSettingsParams": {"type": "object", "properties": {"password": {"type": "string", "maxLength": 255}}, "required": ["password"], "additionalProperties": false}, "StorageChangeStateParams": {"type": "object", "properties": {"state": {"type": "string", "enum": ["creating", "active", "unavailable", "crashed"]}}, "required": ["state"], "additionalProperties": false}, "Repo": {"type": "object", "properties": {"name": {"type": "string"}, "url": {"type": "string"}, "id": {"type": "integer"}, "state": {"type": "string"}, "type": {"type": "string"}}}, "TotalUsed": {"type": "object", "properties": {"total": {"type": "integer"}, "used": {"type": "integer"}}}, "ScheduleParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255, "nullable": true}, "comment": {"type": "string"}, "type": {"type": "string", "enum": ["daily", "weekly", "monthly"]}, "limit_count": {"type": "integer", "maxLength": 9, "nullable": true}, "limit_size_mib": {"type": "integer", "maxLength": 9, "nullable": true}, "start_time": {"type": "object", "properties": {"day": {"minimum": 1, "maximum": 31, "type": "integer", "nullable": true}, "week_day": {"minimum": 0, "maximum": 7, "type": "integer", "nullable": true}, "hour": {"minimum": 0, "maximum": 23, "type": "integer"}, "minute": {"minimum": 0, "maximum": 59, "type": "integer"}}, "required": ["hour", "minute"], "additionalProperties": false}, "backup_locations": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "clusters": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "nodes": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "hosts": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "presets": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["type", "start_time"], "additionalProperties": false}, "LocationCreate": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "comment": {"type": "string"}, "quota_mib": {"type": "integer", "nullable": true}, "type": {"type": "string", "enum": ["local", "ssh"]}, "connection_params": {"type": "object"}, "clusters": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "schedules": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "skip_connection_check": {"type": "boolean"}}, "required": ["name", "quota_mib", "type", "connection_params"], "additionalProperties": false}, "ClusterUser": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "host_count": {"type": "integer"}, "virtualization_type": {"type": "string", "enum": ["dummy", "kvm", "lxd"]}, "datacenter_type": {"type": "string", "enum": ["common", "hetzner", "ip_fabric"]}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"]}, "vxlan_settings": {"type": "string", "nullable": true}, "vxlans": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}}, "NodeUpdateParams": {"type": "object", "properties": {"host_creation_blocked": {"type": "boolean"}, "open_vswitch": {"type": "boolean"}, "comment": {"type": "string"}, "name": {"type": "string", "minLength": 2, "maxLength": 255}, "overselling": {"type": "number", "minimum": 0.5, "maximum": 5}, "ipv6": {"type": "string", "format": "ipv6", "nullable": true}, "host_limit": {"type": "integer", "minimum": -1}}}, "Preset": {"type": "object", "properties": {"id": {"type": "integer"}, "virtualization_type": {"type": "string", "enum": ["kvm", "lxd"], "default": "kvm"}, "name": {"type": "string", "minLength": 1, "maxLength": 255}, "comment": {"type": "string", "nullable": true}, "ram_mib": {"type": "number", "maxLength": 9}, "hdd_mib": {"type": "number", "maxLength": 9}, "cpu_number": {"type": "number", "maxLength": 9}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"]}, "nesting": {"type": "boolean"}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000}, "io_read_mbitps": {"type": "integer", "minimum": -1}, "io_write_mbitps": {"type": "integer", "minimum": -1}, "io_read_iops": {"type": "integer", "minimum": -1}, "io_write_iops": {"type": "integer", "minimum": -1}, "net_in_mbitps": {"type": "integer", "minimum": 0}, "net_out_mbitps": {"type": "integer", "minimum": 0}, "net_weight": {"type": "integer", "minimum": 0, "maximum": 10}, "anti_spoofing": {"type": "boolean"}, "tcp_connections_in": {"type": "integer", "minimum": 0}, "tcp_connections_out": {"type": "integer", "minimum": 0}, "process_number": {"type": "integer", "minimum": -1}}}, "ClusterVxlanList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/ClusterVxlan"}}}}, "DatacenterParams": {"type": "object", "properties": {"gateway": {"type": "string"}, "mac": {"type": "string"}, "bgp_community": {"type": "string"}, "bgp_as": {"type": "integer"}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string"}, "bgp_as": {"type": "integer"}, "comment": {"type": "string"}}}}, "bgp_community_v6": {"type": "string"}, "bgp_as_v6": {"type": "integer"}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string"}, "bgp_as": {"type": "integer"}, "comment": {"type": "string"}}}}}}, "HetznerNodeIpList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"host": {"$ref": "#/components/schemas/IdName"}, "ip": {"$ref": "#/components/schemas/IpWithState"}, "subnet": {"$ref": "#/components/schemas/SubnetWithUsedIp"}}}}, "size": {"type": "integer"}}}, "ScriptVariableParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "value": {"type": "string", "maxLength": 500}, "comment": {"type": "string", "maxLength": 200}, "hidden": {"type": "boolean"}, "enabled": {"type": "boolean"}, "builtin": {"type": "boolean"}, "account": {"type": "integer"}, "id": {"type": "integer"}, "scope": {"type": "string", "enum": ["global", "local"], "default": "local"}}, "required": ["name", "value"], "additionalProperties": false}, "ImageRelocateParams": {"type": "object", "properties": {"destination": {"type": "integer", "maxLength": 9, "nullable": true}}}, "HostIface": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "bridge": {"type": "string", "nullable": true}, "ip": {"type": "array", "items": {"type": "string"}}, "mac": {"type": "string"}}}, "IppoolList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Ippool"}}}}, "VxlanSettingsParams": {"type": "object", "properties": {"bgp_community": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as": {"type": "integer", "minimum": 1}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv4"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}, "bgp_community_v6": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as_v6": {"type": "integer", "minimum": 1}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv6"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}}, "anyOf": [{"required": ["bgp_as", "bgp_sessions"], "type": "object"}, {"required": ["bgp_as_v6", "bgp_sessions_v6"], "type": "object"}], "additionalProperties": false}, "IdTaskStoragesTasks": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "storages_tasks": {"type": "array", "items": {"type": "integer"}}}}, "OSEditParams": {"type": "object", "properties": {"adminonly": {"type": "boolean"}, "clusters": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "product_key": {"type": "string", "maxLength": 30, "nullable": true}, "kms_ip": {"type": "string", "nullable": true}, "kms_port": {"type": "string", "maxLength": 9, "nullable": true}}, "additionalProperties": false}, "ImageParams": {"required": ["name"], "type": "object", "properties": {"name": {"maxLength": 255, "type": "string"}, "account": {"type": "number"}, "comment": {"type": "string"}, "for_all": {"type": "boolean"}}}, "Account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string"}, "state": {"type": "string"}, "auth_source": {"type": "string"}, "host_count": {"type": "integer"}, "cpu_count": {"type": "integer"}, "ram_mib": {"type": "integer"}, "hdd_mib": {"type": "integer"}, "roles": {"type": "array", "items": {"type": "string"}}, "host_ids": {"type": "array", "items": {"type": "integer"}}}}, "ClusterParams": {"type": "object", "properties": {"virtualization_type": {"type": "string", "enum": ["dummy", "kvm", "lxd"]}, "datacenter_type": {"type": "string", "enum": ["common", "hetzner", "ip_fabric"], "default": "common"}, "name": {"type": "string", "minLength": 2, "maxLength": 255, "default": "cl1"}, "comment": {"type": "string"}, "iso_enabled": {"type": "boolean", "default": false}, "time_zone": {"type": "string", "default": "UTC", "maxLength": 255}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"interface": {"type": "integer", "maxLength": 2}, "ippool": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["interface", "ippool"]}}, "os": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "backup_locations": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "os_storage_path": {"type": "string", "maxLength": 255, "default": "/share"}, "image_storage_path": {"type": "string", "maxLength": 255, "default": "/images"}, "overselling": {"type": "number", "minimum": 0.5, "maximum": 5, "default": 1}, "host_distribution_policy": {"type": "string", "enum": ["spread", "tight"], "default": "spread"}, "domain_template": {"type": "string"}, "datacenter_params": {"$ref": "#/components/schemas/DatacenterCreateParams"}, "domain_change_allowed": {"type": "boolean", "default": false}, "proxy_enabled": {"type": "boolean", "default": false}, "host_per_node_limit": {"type": "integer", "minimum": -1, "default": -1}, "dns_servers": {"$ref": "#/components/schemas/DnsServers"}, "node_network": {"$ref": "#/components/schemas/ClusterNodeNetwork"}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"], "default": "disabled"}, "vxlan_settings": {"$ref": "#/components/schemas/VxlanSettingsParams"}}, "required": ["name", "virtualization_type", "os_storage_path", "image_storage_path"], "additionalProperties": false}, "InternalSchedulesList": {"type": "object", "properties": {"shedule_list": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "handler": {"type": "string"}, "service": {"type": "string"}, "method": {"type": "string"}, "instance_id": {"type": "number"}, "url_query_params": {"type": "object"}, "post_params": {"type": "object"}, "cron_expression": {"type": "string"}}}}}}, "RecipeParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "description": {"type": "string", "maxLength": 150}, "script": {"type": "string"}, "for_all": {"type": "boolean"}, "user_visible": {"type": "boolean", "default": true}, "account": {"type": "integer", "maxLength": 9}, "email_content": {"type": "array", "items": {"type": "object", "properties": {"lang": {"type": "string", "enum": ["ru", "en"]}, "content": {"type": "string"}, "subject": {"type": "string"}}}}, "type": {"type": "string", "enum": ["shell", "ansible", "power_shell"], "default": "shell"}, "params": {"$ref": "#/components/schemas/RecipeParamsParams"}}, "required": ["name", "script"], "additionalProperties": false}, "Backup": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "account": {"type": "string"}, "for_all": {"type": "boolean"}, "type": {"type": "string"}, "comment": {"type": "string"}, "backup_location": {"$ref": "#/components/schemas/LocationInBackup"}}}, "DiskResizeParams": {"type": "object", "properties": {"size_mib": {"type": "number", "maxLength": 9}, "pool": {"type": "number", "maxLength": 9}, "defer": {"type": "object", "properties": {"action": {"type": "string", "enum": ["host_stop"]}}, "additionalProperties": false}}, "additionalProperties": false}, "RecipeParamsParams": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 64}, "description": {"type": "string"}, "required": {"type": "boolean"}, "type": {"type": "string", "enum": ["input", "select"], "default": "input"}, "select_values": {"type": "array", "nullable": true, "items": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 64}, "description": {"type": "string"}}}}}}}, "EditTaskParams": {"type": "object", "properties": {"status": {"type": "string", "enum": ["running", "complete", "failed"]}, "output": {"anyOf": [{"type": "string"}, {"type": "object"}], "nullable": true}}, "required": ["status"], "additionalProperties": false}, "IppoolEditParams": {"type": "object", "properties": {"auto_selection_allowed": {"type": "boolean"}}}, "HostImage": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "account": {"type": "string"}, "for_all": {"type": "boolean"}, "type": {"type": "string"}, "comment": {"type": "string"}, "state": {"type": "string"}, "nodes": {"type": "array", "items": {"$ref": "#/components/schemas/NodeInImage"}}}}, "ResourceUnused": {"type": "object", "properties": {"unused": {"type": "integer"}}}, "ClusterVxlanUser": {"type": "object", "properties": {"account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string", "format": "email"}}}, "hosts": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "vxlans": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "tag": {"type": "integer"}, "ranges": {"type": "array", "items": {"type": "string"}}}}}}}}}}, "OSSaveParams": {"type": "object", "properties": {"repository_id": {"type": "number", "maxLength": 9}, "os": {"type": "array", "items": {"type": "object"}}, "repository_type": {"type": "string", "enum": ["os", "lxd"]}}, "required": ["repository_id", "os"], "additionalProperties": false}, "HostRunRecipeParams": {"type": "object", "properties": {"recipe": {"type": "integer", "maxLength": 9}, "body": {"type": "string"}, "recipe_params": {"$ref": "#/components/schemas/HostRunRecipeParamsParams"}, "send_email": {"type": "boolean", "default": false}, "recipients": {"type": "array", "items": {"type": "object", "properties": {"lang": {"type": "string", "enum": ["ru", "en"]}, "email": {"type": "string", "format": "email"}}, "required": ["lang"]}}}}, "NodeImportParams": {"type": "object", "properties": {"ip_addr": {"anyOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "ssh_port": {"type": "integer", "maxLength": 9}, "password": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip_addr", "ssh_port"], "additionalProperties": false}, "IdName": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "PresetParams": {"type": "object", "properties": {"virtualization_type": {"type": "string", "enum": ["kvm", "lxd"], "default": "kvm"}, "name": {"type": "string", "minLength": 1, "maxLength": 255}, "comment": {"type": "string", "nullable": true}, "ram_mib": {"type": "number", "maxLength": 9}, "hdd_mib": {"type": "number", "maxLength": 9}, "cpu_number": {"type": "number", "maxLength": 9}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"]}, "nesting": {"type": "boolean", "default": false}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000}, "io_read_mbitps": {"type": "integer", "minimum": -1}, "io_write_mbitps": {"type": "integer", "minimum": -1}, "io_read_iops": {"type": "integer", "minimum": -1}, "io_write_iops": {"type": "integer", "minimum": -1}, "net_in_mbitps": {"type": "integer", "minimum": 0}, "net_out_mbitps": {"type": "integer", "minimum": 0}, "net_weight": {"type": "integer", "minimum": 0, "maximum": 10}, "anti_spoofing": {"type": "boolean"}, "tcp_connections_in": {"type": "integer", "minimum": 0}, "tcp_connections_out": {"type": "integer", "minimum": 0}, "process_number": {"type": "integer", "minimum": -1}}, "required": ["virtualization_type", "name", "ram_mib", "hdd_mib", "cpu_number"], "additionalProperties": false}, "StorageEditParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "comment": {"type": "string", "maxLength": 255}}, "additionalProperties": false}, "ClusterNodeNetwork": {"type": "object", "properties": {"timeout": {"type": "integer", "minimum": 5, "maximum": 1800}, "gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "null"}]}}, "additionalProperties": false}, "ClusterVxlanNode": {"type": "object", "properties": {"node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "vxlans": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "tag": {"type": "integer"}, "hosts": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ranges": {"type": "array", "items": {"type": "string"}}}}}}}}}}, "HostChangePasswordParams": {"type": "object", "properties": {"password": {"type": "string", "minLength": 6, "maxLength": 255}}, "required": ["password"], "additionalProperties": false}, "NodeIfacesParamsItem": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "type": {"type": "string", "enum": ["bond", "bridge", "eth"]}, "state": {"type": "string", "enum": ["enabled", "disabled", "unknown"]}, "vlan": {"type": "integer", "maxLength": 9}, "mode": {"type": "string", "enum": ["", "active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"]}, "slaves": {"type": "array", "items": {"type": "string", "maxLength": 255}, "nullable": true}, "ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}}, "required": ["name", "type", "state", "slaves", "ip_params"]}, "IppoolParams": {"type": "object", "properties": {"name": {"type": "string", "default": "test_name"}, "range": {"type": "array", "items": {"type": "string", "format": "iprange", "default": "1.1.1.1-1.1.1.10"}}}}, "NodeHaStateParams": {"type": "object", "properties": {"state": {"type": "string", "enum": ["unknown", "master", "slave", "beginning", "preparing_to_update", "suspended_for_update", "network_unstable", "storage_unstable", "partitioning", "network_failed", "storage_failed", "failed"]}}, "required": ["state"], "additionalProperties": false}, "EditNetworkParams": {"type": "object", "properties": {"gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}, "need_reserve": {"type": "boolean"}, "name": {"type": "string", "format": "iprange"}, "vlan": {"type": "string"}, "note": {"type": "string"}}, "additionalProperties": false}, "NetworkCreateParams": {"type": "object", "properties": {"gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}, "need_reserve": {"type": "boolean"}, "name": {"type": "string", "format": "iprange"}, "vlan": {"type": "string"}, "note": {"type": "string"}}, "required": ["gateway", "name"], "additionalProperties": false}, "ClusterEditParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255}, "comment": {"type": "string"}, "iso_enabled": {"type": "boolean"}, "os": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "backup_locations": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "time_zone": {"type": "string", "maxLength": 255}, "overselling": {"type": "number", "minimum": 0.5, "maximum": 5}, "host_distribution_policy": {"type": "string", "enum": ["spread", "tight"]}, "domain_template": {"type": "string"}, "datacenter_params": {"$ref": "#/components/schemas/DatacenterEditParams"}, "domain_change_allowed": {"type": "boolean"}, "proxy_enabled": {"type": "boolean"}, "host_per_node_limit": {"type": "integer", "minimum": -1, "default": -1}, "dns_servers": {"$ref": "#/components/schemas/DnsServers"}, "node_network": {"$ref": "#/components/schemas/ClusterNodeNetwork"}, "ha": {"type": "object", "properties": {"enabled": {"type": "boolean"}, "checking_host": {"type": "string"}, "restore_on_fail_vms": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "restore_priority": {"type": "integer", "minimum": 1, "maximum": 999}, "agent_version": {"type": "string"}}}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"], "nullable": true}, "vxlan_settings": {"$ref": "#/components/schemas/VxlanSettingsEditParams"}}, "additionalProperties": false}, "ImageMoveParams": {"required": ["source", "destination"], "type": "object", "properties": {"source": {"type": "integer", "maxLength": 9}, "destination": {"type": "integer", "maxLength": 9}}}, "ImageCopyParams": {"required": ["node"], "type": "object", "properties": {"node": {"type": "integer", "maxLength": 9}}}, "Ippool": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "note": {"type": "string"}, "total_ip": {"type": "string"}, "using_ip": {"type": "string"}, "clusters": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}}, "HostResourceParams": {"type": "object", "properties": {"cpu_number": {"type": "number", "maxLength": 9}, "ram_mib": {"type": "number", "maxLength": 9}, "net_bandwidth_mbitps": {"type": "number", "maxLength": 9, "nullable": true}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"], "nullable": true}, "nesting": {"type": "boolean", "nullable": true}, "cpu_custom_model": {"type": "string", "nullable": true}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000, "nullable": true}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000, "nullable": true}, "io_read_mbitps": {"type": "integer", "minimum": -1, "nullable": true}, "io_write_mbitps": {"type": "integer", "minimum": -1, "nullable": true}, "io_read_iops": {"type": "integer", "minimum": -1, "nullable": true}, "io_write_iops": {"type": "integer", "minimum": -1, "nullable": true}, "net_in_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_out_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_weight": {"type": "integer", "minimum": 0, "nullable": true}, "anti_spoofing": {"type": "boolean", "nullable": true}, "tcp_connections_in": {"type": "integer", "minimum": 0, "nullable": true}, "tcp_connections_out": {"type": "integer", "minimum": 0, "nullable": true}, "process_number": {"type": "integer", "minimum": -1, "nullable": true}, "defer": {"type": "object", "properties": {"action": {"type": "string", "enum": ["host_stop"]}}, "additionalProperties": false}}, "additionalProperties": false}, "EditIpPtrParams": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255, "format": "domain"}}, "required": ["domain"], "additionalProperties": false}, "PlatformBackupSchedulesList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "schedule_type": {"type": "string", "enum": ["daily", "weekly", "monthly", "cron"]}, "cron_expression": {"type": "string"}, "name": {"type": "string", "nullable": true}, "enabled": {"type": "boolean"}, "next_run": {"type": "string"}, "comment": {"type": "string"}, "storage_type": {"type": "string", "enum": ["ssh", "ftp"]}, "connection_params": {"type": "object"}, "backup_list": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "downloadable": {"type": "boolean"}, "location": {"type": "string", "enum": ["local", "ssh", "ftp"]}, "date": {"type": "string"}, "size": {"type": "integer"}}}}}}}}}, "NodeForMigrateList": {"type": "object", "properties": {"nodes": {"type": "array", "items": {"$ref": "#/components/schemas/NodeForMigrate"}}}}, "HostAutostartStatesParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255}, "autostart_enabled": {"type": "boolean"}}, "required": ["domain", "autostart_enabled"], "additionalProperties": false}}}, "required": ["list"], "additionalProperties": false}, "DnsServers": {"type": "array", "items": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "nullable": true}, "HostHistoryItemName": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}}, "required": ["name"], "additionalProperties": false}, "LocationList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/LocationInList"}}}}, "Node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "cluster": {"$ref": "#/components/schemas/ClusterInNodeList"}, "ip": {"type": "string"}, "ipv6": {"type": "string"}, "state": {"type": "string"}, "storage_mib": {"$ref": "#/components/schemas/TotalUsed"}, "ram_mib": {"$ref": "#/components/schemas/TotalUsed"}, "cpu_number": {"type": "integer"}, "comment": {"type": "string"}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"node_interface": {"type": "string"}, "network_switch": {"type": "string"}, "id": {"type": "integer"}}}}, "overselling": {"maximum": 5, "minimum": 0.5, "type": "number"}, "host_count": {"type": "integer"}, "host_limit": {"type": "integer"}}}, "Ip": {"type": "object", "properties": {"id": {"type": "integer"}, "ip_addr": {"type": "string"}, "domain": {"type": "string"}, "gateway": {"type": "string"}, "mask": {"type": "string"}, "state": {"type": "string"}, "family": {"type": "integer"}, "ippool": {"type": "integer"}, "network": {"type": "integer"}, "host": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "cluster_interface": {"type": "integer"}}}, "BackupList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Backup"}}}}, "ClusterInternalEditParams": {"type": "object", "properties": {"qemu_version": {"type": "string", "maxLength": 255}}, "additionalProperties": false}, "NodeScriptEditParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255}, "script": {"type": "string"}, "description": {"type": "string", "maxLength": 150}, "type": {"type": "string", "enum": ["shell", "ansible"]}, "priority": {"type": "integer", "maxLength": 6}, "autorun": {"type": "array", "items": {"type": "number", "maxLength": 9}}}, "additionalProperties": false}, "RepositoryParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "url": {"type": "string", "format": "uri", "maxLength": 255}}, "required": ["name", "url"]}, "OSList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/OS"}}}}, "NodeScriptElem": {"type": "object", "properties": {"id": {"type": "number"}, "name": {"type": "string"}, "script": {"type": "string"}, "description": {"type": "string"}, "type": {"type": "string", "enum": ["shell", "ansible"]}, "priority": {"type": "integer"}, "account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string"}}}, "autorun": {"type": "array", "items": {"type": "number"}}, "updated_at": {"type": "object", "properties": {"date": {"type": "string"}, "account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string"}}}}}}}, "EditUserLimitsParams": {"type": "object", "properties": {"host_count": {"type": "integer"}, "image_count": {"type": "integer"}, "image_count_total": {"type": "integer"}, "cpu_number": {"type": "integer"}, "cpu_number_total": {"type": "integer"}, "ram_mib": {"type": "integer"}, "ram_mib_total": {"type": "integer"}, "hdd_mib": {"type": "integer"}, "hdd_mib_total": {"type": "integer"}, "ipv4_number": {"type": "integer"}, "ipv4_number_total": {"type": "integer"}}}, "BackupParams": {"required": ["name"], "type": "object", "properties": {"name": {"maxLength": 255, "type": "string"}, "comment": {"type": "string"}, "backup_locations": {"type": "array", "items": {"type": "integer", "maxLength": 9}, "nullable": true}, "schedule": {"type": "integer", "maxLength": 9, "nullable": true}}}, "HostAccountParams": {"type": "object", "properties": {"account": {"type": "number", "maxLength": 9}}, "required": ["account"], "additionalProperties": false}, "ClusterVxlanUserList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/ClusterVxlanUser"}}}}, "InviteParams": {"type": "object", "properties": {"email": {"type": "string", "format": "email", "maxLength": 255}, "role": {"type": "string"}}, "required": ["email", "role"], "additionalProperties": false}, "IdTasks": {"type": "object", "properties": {"id": {"type": "integer"}, "tasks": {"type": "array", "items": {"type": "integer"}}}}, "EnableSendingParams": {"type": "object", "properties": {"value": {"type": "boolean"}}, "required": ["value"], "additionalProperties": false}, "StorageParamsAdditional": {"type": "object", "properties": {"ip_addr": {"type": "string", "format": "ipv4"}, "ssh_port": {"type": "integer", "maxLength": 9}, "login": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255, "nullable": true}}}, "UserEditParams": {"type": "object", "properties": {"roles": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "full_name": {"type": "string", "maxLength": 255}, "lang": {"type": "string", "enum": ["ru", "en"]}, "old_password": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255}}, "additionalProperties": false}, "RecipeUpdateParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "description": {"type": "string", "maxLength": 150}, "type": {"type": "string", "enum": ["shell", "power_shell"]}, "script": {"type": "string"}, "state": {"type": "string", "maxLength": 255}, "from_repository": {"type": "boolean"}, "for_all": {"type": "boolean"}, "user_visible": {"type": "boolean"}, "account": {"type": "integer", "maxLength": 9}, "email_content": {"type": "array", "items": {"type": "object", "properties": {"lang": {"type": "string", "enum": ["ru", "en"]}, "content": {"type": "string"}, "subject": {"type": "string"}}}}, "params": {"$ref": "#/components/schemas/RecipeParamsParams"}}, "additionalProperties": false}, "Schedule": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "comment": {"type": "string"}, "type": {"type": "string", "enum": ["daily", "weekly", "monthly"]}, "limit_count": {"type": "integer"}, "limit_size_mib": {"type": "integer"}, "start_time": {"type": "object", "properties": {"day": {"type": "integer"}, "week_day": {"type": "integer"}, "hour": {"type": "integer"}, "minute": {"type": "integer"}}}, "backup_locations": {"type": "array", "items": {"type": "integer"}}, "clusters": {"type": "array", "items": {"type": "integer"}}, "nodes": {"type": "array", "items": {"type": "integer"}}, "hosts": {"type": "array", "items": {"type": "integer"}}, "presets": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "next_run": {"type": "string"}}}, "HostStatesParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255}, "state": {"type": "string", "maxLength": 255}, "date": {"type": "string", "format": "datetime", "maxLength": 255}}, "required": ["domain", "state", "date"], "additionalProperties": false}}}, "required": ["list"], "additionalProperties": false}, "SubnetWithUsedIp": {"type": "object", "properties": {"id": {"type": "integer"}, "subnet": {"type": "string"}, "used_ip": {"type": "integer"}}}, "StorageParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "comment": {"type": "string", "maxLength": 255}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm"]}, "storage_params": {"$ref": "#/components/schemas/StorageParamsAdditional"}, "ignore_checks": {"type": "boolean"}}, "required": ["name", "type", "storage_params"], "additionalProperties": false}, "SettingEditParams": {"type": "object", "properties": {"value": {"type": "string"}}, "required": ["value"], "additionalProperties": false}, "NodeCheckDumpParams": {"type": "object", "properties": {"ip": {"anyOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "ssh_port": {"type": "integer", "maxLength": 9}, "password": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "ssh_port", "password"], "additionalProperties": false}, "LocationSSH": {"type": "object", "properties": {"ip": {"anyOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "port": {"type": "integer", "maxLength": 9}, "login": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255}, "path": {"type": "string", "maxLength": 255}}, "additionalProperties": false}, "RecipeSaveParams": {"type": "object", "properties": {"repository_id": {"type": "integer", "maxLength": 9}, "url": {"type": "string", "maxLength": 255}, "recipes": {"type": "array", "items": {"type": "object"}}}, "required": ["repository_id", "url", "recipes"], "additionalProperties": false}, "VxlanSettingsEditParams": {"type": "object", "properties": {"bgp_community": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as": {"type": "integer", "minimum": 1, "nullable": true}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv4"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}, "bgp_community_v6": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as_v6": {"type": "integer", "minimum": 1, "nullable": true}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv6"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}}, "additionalProperties": false}, "BackupChangeStateParams": {"type": "object", "properties": {"state": {"maxLength": 255, "type": "string"}}}}}}
Thank you for your feedback!
Was the article useful?
Tell us why not:

it does not match the title

it was hard to understand

I didn't find the answer

recommendations from the article did not help

other

Tell us what you didn't like in the article: