Документация VMmanager 6 (администратор)

API для интеграции с биллинговой системой

{"tags": [{"name": "cluster", "description": "Cluster"}, {"name": "network", "description": "Network configuration of VMmanager"}, {"name": "form", "description": "Helper handler for building forms"}, {"name": "repository", "description": "Repository of OS or Scripts"}, {"name": "image", "description": "Host image object"}, {"name": "vmmanager", "description": "General information and operations with VMmanager"}, {"name": "settings", "description": "Settings that VMmanager supports"}, {"name": "import", "description": "Ability to import objects"}, {"name": "os", "description": "Operation System"}, {"name": "node", "description": "Hardware where virtual machines are created"}, {"name": "node_script", "description": "Script to setup nodes"}, {"name": "preset", "description": "Predefined configuration of virtual machine"}, {"name": "recipe", "description": "Script to setup virtual machine"}, {"name": "host", "description": "Virtual machine"}, {"name": "task", "description": "Background task that does create, update or delete operations over VM, Nodes etc."}, {"name": "disk", "description": "Disk of Virtual Machine"}, {"name": "user", "description": "User of VMmanager"}, {"name": "internal", "description": "Internal communication between services"}, {"name": "storage", "description": "Object to keep virtual machine"}, {"name": "backup", "description": "Host backup object"}, {"name": "backup_location", "description": "Backup location object"}, {"name": "schedule", "description": "Schedule object"}, {"name": "platform_backup", "description": "Platform backup entity"}], "openapi": "3.0.1", "info": {"title": "ISPsystem vm API", "description": "ISPsystem vm API", "version": "3.0.0"}, "servers": [{"url": "https://localhost/vm/v3"}], "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": {"type": "object", "properties": {"cpu_number": {"$ref": "#/components/schemas/TotalUsed"}, "host_count": {"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"}, "hdd_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"}}}, "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}, "DatacenterEditParams": {"type": "object", "properties": {"bgp_community": {"type": "string", "maxLength": 255}, "bgp_as": {"type": "integer", "minimum": 1}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "anyOf": [{"format": "ipv4"}, {"format": "ipv6"}]}, "bgp_as": {"type": "integer", "minimum": 1}}, "required": ["ip", "bgp_as"], "additionalProperties": false}, "minItems": 1}}, "additionalProperties": false}, "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"}}}, "ReinviteParams": {"type": "object", "properties": {"email": {"type": "string", "format": "email", "maxLength": 255}, "role": {"type": "string"}}, "required": ["email", "role"], "additionalProperties": false}, "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"]}, "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"}, "HostRestoreParams": {"required": ["backup"], "type": "object", "properties": {"backup": {"type": "number", "maxLength": 9}}}, "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": {"type": "string", "anyOf": [{"format": "ipv4"}, {"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": "isp_idn_hostname"}, "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"}}, "access": {"type": "string"}}}, "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}, "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}}, "additionalProperties": false}, "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}, "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"]}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer", "minimum": 128, "maximum": 10000}, "io_weight": {"type": "integer", "minimum": 100, "maximum": 1000}, "io_read_mbitps": {"type": "integer", "minimum": 0}, "io_write_mbitps": {"type": "integer", "minimum": 0}, "io_read_iops": {"type": "integer", "minimum": 0}, "io_write_iops": {"type": "integer", "minimum": 0}, "net_in_mbitps": {"type": "integer", "minimum": 0}, "net_out_mbitps": {"type": "integer", "minimum": 0}, "anti_spoofing": {"type": "boolean"}, "tcp_connections_in": {"type": "integer", "minimum": 0}, "tcp_connections_out": {"type": "integer", "minimum": 0}}, "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"}}}, "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", "format": "vmname", "maxLength": 240}}, "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"}}}, "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"}}}}, "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}, "hdd_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", "maxLength": 2}}}}}, "required": ["name", "cluster", "ip", "ssh_port", "host_max", "password"], "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"}, "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"}, "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"}, "anti_spoofing": {"type": "boolean"}, "tcp_connections_in": {"type": "integer"}, "tcp_connections_out": {"type": "integer"}}}, "Task": {"type": "object", "properties": {"id": {"type": "integer"}, "consul_id": {"type": "integer"}, "defer_reason": {"type": "string"}, "name": {"type": "string"}, "status": {"type": "string"}}}, "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"}}}, "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"}}}, "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": {"type": "number", "nullable": true}, "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}}, "required": ["name", "ip_pool", "ip_network"], "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", "maxLength": 2}, "ipv4_number": {"type": "number", "maxLength": 9}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}}}}}, "additionalProperties": false}, "DatacenterCreateParams": {"type": "object", "properties": {"gateway": {"type": "string", "format": "ipv4"}, "mac": {"type": "string", "format": "mac"}, "bgp_community": {"type": "string", "maxLength": 255}, "bgp_as": {"type": "integer", "minimum": 1}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "anyOf": [{"format": "ipv4"}, {"format": "ipv6"}]}, "bgp_as": {"type": "integer", "minimum": 1}}, "required": ["ip", "bgp_as"], "additionalProperties": false}, "minItems": 1}}, "required": ["gateway", "mac", "bgp_as", "bgp_sessions"], "additionalProperties": false}, "ImageChangeStateParams": {"properties": {"state": {"type": "string", "maxLength": 255}}, "additionalProperties": false}, "HostParams": {"type": "object", "properties": {"name": {"type": "string", "format": "vmname", "maxLength": 240}, "cluster": {"type": "number", "maxLength": 9}, "node": {"type": "number", "maxLength": 9}, "account": {"type": "number", "maxLength": 9}, "domain": {"type": "string", "maxLength": 255, "format": "isp_idn_hostname"}, "preset": {"type": "number", "maxLength": 9}, "os": {"type": "number", "maxLength": 9}, "image": {"type": "number", "maxLength": 9}, "recipe": {"type": "number", "nullable": true}, "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", "maxLength": 2}, "ipv4_number": {"type": "number", "maxLength": 9}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}}, "required": ["cluster_interface", "ipv4_number"]}}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"], "nullable": true}, "cpu_custom_model": {"type": "string", "nullable": true}, "cpu_weight": {"type": "integer", "minimum": 128, "maximum": 10000, "nullable": true}, "io_weight": {"type": "integer", "minimum": 100, "maximum": 1000, "nullable": true}, "io_read_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "io_write_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "io_read_iops": {"type": "integer", "minimum": 0, "nullable": true}, "io_write_iops": {"type": "integer", "minimum": 0, "nullable": true}, "net_in_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_out_mbitps": {"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}}, "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"}}, "kms_supported": {"type": "boolean"}, "kms_ip": {"type": "string"}, "kms_port": {"type": "string"}}}, "NodeAddProblemParams": {"type": "object", "properties": {"problems": {"type": "array", "minItems": 1, "items": {"type": "string"}}}, "required": ["problems"], "additionalProperties": false}, "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}, "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"}, "tags": {"type": "array", "items": {"type": "string"}}}, "required": ["url"], "additionalProperties": false}, "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}, "SettingDomainParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255}}, "required": ["name"], "additionalProperties": false}, "ClusterInOS": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "updated_at": {"type": "string"}}}, "HostMigrateParams": {"type": "object", "properties": {"plain": {"type": "boolean", "default": true}, "node": {"type": "number", "maxLength": 9}}, "required": ["node"], "additionalProperties": false}, "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"}}}}, "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}, "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}, "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}, "hdd_overselling": {"type": "number", "minimum": 0.5, "maximum": 5}, "ipv6": {"type": "string", "format": "ipv6", "nullable": true}}}, "Preset": {"type": "object", "properties": {"id": {"type": "integer"}, "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"]}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer", "minimum": 128, "maximum": 10000}, "io_weight": {"type": "integer", "minimum": 100, "maximum": 1000}, "io_read_mbitps": {"type": "integer", "minimum": 0}, "io_write_mbitps": {"type": "integer", "minimum": 0}, "io_read_iops": {"type": "integer", "minimum": 0}, "io_write_iops": {"type": "integer", "minimum": 0}, "net_in_mbitps": {"type": "integer", "minimum": 0}, "net_out_mbitps": {"type": "integer", "minimum": 0}, "anti_spoofing": {"type": "boolean"}, "tcp_connections_in": {"type": "integer", "minimum": 0}, "tcp_connections_out": {"type": "integer", "minimum": 0}}}, "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"}}}}}}, "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"}}}, "ImageRelocateParams": {"type": "object", "properties": {"destination": {"type": "integer", "maxLength": 9, "nullable": true}}}, "IppoolList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Ippool"}}}}, "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"}, "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"], "default": "dummy"}, "datacenter_type": {"type": "string", "enum": ["common", "hetzner", "ip_fabric"]}, "name": {"type": "string", "minLength": 2, "maxLength": 255, "default": "cl1"}, "comment": {"type": "string"}, "iso_enabled": {"type": "boolean"}, "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}}, "storage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["ceph", "file", "lvm"], "default": "file"}, "volume_group": {"type": "string", "maxLength": 255}, "vm_storage_path": {"type": "string", "maxLength": 255}, "ignore_checks": {"type": "boolean"}, "ip_addr": {"type": "string"}, "ssh_port": {"type": "number"}}, "required": ["type"]}, "os_storage_path": {"type": "string", "default": "/share", "maxLength": 255}, "image_storage_path": {"type": "string", "default": "/images", "maxLength": 255}, "overselling": {"type": "number", "minimum": 0.5, "maximum": 5}, "hdd_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/DatacenterCreateParams"}}, "required": ["name", "time_zone", "storage", "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": 6, "maxLength": 255}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "description": {"type": "string", "maxLength": 150}, "script": {"type": "string"}, "for_all": {"type": "boolean"}, "account": {"type": "integer", "maxLength": 9}, "type": {"type": "string", "enum": ["shell", "ansible"], "default": "shell"}}, "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}, "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"}}}}, "OSSaveParams": {"type": "object", "properties": {"repository_id": {"type": "number", "maxLength": 9}, "os": {"type": "array", "items": {"type": "object"}}}, "required": ["repository_id", "os"], "additionalProperties": false}, "HostRunRecipeParams": {"type": "object", "properties": {"recipe": {"type": "integer", "maxLength": 9}, "body": {"type": "string"}}}, "NodeImportParams": {"type": "object", "properties": {"ip_addr": {"type": "string", "anyOf": [{"format": "ipv4"}, {"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": {"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"]}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer", "minimum": 128, "maximum": 10000}, "io_weight": {"type": "integer", "minimum": 100, "maximum": 1000}, "io_read_mbitps": {"type": "integer", "minimum": 0}, "io_write_mbitps": {"type": "integer", "minimum": 0}, "io_read_iops": {"type": "integer", "minimum": 0}, "io_write_iops": {"type": "integer", "minimum": 0}, "net_in_mbitps": {"type": "integer", "minimum": 0}, "net_out_mbitps": {"type": "integer", "minimum": 0}, "anti_spoofing": {"type": "boolean"}, "tcp_connections_in": {"type": "integer", "minimum": 0}, "tcp_connections_out": {"type": "integer", "minimum": 0}}, "required": ["name", "ram_mib", "hdd_mib", "cpu_number"], "additionalProperties": false}, "HostChangePasswordParams": {"type": "object", "properties": {"password": {"type": "string", "minLength": 6, "maxLength": 255}}, "required": ["password"], "additionalProperties": false}, "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"}}}}, "CreateStorageTagParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 3, "maxLength": 255}, "comment": {"type": "string"}}, "required": ["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"]}, "hdd_overselling": {"type": "number", "minimum": 0.5, "maximum": 5}, "domain_template": {"type": "string"}, "datacenter_params": {"$ref": "#/components/schemas/DatacenterEditParams"}}, "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}, "cpu_custom_model": {"type": "string", "nullable": true}, "cpu_weight": {"type": "integer", "minimum": 128, "maximum": 10000, "nullable": true}, "io_weight": {"type": "integer", "minimum": 100, "maximum": 1000, "nullable": true}, "io_read_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "io_write_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "io_read_iops": {"type": "integer", "minimum": 0, "nullable": true}, "io_write_iops": {"type": "integer", "minimum": 0, "nullable": true}, "net_in_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_out_mbitps": {"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}, "defer": {"type": "object", "properties": {"action": {"type": "string", "enum": ["host_stop"]}}, "additionalProperties": false}}, "additionalProperties": false}, "EditIpPtrParams": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255, "format": "isp_idn_hostname"}}, "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"}}}}}}}}}, "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"}, "hdd_overselling": {"maximum": 5, "minimum": 0.5, "type": "number"}}}, "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", "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}, "InviteParams": {"type": "object", "properties": {"email": {"type": "string", "format": "email", "maxLength": 255}, "role": {"type": "string"}}, "required": ["email", "role"], "additionalProperties": false}, "EnableSendingParams": {"type": "object", "properties": {"value": {"type": "boolean"}}, "required": ["value"], "additionalProperties": false}, "UserEditParams": {"type": "object", "properties": {"roles": {"type": "array", "items": {"type": "string", "maxLength": 255}}}, "required": ["roles"], "additionalProperties": false}, "RecipeUpdateParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 6, "maxLength": 255}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "description": {"type": "string", "maxLength": 150}, "script": {"type": "string"}, "state": {"type": "string", "maxLength": 255}, "from_repository": {"type": "boolean"}, "for_all": {"type": "boolean"}, "account": {"type": "integer", "maxLength": 9}}, "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"}}}, "SettingEditParams": {"type": "object", "properties": {"value": {"type": "string"}}, "required": ["value"], "additionalProperties": false}, "NodeCheckDumpParams": {"type": "object", "properties": {"ip": {"type": "string", "anyOf": [{"format": "ipv4"}, {"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": {"type": "string", "anyOf": [{"format": "ipv4"}, {"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": "number", "maxLength": 9}, "url": {"type": "string", "maxLength": 255}, "recipes": {"type": "array", "items": {"type": "object"}}}, "required": ["repository_id", "url", "recipes"], "additionalProperties": false}, "BackupChangeStateParams": {"type": "object", "properties": {"state": {"maxLength": 255, "type": "string"}}}}}, "paths": {"/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 geted successfully", "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"}}, "/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"}}, "/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"}}, "/storage/tag": {"get": {"tags": ["storage"], "operationId": "get_storage_tag_list", "description": "Get list of all storage tags", "responses": {"200": {"description": "OK", "content": {}}}}, "post": {"tags": ["storage"], "summary": "Storage tag create", "operationId": "create_storage_tag", "requestBody": {"description": "Create storage tag params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateStorageTagParams"}}}, "required": true}, "responses": {"200": {"description": "Storage tag created successfully", "content": {}}}, "x-codegen-request-body-name": "CreateStorageTagParams"}}, "/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 geted successfully", "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": "List disk geted successfully", "content": {}}}}}, "/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"}}, "/settings/send_vm_messages": {"get": {"tags": ["settings"], "operationId": "get_settings_send_vm_messages", "responses": {"200": {"description": "Sending messages status geted successfully", "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 geted successfully", "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"}}, "/os_tag": {"get": {"tags": ["form"], "operationId": "get_os_tag_list", "responses": {"200": {"description": "OS tag list geted successfully", "content": {}}}}}, "/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 geted successfully", "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}/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"}}, "/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"}}}}}}}, "/storage/tag/{storage_tag_id}": {"delete": {"tags": ["storage"], "summary": "Storage tag delete", "description": "Storage tag delete", "operationId": "delete_storage_tag", "parameters": [{"name": "storage_tag_id", "in": "path", "description": "ID storage tag", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage tag deleted successfully", "content": {}}}}}, "/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 geted successfully", "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 geted successfully", "content": {}}}}}, "/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 schedules list got successfully", "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"}}, "/host/states": {"post": {"tags": ["host"], "summary": "Update VM statuses", "operationId": "set_states", "requestBody": {"description": "New VM statuses", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostStatesParams"}}}, "required": true}, "responses": {"200": {"description": "VM statuses changed", "content": {}}}, "x-codegen-request-body-name": "HostStatesParams"}}, "/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 geted successfully", "content": {}}}}}, "/changelog": {"get": {"tags": ["vmmanager"], "operationId": "get_changelog", "responses": {"200": {"description": "Changelog geted successfully", "content": {}}}}}, "/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"}}}}}}}, "/private_key": {"get": {"tags": ["vmmanager", "form"], "operationId": "get_private_key", "responses": {"200": {"description": "Private key geted successfully", "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 geted successfully", "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"}}}}}}}, "/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 geted successfully", "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 geted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "state": {"type": "string"}, "cpu_number": {"type": "integer"}, "ram_mib": {"type": "integer"}}}}}}}}, "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"}}}}}}}}}, "/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"}}}}}}}, "/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 geted successfully", "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 geted successfully", "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 geted successfully", "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"}}}}}}}, "/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"}}}}}}}}}, "/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"}}, "/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 got successfully", "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 geted successfully", "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 geted successfully", "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 geted successfully", "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 geted successfully", "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"}}}}}}}, "/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"}}, "/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 geted successfully", "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 geted successfully", "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"}}, "/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 geted successfully", "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 geted successfully", "content": {}}}}, "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 geted successfully", "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 geted successfully", "content": {}}}}}, "/schedule": {"get": {"tags": ["schedule"], "summary": "Schedule list", "operationId": "get_schedule_list", "responses": {"200": {"description": "Schedule list geted successfully", "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"}}, "/preset": {"get": {"tags": ["preset"], "operationId": "get_preset_list", "responses": {"200": {"description": "Preset list geted successfully", "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 geted successfully", "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 got successfully", "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": {"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"}}}}}}}}}, "/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"}}}}}}}, "/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"}}, "/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"}}, "/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 geted successfully", "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 geted successfully", "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 geted successfully", "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 geted successfully", "content": {}}}}}, "/update_license": {"post": {"tags": ["vmmanager"], "summary": "Update license", "operationId": "update_license", "responses": {"200": {"description": "License updated successfully", "content": {}}}}}, "/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 geted successfully", "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"}}}}}}}}}, "/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 geted successfully", "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 geted successfully", "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"}}, "/api": {"get": {"tags": ["vmmanager"], "operationId": "get_api", "responses": {"200": {"description": "API geted successfully", "content": {}}}}}, "/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": {"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"}}}}}}}}}, "/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 geted successfully", "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 geted successfully", "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 geted successfully", "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"}}}}}}}, "/time_zone": {"get": {"tags": ["form"], "operationId": "get_time_zone_list", "responses": {"200": {"description": "Time zone geted successfully", "content": {}}}}}, "/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 geted successfully", "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 geted successfully", "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 geted successfully", "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"}}, "/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 geted successfully", "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 geted successfully", "content": {}}}}}, "/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 geted successfully", "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 geted successfully", "content": {}}}}}, "/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"}}}}}}}}}, "/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"}}}}}}}}}, "/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 geted successfully", "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"}}, "/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"}}, "/user_limits": {"get": {"tags": ["settings"], "operationId": "get_user_limits_list", "responses": {"200": {"description": "User limits geted successfully", "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 geted successfully", "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/Id"}}}}}, "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": {}}}}}, "/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": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "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 geted successfully", "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"}}}}}}}}}, "/repository/new": {"get": {"tags": ["repository"], "operationId": "get_repository_new", "responses": {"200": {"description": "Repository getted successfully", "content": {}}}}}, "/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"}}}}}}}, "/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 geted successfully", "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"}}}}