{"tags": [{"name": "backup", "description": "Host backup object"}, {"name": "backup_location", "description": "Backup location object"}, {"name": "cluster", "description": "Cluster"}, {"name": "disk", "description": "Disk of Virtual Machine"}, {"name": "form", "description": "Helper handler for building forms"}, {"name": "host", "description": "Virtual machine"}, {"name": "image", "description": "Host image object"}, {"name": "internal", "description": "Internal calls"}, {"name": "import", "description": "Ability to import objects"}, {"name": "network", "description": "Network configuration of VMmanager"}, {"name": "node", "description": "Hardware where virtual machines are created"}, {"name": "node_script", "description": "Script to setup nodes"}, {"name": "license", "description": "License object"}, {"name": "os", "description": "Operation System"}, {"name": "platform_backup", "description": "Platform backup entity"}, {"name": "preset", "description": "Predefined configuration of virtual machine"}, {"name": "recipe", "description": "Script to setup virtual machine"}, {"name": "repository", "description": "Repository of OS or Scripts"}, {"name": "schedule", "description": "Schedule object"}, {"name": "settings", "description": "Settings that VMmanager supports"}, {"name": "storage", "description": "Object to keep virtual machine"}, {"name": "task", "description": "Background task that does create, update or delete operations over VM, Nodes etc."}, {"name": "user", "description": "User of VMmanager"}, {"name": "vmmanager", "description": "General information and operations with VMmanager"}, {"name": "vxlan", "description": "VxLANs and operations with them"}, {"name": "snapshot", "description": "Snapshots and operations with them"}, {"name": "tag", "description": "Tags and operations with them"}, {"name": "maintenance", "description": "Operations with node maintenance mode"}, {"name": "monitor", "description": "Monitor target"}, {"name": "balancer", "description": "Instance of balancer"}], "components": {"schemas": {"CPUMode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"], "nullable": true}, "SuccessTaskSchema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}, "EmptySchema": {"type": "object", "properties": {}}, "HaStorageParamsSAN": {"type": "object", "properties": {}, "additionalProperties": false}, "StorageInImage": {"title": "StorageInImageList", "type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm", "nas"]}, "storage_params": {"$ref": "#/components/schemas/StorageParamsAdditional"}}}, "ClusterNodeNetwork": {"type": "object", "properties": {"timeout": {"type": "integer", "minimum": 5, "maximum": 1800}, "gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "null"}]}}, "additionalProperties": false}, "HostInterfaceModel": {"type": "string", "enum": ["virtio", "rtl8139", "e1000", "e1000e"]}, "Repo": {"type": "object", "properties": {"name": {"type": "string"}, "url": {"type": "string"}, "id": {"type": "integer"}, "state": {"type": "string"}, "type": {"type": "string"}, "os_count": {"type": "integer"}, "storage": {"$ref": "#components/schemas/RepoStorage"}}, "additionalProperties": false}, "HostIfaceChangeParams": {"type": "object", "properties": {"bridge_id": {"type": "integer"}, "model": {"$ref": "#/components/schemas/HostInterfaceModel", "nullable": false}}, "additionalProperties": false}, "Id": {"type": "object", "properties": {"id": {"type": "integer"}}}, "OsList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Os"}}}}, "AnyProperties": {"type": "object", "properties": {}}, "AddIpParamsVxlan": {"type": "object", "properties": {"id": {"type": "integer"}, "ipv4_number": {"type": "integer"}, "ipnet": {"type": "integer"}}, "required": ["id", "ipv4_number", "ipnet"], "additionalProperties": false}, "HostList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Host"}}}}, "LicensePacketParams": {"type": "object", "properties": {"key": {"type": "string", "maxLength": 64}}, "required": ["key"], "additionalProperties": false}, "LocationInBackup": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string"}}}, "IppoolList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Ippool"}}}}, "LocationSSH": {"type": "object", "properties": {"ip": {"anyOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "port": {"type": "integer", "maxLength": 9}, "login": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255}, "path": {"type": "string", "maxLength": 255}}, "additionalProperties": false}, "HostChangePasswordParams": {"type": "object", "properties": {"password": {"type": "string", "minLength": 6, "maxLength": 255}}, "required": ["password"], "additionalProperties": false}, "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}, "NodeIfacesParamsItem": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "type": {"type": "string", "enum": ["bond", "bridge", "eth"]}, "state": {"type": "string", "enum": ["enabled", "disabled", "unknown"]}, "vlan": {"type": "integer", "maxLength": 9}, "mode": {"type": "string", "enum": ["", "active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"]}, "slaves": {"type": "array", "items": {"type": "string", "maxLength": 255}, "nullable": true}, "ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}}, "required": ["name", "type", "state", "slaves", "ip_params"]}, "RepoStorage": {"type": "object", "properties": {"id": {"type": "integer"}, "type": {"type": "string"}, "name": {"type": "string"}, "clusters": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}, "nullable": true, "additionalProperties": false}, "VxlanSettingsParams": {"type": "object", "properties": {"bgp_community": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as": {"type": "integer", "minimum": 1}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv4"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}, "bgp_community_v6": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as_v6": {"type": "integer", "minimum": 1}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv6"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}}, "anyOf": [{"required": ["bgp_as", "bgp_sessions"], "type": "object"}, {"required": ["bgp_as_v6", "bgp_sessions_v6"], "type": "object"}], "additionalProperties": false}, "Task": {"type": "object", "properties": {"id": {"type": "integer"}, "consul_id": {"type": "integer"}, "defer_reason": {"type": "string"}, "name": {"type": "string"}, "status": {"type": "string"}}}, "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", "nullable": true}}}}}}, "ResourceUnused": {"type": "object", "properties": {"unused": {"type": "integer"}}}, "NodeRunScriptParams": {"type": "object", "properties": {"script": {"type": "integer", "maxLength": 9}}, "required": ["script"], "additionalProperties": false}, "IpList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Ip"}}, "size": {"type": "integer"}}}, "HddOversellingParams": {"type": "object", "properties": {"value": {"type": "number", "minimum": 0.5, "maximum": 100}}, "required": ["value"], "additionalProperties": false}, "AnyIp": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "AccountList": {"type": "object", "properties": {"list": {"type": "array", "items": {"$ref": "#/components/schemas/Account"}}}}, "PresetList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Preset"}}}}, "ImageByIdProps": {"type": "object", "properties": {"account": {"type": "integer"}, "available_until": {"type": "string", "format": "datetime"}, "cleared": {"type": "boolean"}, "comment": {"type": "string"}, "cpu_mode": {"type": "string"}, "cpu_number": {"type": "integer"}, "date_create": {"type": "string", "format": "datetime"}, "efi_boot": {"type": "boolean"}, "expand_part": {"type": "string"}, "file_size_mib": {"type": "integer"}, "for_all": {"type": "boolean"}, "id": {"type": "integer"}, "image_name": {"type": "string"}, "ip_automation": {"type": "string"}, "is_local": {"type": "boolean"}, "name": {"type": "string"}, "network_device": {"type": "string"}, "os": {"type": "integer"}, "parent_host": {"type": "integer"}, "ram_mib": {"type": "integer"}, "size_mib": {"type": "integer"}, "spice_additional_enabled": {"type": "boolean"}, "spice_enabled": {"type": "boolean"}, "state": {"type": "string"}, "virtualization_type": {"type": "string"}, "password_from_sysprep": {"type": "boolean"}}}, "BackupRelocateParams": {"type": "object", "properties": {"destination": {"type": "integer", "maxLength": 9, "nullable": true}, "destination_type": {"type": "string", "nullable": true, "enum": ["ssh", "node"]}}}, "IsoStatus": {"type": "string", "enum": ["downloading", "ready", "mounted"]}, "RecipeParamsParams": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 64}, "description": {"type": "string"}, "required": {"type": "boolean"}, "type": {"type": "string", "enum": ["input", "select"], "default": "input"}, "select_values": {"type": "array", "nullable": true, "items": {"type": "object", "properties": {"value": {"type": "string", "minLength": 1, "maxLength": 64}, "description": {"type": "string"}}}}}}}, "StorageInClusterList": {"type": "array", "items": {"$ref": "#/components/schemas/StorageInCluster"}}, "StorageNodeList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"allocated_mib": {"type": "integer"}, "available_mib": {"type": "integer"}, "cluster": {"type": "object", "properties": {"id": {"type": "integer"}}}, "hdd_overselling": {"type": "number"}, "host_count": {"type": "integer"}, "id": {"type": "integer"}, "name": {"type": "string"}, "size_mib": {"type": "integer"}, "state": {"type": "string"}}}}, "size": {"type": "integer"}}}, "OsIsoList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/OsIso"}}}, "additionalProperties": false}, "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}, "guest_agent": {"type": "boolean"}, "vnc_port": {"type": "integer"}, "property": {"type": "object"}, "start_date": {"type": "number", "maxLength": 10}}}, "comment": {"type": "string"}, "name": {"type": "string", "pattern": "^[a-zA-Z0-9]{1}[a-zA-Z0-9-_.]+($)", "maxLength": 49}, "ha_restore_on_fail": {"type": "boolean"}, "ha_restore_priority": {"type": "integer", "minimum": 1, "maximum": 999}, "expand_part": {"type": "string", "nullable": true}, "is_protected": {"type": "boolean"}, "extended_protection": {"type": "boolean"}, "spice_enabled": {"type": "boolean"}, "spice_additional_enabled": {"type": "boolean"}, "snapshot_limit": {"type": "integer", "minimum": -1}, "snapshot_ram": {"type": "boolean"}, "snapshots_allowed": {"type": "boolean"}, "balancer_mode": {"$ref": "#/components/schemas/HostBalancerMode"}}, "additionalProperties": false}, "PresetParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "virtualization_type": {"type": "string", "enum": ["kvm", "lxd"], "default": "kvm"}, "comment": {"type": "string", "nullable": true}, "ram_mib": {"type": "number", "maxLength": 9}, "hdd_mib": {"type": "number", "maxLength": 9}, "disks": {"$ref": "#/components/schemas/HostDisks"}, "cpu_number": {"type": "number", "maxLength": 9}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"]}, "nesting": {"type": "boolean", "default": false}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000}, "io_read_mbitps": {"type": "integer", "minimum": -1}, "io_write_mbitps": {"type": "integer", "minimum": -1}, "io_read_iops": {"type": "integer", "minimum": -1}, "io_write_iops": {"type": "integer", "minimum": -1}, "net_in_mbitps": {"type": "integer", "minimum": 0}, "net_out_mbitps": {"type": "integer", "minimum": 0}, "net_weight": {"type": "integer", "minimum": 0, "maximum": 10}, "anti_spoofing": {"type": "boolean"}, "anti_spoofing_settings": {"type": "object", "properties": {"vlan": {"type": "boolean"}}, "nullable": true}, "tcp_connections_in": {"type": "integer", "minimum": 0}, "tcp_connections_out": {"type": "integer", "minimum": 0}, "process_number": {"type": "integer", "minimum": -1}, "firewall_rules": {"$ref": "#/components/schemas/FirewallRules"}, "spice_enabled": {"type": "boolean"}, "spice_additional_enabled": {"type": "boolean"}, "snapshot_limit": {"type": "integer", "minimum": -1}, "snapshot_ram": {"type": "boolean"}, "snapshots_allowed": {"type": "boolean"}, "hot_plug": {"type": "boolean"}, "live_resize": {"type": "boolean"}}, "oneOf": [{"required": ["virtualization_type", "name", "ram_mib", "cpu_number", "hdd_mib"], "type": "object"}, {"required": ["virtualization_type", "name", "ram_mib", "cpu_number", "disks"], "type": "object"}], "additionalProperties": false}, "TaskList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Task"}}}}, "License": {"type": "object", "properties": {"signature": {"type": "string"}, "content": {"type": "string"}}, "required": ["signature", "content"], "additionalProperties": false}, "LinkDiskParams": {"type": "object", "properties": {"is_main": {"type": "boolean", "nullable": true}, "bus": {"type": "string", "enum": ["virtio", "scsi", "ide"]}}, "anyOf": [{"required": ["bus"], "type": "object"}, {"required": ["is_main"], "type": "object"}], "additionalProperties": false}, "AddHetznerIpParams": {"type": "object", "properties": {"hetzner_ip": {"type": "array", "items": {"type": "string", "format": "ipnet"}}}}, "HostDiskOrderParams": {"type": "object", "properties": {"disks": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "boot_order": {"type": "integer"}}, "additionalProperties": false, "required": ["id", "boot_order"]}}}}, "Account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string"}, "state": {"type": "string"}, "auth_source": {"type": "string"}, "host_count": {"type": "integer"}, "cpu_count": {"type": "integer"}, "ram_mib": {"type": "integer"}, "hdd_mib": {"type": "integer"}, "roles": {"type": "array", "items": {"type": "string"}}, "host_ids": {"type": "array", "items": {"type": "integer"}}}}, "AddPtrParams": {"type": "object", "properties": {"name": {"type": "string", "format": "ipv6"}, "domain": {"type": "string", "format": "domain"}}, "required": ["name", "domain"], "additionalProperties": false}, "AccountParams": {"type": "object", "properties": {"email": {"type": "string", "format": "email", "maxLength": 255}, "full_name": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255}, "email_confirm": {"type": "boolean", "default": true}, "phone_number": {"type": "string", "maxLength": 255}, "role": {"type": "string"}, "lang": {"type": "string", "enum": ["en", "ru"], "default": "en"}}, "required": ["email", "password", "role"], "additionalProperties": false}, "ScheduleList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Schedule"}}}}, "FirewallRules": {"type": "array", "items": {"type": "object", "properties": {"action": {"type": "string", "enum": ["drop"]}, "direction": {"type": "string", "enum": ["in", "out"]}, "protocols": {"type": "array", "minItems": 1, "maxItems": 2, "items": {"type": "string", "enum": ["tcp", "udp"]}}, "portstart": {"type": "integer", "minimum": 1, "maximum": 65535}, "portend": {"type": "integer", "minimum": 1, "maximum": 65535}}, "required": ["action", "direction", "protocols", "portstart", "portend"], "additionalProperties": false}}, "DiskBackupList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/DiskBackup"}}}}, "VxlanIp": {"type": "object", "properties": {"id": {"type": "integer"}, "ip_addr": {"type": "string"}, "gateway": {"type": "string", "nullable": true}, "ipnet": {"type": "string"}, "domain": {"type": "string", "maxLength": 255, "format": "domain"}, "state": {"type": "string", "enum": ["active", "crashed", "prepare to allocate", "deleting", "reserved", "free"]}, "comment": {"type": "string"}, "host": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}, "NodeIfaceEditParams": {"type": "object", "properties": {"name": {"type": "string", "pattern": "^[a-zA-Z0-9-_]+($)", "minLength": 2, "maxLength": 15, "nullable": true}, "ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}, "vlan": {"type": "integer", "minimum": 1, "maximum": 4094, "nullable": true}, "slaves": {"type": "array", "items": {"type": "string", "maxLength": 255}, "nullable": true}, "take_slave_ip": {"type": "boolean", "nullable": true}, "mode": {"type": "string", "enum": ["active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"], "nullable": true}, "is_default": {"type": "boolean", "nullable": true}, "is_main_network": {"type": "boolean", "nullable": true}}}, "RecipeFilterResult": {"type": "array", "items": {"type": "object", "properties": {"host": {"type": "integer"}, "reason": {"type": "array", "items": {"type": "string", "enum": ["os_tag", "hdd_mib", "ram_mib", "cluster", "preset", "cpu_number"]}}, "recipe": {"type": "integer"}, "suitable": {"type": "boolean"}}}}, "StorageList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "comment": {"type": "string"}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm", "netfs", "sheepdog", "iscsi", "gluster"]}, "storage_params": {"$ref": "#/components/schemas/StorageParamsAdditional"}, "is_network": {"type": "boolean"}, "clusters": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}, "tags": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "immortal": {"type": "boolean"}}}}}}}}}, "ClusterList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Cluster"}}, "size": {"type": "integer"}}}, "NodeForMigrate": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ram_mib": {"$ref": "#/components/schemas/ResourceUnused"}, "storage": {"$ref": "#/components/schemas/StorageForMigrate"}, "storages": {"type": "array", "items": {"$ref": "#/components/schemas/StorageForMigrate"}}, "priority": {"type": "number"}, "state": {"type": "string"}, "suitable": {"type": "boolean"}, "inconsistency_reason": {"type": "string", "enum": ["CPU", "RAM", "HDD", "IPv4", "IPv6", "BRIDGES", "NETWORK", "EXISTENCE", "FILTER", "LIBVIRT", "BAD_NODE_STATE", "HOST_LIMIT_EXCEEDED", "STORAGE_DISABLED_OR_MISSED", "STORAGE_IS_NOT_ACTIVE", "BAD_HA_STATE", "OS_INCONSISTENCY"]}, "host_creation_blocked": {"type": "boolean"}, "host_count": {"type": "integer"}, "host_limit": {"type": "integer"}}}, "DiskRestoreFromImage": {"type": "object", "properties": {"path": {"type": "string", "pattern": "^(/[\\w]+)+(\\.[\\w\\d]+)*"}}, "required": ["path"], "additionalProperties": false}, "EditIpPtrParams": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255, "format": "idn-domain"}}, "required": ["domain"], "additionalProperties": false}, "ClusterUser": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "host_count": {"type": "integer"}, "virtualization_type": {"type": "string", "enum": ["dummy", "kvm", "lxd", "vmmgr5", "vmmgr5_dummy"]}, "datacenter_type": {"type": "string", "enum": ["common", "hetzner", "ip_fabric"]}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"]}, "vxlan_settings": {"type": "string", "nullable": true}, "vxlans": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}}, "IfaceIpParams": {"type": "object", "properties": {"v4": {"type": "string", "nullable": true}, "v6": {"type": "string", "nullable": true}, "gateway_v4": {"type": "string", "nullable": true}, "gateway_v6": {"type": "string", "nullable": true}}}, "RecipeList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Recipe"}}}}, "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}}, "backup_mode": {"type": "string", "default": "host_main", "enum": ["host_main", "host_all", "disk"]}, "disks": {"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}, "HostRunRecipeParams": {"type": "object", "properties": {"recipe": {"type": "integer", "maxLength": 9}, "body": {"type": "string"}, "recipe_params": {"$ref": "#/components/schemas/HostRunRecipeParamsParams"}, "send_email": {"type": "boolean", "default": false}, "ignore_recipe_filters": {"type": "boolean", "default": false}, "recipients": {"type": "array", "items": {"type": "object", "properties": {"lang": {"type": "string", "enum": ["ru", "en"]}, "email": {"type": "string", "format": "email"}}, "required": ["lang"]}}}}, "HostHistoryItemName": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}}, "required": ["name"], "additionalProperties": false}, "NodeInImage": {"title": "NodeInImageList", "type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ip_addr": {"type": "string"}, "ssh_port": {"type": "integer"}}}, "ImageMoveParams": {"required": ["source", "destination"], "type": "object", "properties": {"source": {"type": "integer", "maxLength": 9}, "destination": {"type": "integer", "maxLength": 9}}}, "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"}}}}}}, "DnsServers": {"type": "array", "items": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "nullable": true}, "ScriptVariableParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "value": {"type": "string", "maxLength": 500}, "comment": {"type": "string", "maxLength": 200}, "hidden": {"type": "boolean"}, "enabled": {"type": "boolean"}, "builtin": {"type": "boolean"}, "account": {"type": "integer"}, "id": {"type": "integer"}, "scope": {"type": "string", "enum": ["global", "local"], "default": "local"}}, "required": ["name", "value"], "additionalProperties": false}, "NodeFileList": {"title": "NodeFiles", "type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/NodeFile"}}, "size": {"type": "integer"}}}, "ImportHistoryEditParams": {"type": "object", "properties": {"state": {"type": "string", "enum": ["created", "collecting_vm5_info", "backup_creating", "importing_to_vm6", "complete", "failed"]}}, "required": ["state"], "additionalProperties": false}, "ClusterVxlanList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/ClusterVxlan"}}}}, "HostRunRecipeParamsParams": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "value": {"type": "string"}}}}, "Node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "cluster": {"$ref": "#/components/schemas/ClusterInNodeList"}, "ip": {"type": "string"}, "vnc_addr": {"type": "string"}, "ssh_user": {"type": "string"}, "ipv6": {"type": "string"}, "state": {"type": "string"}, "maintenance_mode": {"type": "boolean"}, "maintenance": {"type": "object", "nullable": true, "properties": {"id": {"type": "integer"}, "state": {"type": "string", "enum": ["planned", "evacuation", "wait_exit", "return", "evacuation_failed", "return_failed", "done"]}, "is_cancelled": {"type": "boolean"}, "created_date": {"type": "string", "format": "datetime"}, "execution_date": {"type": "string", "format": "datetime"}}}, "storage_mib": {"$ref": "#/components/schemas/TotalUsed"}, "ram_mib": {"$ref": "#/components/schemas/TotalUsed"}, "cpu_number": {"type": "integer"}, "vcpu_limit": {"type": "integer", "minimum": -1, "nullable": true}, "comment": {"type": "string"}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"node_interface": {"type": "string"}, "network_switch": {"type": "string"}, "id": {"type": "integer"}}}}, "overselling": {"maximum": 5, "minimum": 0.5, "type": "number"}, "host_count": {"type": "integer"}, "host_limit": {"type": "integer"}, "host_filter": {"$ref": "#/components/schemas/HostFilterList"}, "port": {"type": "integer"}, "host_creation_blocked": {"type": "boolean"}, "spice_error": {"type": "object", "properties": {}, "nullable": true}, "hetzner_ipv6_enabled": {"type": "boolean"}, "can_be_reconnect": {"type": "boolean"}}}, "ClusterVxlanNodeList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/ClusterVxlanNode"}}}}, "StorageForMigrate": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm"]}, "available_mib": {"type": "integer"}}}, "MonitorTarget": {"type": "object", "properties": {"node_id": {"type": "integer"}, "host_id": {"type": "integer", "maxLength": 4, "nullable": true}, "internal_name": {"type": "string", "nullable": true}, "is_dummy": {"type": "boolean"}}, "required": ["is_dummy"], "additionalProperties": false}, "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"}}}}, "ImageParams": {"required": ["name"], "type": "object", "properties": {"name": {"maxLength": 255, "type": "string"}, "account": {"type": "number"}, "comment": {"type": "string"}, "for_all": {"type": "boolean"}, "storage": {"type": "number"}, "cleared": {"type": "boolean", "default": true}, "path_to_answers": {"type": "string"}}}, "HostBillOptionImageGib": {"type": "object", "properties": {"image_gib": {"type": "number"}}, "required": ["image_gib"], "additionalProperties": false}, "HostRecipeListItem": {"type": "object", "properties": {"recipe": {"type": "number"}, "recipe_params": {"$ref": "#/components/schemas/HostRunRecipeParamsParams"}}}, "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"}, "region": {"type": "string", "enum": ["ru", "eu"]}}}, "ssh": {"type": "object", "properties": {"key": {"type": "string"}, "config": {"type": "string"}}}, "node_limit": {"type": "integer"}, "node_limit_exceeded": {"type": "boolean"}, "last_notify": {"type": "integer"}}}, "HostIpv6": {"type": "object", "properties": {"gateway": {"type": "string", "format": "ipv6", "nullable": true}, "id": {"type": "integer"}, "ip_addr": {"type": "string"}, "ipv6_enabled": {"type": "boolean"}, "ipv6_ptr_enabled": {"type": "boolean"}, "last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"gateway": {"type": "string", "format": "ipv6"}, "id": {"type": "integer"}, "ip_addr": {"type": "string", "format": "ipv6"}, "network": {"type": "integer"}, "network_prefix": {"type": "integer", "minimum": 48, "maximum": 112}, "remote_id": {"type": "integer"}, "subnet": {"type": "string"}}}}, "network": {"type": "integer"}, "network_prefix": {"type": "integer"}, "remote_id": {"type": "integer"}, "subnet": {"type": "string"}}}, "Os": {"type": "object", "properties": {"name": {"type": "string"}, "id": {"type": "integer"}, "clusters": {"type": "array", "items": {"$ref": "#/components/schemas/ClusterInOS"}}, "repository": {"type": "string"}, "repository_id": {"type": "integer"}, "updated_at": {"type": "string"}, "tags": {"type": "array", "items": {"type": "string"}}, "state": {"type": "string"}, "adminonly": {"type": "boolean"}, "nodes": {"type": "array", "items": {"$ref": "#/components/schemas/NodeInImage"}}, "os_group": {"type": "string"}, "kms_supported": {"type": "boolean"}, "kms_ip": {"type": "string"}, "kms_port": {"type": "string"}, "is_lxd_image": {"type": "boolean"}, "product_key": {"type": "string"}, "comment": {"type": "string"}, "min_ram_mib": {"type": "number", "maxLength": 9}}}, "HostIfaceCreateParams": {"type": "object", "properties": {"name": {"type": "string", "nullable": true}, "mac": {"type": "string", "format": "mac", "nullable": true}, "model": {"$ref": "#/components/schemas/HostInterfaceModel"}, "bridge": {"type": "string", "nullable": true}, "bridge_id": {"type": "integer"}, "dhcp": {"type": "boolean"}, "is_main_network": {"type": "boolean", "nullable": true}, "ippool": {"type": "integer"}, "ip_count": {"type": "integer"}, "ip_name": {"$ref": "#/components/schemas/AnyIp"}, "ipv6_subnet": {"type": "integer", "minimum": 32, "maximum": 125}, "no_ip": {"type": "boolean"}, "vxlan": {"$ref": "#/components/schemas/AddIpParamsVxlan"}}, "anyOf": [{"required": ["is_main_network", "ip_name"], "type": "object"}, {"required": ["is_main_network", "ip_count"], "type": "object"}, {"required": ["is_main_network", "ippool", "ipv6_subnet"], "type": "object"}, {"required": ["is_main_network", "dhcp"], "type": "object"}, {"required": ["is_main_network", "no_ip"], "type": "object"}, {"required": ["vxlan"], "type": "object"}], "additionalProperties": false}, "NodeAddProblemParams": {"type": "object", "properties": {"problems": {"type": "array", "minItems": 1, "items": {"type": "string"}}}, "required": ["problems"], "additionalProperties": false}, "Recipe": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "repository": {"type": "string"}, "updated_at": {"type": "string"}, "tags": {"description": "List of tags(deprecated)", "type": "array", "items": {"type": "string"}}, "script_filter": {"description": "List of script filter reasons", "type": "array", "items": {"type": "object", "properties": {"entity": {"type": "string", "enum": ["os_tag", "hdd_mib", "ram_mib", "cluster", "preset", "cpu_number"], "example": "hdd_mib", "description": "Filter entity"}, "expression": {"type": "string", "description": "Filter expression", "example": "hdd_mib > 1024"}}, "example": {"entity": "os_tag", "expression": "\"centos6\",\"centos7\",\"debian\",\"ubuntu\""}}}, "has_email": {"type": "boolean"}, "access": {"type": "string"}, "params_count": {"type": "integer"}}}, "Host": {"type": "object", "properties": {"expand_part": {"type": "string"}, "id": {"type": "integer"}, "name": {"type": "string"}, "ip4": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string"}, "interface": {"type": "string"}}}}, "ip6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string"}, "interface": {"type": "string"}}}}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"host_interface": {"type": "string"}, "mac": {"type": "string"}, "node_interface": {"type": "integer"}, "dhcp": {"type": "boolean"}}}}, "node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ip_addr": {"type": "string"}, "live_migration_allowed": {"type": "boolean"}, "maintenance_mode": {"type": "boolean"}, "hot_plug_memory": {"type": "boolean"}}}, "cluster": {"type": "object", "properties": {"id": {"type": "integer"}}}, "state": {"type": "string"}, "domain": {"type": "string"}, "account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string"}}}, "comment": {"type": "string"}, "disk": {"type": "object", "properties": {"id": {"type": "integer"}, "disk_mib": {"type": "integer"}, "disk_mib_new": {"type": "integer"}}}, "disk_count": {"type": "integer"}, "cpu_number": {"type": "integer"}, "cpu_number_new": {"type": "integer"}, "efi_boot": {"type": "boolean"}, "ram_mib": {"type": "integer"}, "ram_mib_new": {"type": "integer"}, "hot_plug": {"type": "boolean"}, "live_resize": {"type": "boolean"}, "hot_plug_cell_counter": {"type": "integer"}, "net_bandwidth_mbitps": {"type": "integer"}, "net_bandwidth_mbitps_changed": {"type": "boolean"}, "ip_automation": {"type": "string"}, "ip_summary": {"type": "string"}, "net_is_synced": {"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"}, "iso_reboot": {"type": "boolean"}, "iso_status": {"$ref": "#/components/schemas/IsoStatus"}, "cpu_mode": {"type": "string"}, "nesting": {"type": "boolean"}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer"}, "io_weight": {"type": "integer"}, "io_read_mbitps": {"type": "integer"}, "io_write_mbitps": {"type": "integer"}, "io_read_iops": {"type": "integer"}, "io_write_iops": {"type": "integer"}, "net_in_mbitps": {"type": "integer"}, "net_out_mbitps": {"type": "integer"}, "net_weight": {"type": "integer"}, "anti_spoofing": {"type": "boolean"}, "anti_spoofing_settings": {"type": "object", "properties": {"vlan": {"type": "boolean"}}, "nullable": true}, "disabled": {"type": "boolean"}, "tcp_connections_in": {"type": "integer"}, "tcp_connections_out": {"type": "integer"}, "process_number": {"type": "integer"}, "vxlan": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "tag": {"type": "integer"}}}, "firewall_rules": {"type": "array", "items": {"type": "object", "properties": {"action": {"type": "string"}, "direction": {"type": "string"}, "protocols": {"type": "array", "items": {"type": "string"}}, "portstart": {"type": "integer"}, "portend": {"type": "integer"}}}}, "has_noname_iface": {"type": "boolean"}, "is_protected": {"type": "boolean"}, "extended_protection": {"type": "boolean"}, "vm5_restrictions": {"type": "object", "properties": {"net_iface_count": {"type": "boolean"}, "nat_or_extra": {"type": "boolean"}, "ipv6": {"type": "boolean"}, "unsupported_storage": {"type": "boolean"}, "iso": {"type": "boolean"}, "snapshot": {"type": "boolean"}}}, "spice_enabled": {"type": "boolean"}, "spice_additional_enabled": {"type": "boolean"}, "snapshot_count": {"type": "integer"}, "snapshot_limit": {"type": "integer"}, "snapshot_ram": {"type": "boolean"}, "snapshot_curr": {"type": "integer"}, "snapshots_allowed": {"type": "boolean"}, "balancer_mode": {"$ref": "#/components/schemas/HostBalancerMode"}, "linked_clone_image": {"type": "object", "properties": {"id": {"type": "integer", "nullable": true}, "name": {"type": "string", "nullable": true}}, "nullable": false}}}, "HostStatesParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"internal_name": {"type": "string", "maxLength": 255}, "state": {"type": "string", "maxLength": 255}, "guest_agent": {"type": "boolean"}, "date": {"type": "string", "format": "datetime", "maxLength": 255}, "autostart_enabled": {"type": "boolean"}, "uptime": {"type": "number", "maxLength": 10}}, "anyOf": [{"required": ["internal_name", "state", "date"], "type": "object"}, {"required": ["internal_name", "guest_agent", "date"], "type": "object"}], "additionalProperties": true}}}, "required": ["list"], "additionalProperties": false}, "HostMetadataParams": {"type": "object", "properties": {"base_resources": {"type": "object", "properties": {"cpu_numer": {"type": "integer"}, "ram_mib": {"type": "integer"}}}, "account": {"type": "object", "properties": {"id": {"type": "integer"}}}, "cluster": {"type": "object", "properties": {"id": {"type": "integer"}}}, "node": {"type": "object", "properties": {"id": {"type": "integer"}}}, "disks": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "size_mib": {"type": "integer"}, "boot_order": {"type": "integer"}, "target_dev": {"type": "string"}, "storage": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}, "domain": {"type": "string"}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "is_vxlan": {"type": "boolean"}, "vxlan_id": {"type": "integer"}, "mac_address": {"type": "string"}, "name": {"type": "string"}, "node_interface_name": {"type": "string"}}}}, "ipv4": {"type": "array", "items": {"type": "object", "properties": {"domain": {"type": "string"}, "gateway": {"type": "string", "format": "ipv4"}, "ip_addr": {"type": "string", "format": "ipv4"}, "interface_id": {"type": "integer"}, "ippool_id": {"type": "integer"}, "network_id": {"type": "integer"}}}}, "ipv6": {"type": "array", "items": {"type": "object", "properties": {"domain": {"type": "string"}, "gateway": {"type": "string", "format": "ipv6"}, "ip_addr": {"type": "string", "maxLength": 255}, "interface_id": {"type": "integer"}, "ippool_id": {"type": "integer"}, "network_id": {"type": "integer"}}}}, "preset": {"type": "integer"}, "tuned_resources": {"type": "object", "properties": {"anti_spoofing": {"type": "boolean"}, "cpu_mode": {"$ref": "#/components/schemas/CPUMode"}, "cpu_weight": {"type": "integer"}, "io_read_iops": {"type": "integer"}, "io_read_mbitps": {"type": "integer"}, "io_weight": {"type": "integer"}, "io_write_iops": {"type": "integer"}, "io_write_mbitps": {"type": "integer"}, "net_in_mbitps": {"type": "integer"}, "net_out_mbitps": {"type": "integer"}, "net_weight": {"type": "integer"}, "process_number": {"type": "integer"}, "tcp_connections_in": {"type": "integer"}, "tcp_connections_out": {"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"}}}, "NodeFile": {"type": "object", "properties": {"entity_id": {"type": "integer"}, "name": {"type": "string"}, "node": {"type": "integer"}, "path": {"type": "string"}, "size_mib": {"type": "integer"}, "type": {"type": "string"}}}, "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"}}}}}}}, "IdTasks": {"type": "object", "properties": {"id": {"type": "integer"}, "tasks": {"type": "array", "items": {"type": "integer"}}}}, "ClusterVxlanUser": {"type": "object", "properties": {"account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string", "format": "email"}}}, "hosts": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "vxlans": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "tag": {"type": "integer"}, "ranges": {"type": "array", "items": {"type": "string"}}}}}}}}}}, "ClusterInNodeList": {"title": "ClusterInNodeList", "type": "object", "properties": {"data_center": {"type": "string"}, "id": {"type": "integer"}, "name": {"type": "string"}, "time_zone": {"type": "string"}}}, "HostRescueModeParams": {"type": "object", "properties": {"rescue_mode": {"type": "boolean"}}, "required": ["rescue_mode"], "additionalProperties": false}, "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}}, "backup_mode": {"type": "string", "default": "host_main", "enum": ["host_main", "host_all", "disk"]}, "disks": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "presets": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["type", "start_time"], "additionalProperties": false}, "NetworkCreateParams": {"type": "object", "properties": {"gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}, "need_reserve": {"type": "boolean"}, "name": {"type": "string", "format": "iprange"}, "vlan": {"type": "string"}, "note": {"type": "string"}}, "required": ["gateway", "name"], "additionalProperties": false}, "Deleted": {"type": "object", "properties": {"deleted": {"type": "array", "items": {"$ref": "#/components/schemas/Id"}}}}, "PresetEditParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "virtualization_type": {"type": "string", "enum": ["kvm", "lxd"]}, "comment": {"type": "string", "nullable": true}, "ram_mib": {"type": "number", "maxLength": 9}, "hdd_mib": {"type": "number", "maxLength": 9}, "disks": {"$ref": "#/components/schemas/HostDisks"}, "cpu_number": {"type": "number", "maxLength": 9}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"]}, "nesting": {"type": "boolean"}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000}, "io_read_mbitps": {"type": "integer", "minimum": -1}, "io_write_mbitps": {"type": "integer", "minimum": -1}, "io_read_iops": {"type": "integer", "minimum": -1}, "io_write_iops": {"type": "integer", "minimum": -1}, "net_in_mbitps": {"type": "integer", "minimum": 0}, "net_out_mbitps": {"type": "integer", "minimum": 0}, "net_weight": {"type": "integer", "minimum": 0, "maximum": 10}, "anti_spoofing": {"type": "boolean"}, "anti_spoofing_settings": {"type": "object", "properties": {"vlan": {"type": "boolean"}}, "nullable": true}, "tcp_connections_in": {"type": "integer", "minimum": 0}, "tcp_connections_out": {"type": "integer", "minimum": 0}, "process_number": {"type": "integer", "minimum": -1}, "firewall_rules": {"$ref": "#/components/schemas/FirewallRules"}, "spice_enabled": {"type": "boolean"}, "spice_additional_enabled": {"type": "boolean"}, "snapshot_limit": {"type": "integer", "minimum": -1}, "snapshot_ram": {"type": "boolean"}, "snapshots_allowed": {"type": "boolean"}, "hot_plug": {"type": "boolean"}, "live_resize": {"type": "boolean"}}, "additionalProperties": false}, "LocationList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/LocationInList"}}}}, "DiskEditParams": {"type": "object", "properties": {"name": {"type": "string"}, "account": {"type": "number"}, "size_mib": {"type": "number", "maxLength": 9}, "live_resize": {"type": "boolean"}, "expand_part": {"type": "string", "nullable": true}, "pool": {"type": "number", "maxLength": 9}, "defer": {"type": "object", "properties": {"action": {"type": "string", "enum": ["host_stop"]}}, "additionalProperties": false}}, "additionalProperties": false}, "NodeIfaceList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/NodeIface"}}, "size": {"type": "integer"}}}, "HostPtrList": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"family": {"type": "integer", "enum": [2, 10]}, "gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}, "ip": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "domain": {"type": "string"}, "status": {"type": "string", "enum": ["fail", "ok", "in_progress"]}}}}, "ip_count": {"type": "integer"}, "network": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "prefix": {"type": "integer"}}}}}}, "Disk": {"type": "object", "properties": {"id": {"type": "integer"}, "bus": {"type": "string", "enum": ["virtio", "scsi", "ide"], "nullable": true}, "name": {"type": "string"}, "expand_part": {"type": "string", "nullable": true}, "target_dev": {"type": "string"}, "size_mib": {"type": "integer"}, "size_mib_new": {"type": "integer", "nullable": true}, "account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string", "format": "email", "maxLength": 255}}}, "storage": {"type": "object", "nullable": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "reserved_storage2node": {"type": "integer", "nullable": true}, "tags": {"type": "array", "items": {"type": "integer"}}, "host": {"type": "object", "nullable": true, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "boot_order": {"type": "integer"}, "is_main": {"type": "boolean", "nullable": true}, "bus": {"type": "string", "enum": ["virtio", "scsi", "ide"], "nullable": true}, "snapshot_count": {"type": "integer"}}}, "node": {"type": "object", "nullable": true, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "cluster": {"type": "object", "nullable": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm"]}}}}, "additionalProperties": false}, "ImportHistoryResultParams": {"type": "object", "properties": {"state": {"type": "string", "enum": ["complete", "failed"]}, "result": {"type": "object", "properties": {}, "additionalProperties": true}}, "required": ["state", "result"]}, "HostReinstallParams": {"type": "object", "properties": {"os": {"type": "number", "maxLength": 9}, "image": {"type": "number", "maxLength": 9}, "recipe_list": {"type": "array", "items": {"$ref": "#/components/schemas/HostRecipeListItem"}}, "recipe": {"type": "number", "nullable": true}, "recipe_params": {"$ref": "#/components/schemas/HostRunRecipeParamsParams"}, "ignore_recipe_filters": {"type": "boolean", "default": false}, "send_email_mode": {"type": "string", "enum": ["default", "saas_only"]}, "password": {"type": "string", "minLength": 6, "maxLength": 255}, "disk": {"type": "integer", "nullable": true}, "efi_boot": {"type": "boolean"}}, "additionalProperties": false}, "ClusterSshKey": {"type": "object", "properties": {"ssh_keys": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["ssh_keys"], "additionalProperties": false}, "IdName": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "VxlanList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Vxlan"}}}}, "DiskParams": {"type": "object", "properties": {"name": {"type": "string"}, "size_mib": {"type": "integer"}, "node": {"type": "integer"}, "account": {"type": "integer", "nullable": true}, "storage": {"type": "integer", "nullable": true}, "expand_part": {"type": "string", "nullable": true}}, "required": ["name", "size_mib", "node"], "additionalProperties": false}, "HostAccountParams": {"type": "object", "properties": {"account": {"type": "number", "maxLength": 9}}, "required": ["account"], "additionalProperties": false}, "StorageNodeChangeStateParams": {"type": "object", "properties": {"state": {"type": "string", "enum": ["creating", "active", "unavailable", "crashed"]}}, "required": ["state"], "additionalProperties": false}, "EditIpParams": {"type": "object", "properties": {"values": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255, "format": "domain"}, "gateway": {"type": "string", "maxLength": 255}, "ip_addr": {"type": "string", "maxLength": 255}, "netmask": {"type": "string", "maxLength": 255}}}}, "required": ["values"], "additionalProperties": false}, "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}, "vcpu_limit": {"type": "integer", "minimum": -1, "nullable": true}, "ipv6": {"type": "string", "format": "ipv6", "nullable": true}, "host_limit": {"type": "integer", "minimum": -1}, "host_filter": {"$ref": "#/components/schemas/HostFilterList"}, "values": {"type": "object"}, "ssh_user": {"type": "string"}}}, "HostIface": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "bridge": {"type": "string", "nullable": true}, "bridge_id": {"type": "integer"}, "dhcp": {"type": "boolean"}, "ip": {"type": "array", "items": {"type": "string"}}, "is_main_network": {"type": "boolean"}, "mac": {"type": "string"}, "model": {"type": "string"}, "network_type": {"$ref": "#/components/schemas/HostInterfaceNetworkType"}, "vxlan": {"type": "integer"}}}, "StorageChangeStateParams": {"type": "object", "properties": {"state": {"type": "string", "enum": ["creating", "active", "unavailable", "crashed"]}}, "required": ["state"], "additionalProperties": false}, "RecipeSaveParams": {"type": "object", "properties": {"repository_id": {"type": "integer", "maxLength": 9}, "url": {"type": "string", "maxLength": 255}, "recipes": {"type": "array", "items": {"type": "object"}}}, "required": ["repository_id", "url", "recipes"], "additionalProperties": false}, "NodeChangeIpParams": {"title": "Change node IP", "required": ["ip", "ssh_port"], "type": "object", "properties": {"ip": {"type": "string", "maxLength": 255}, "vnc_addr": {"type": "string", "maxLength": 255}, "ssh_port": {"type": "number", "maxLength": 9}}, "description": "Change node IP validation schema"}, "StorageInCluster": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string"}, "enabled": {"type": "boolean"}, "is_main": {"type": "boolean"}, "virt_pool": {"$ref": "#/components/schemas/VirtPoolParams"}, "tags": {"type": "array", "items": {"type": "integer"}}}}, "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}, "DatacenterEditParams": {"type": "object", "properties": {"bgp_community": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as": {"type": "integer", "minimum": 1, "nullable": true}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv4"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}, "bgp_community_v6": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as_v6": {"type": "integer", "minimum": 1, "nullable": true}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv6"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}}, "additionalProperties": false}, "IppoolCluster": {"type": "object", "properties": {"name": {"type": "string"}, "id": {"type": "integer"}, "enabled": {"type": "boolean"}, "interface": {"type": "integer"}}}, "IsoOsType": {"type": "string", "enum": ["linux", "freebsd", "windows", "other_os"], "default": "other_os"}, "RecipeParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "description": {"type": "string", "maxLength": 150}, "script_filter": {"$ref": "#/components/schemas/HostFilterList"}, "script": {"type": "string"}, "for_all": {"type": "boolean"}, "user_visible": {"type": "boolean", "default": true}, "account": {"type": "integer", "maxLength": 9}, "email_content": {"type": "array", "items": {"type": "object", "properties": {"lang": {"type": "string", "enum": ["ru", "en"]}, "content": {"type": "string"}, "subject": {"type": "string"}}}}, "type": {"type": "string", "enum": ["shell", "ansible", "power_shell"], "default": "shell"}, "params": {"$ref": "#/components/schemas/RecipeParamsParams"}}, "required": ["name", "script"], "additionalProperties": false}, "BackupChangeParams": {"type": "object", "properties": {"name": {"maxLength": 255, "type": "string"}, "comment": {"type": "string"}}}, "VxlanParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "comment": {"type": "string", "maxLength": 200}, "account": {"type": "integer"}, "ipnets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string", "format": "iprange"}, "gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}}}}, "clusters": {"type": "array", "items": {"type": "integer"}}}, "required": ["name", "ipnets", "clusters"], "additionalProperties": false}, "HostInterfaceNetworkType": {"type": "string", "enum": ["main", "secondary", "vxlan"]}, "RepositoryEditParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}}, "required": ["name"], "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"}, "state": {"type": "string", "enum": ["active", "crashed", "creating", "deleting", "in_use", "migrating", "copying"]}, "expand_part": {"type": "string", "nullable": true}, "backup_location": {"$ref": "#/components/schemas/LocationInBackup"}}}, "Preset": {"type": "object", "properties": {"id": {"type": "integer"}, "virtualization_type": {"type": "string", "enum": ["kvm", "lxd"], "default": "kvm"}, "name": {"type": "string", "minLength": 1, "maxLength": 255}, "comment": {"type": "string", "nullable": true}, "ram_mib": {"type": "number", "maxLength": 9}, "hdd_mib": {"type": "number", "maxLength": 9}, "disks": {"$ref": "#/components/schemas/HostDisks"}, "cpu_number": {"type": "number", "maxLength": 9}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"]}, "nesting": {"type": "boolean"}, "cpu_custom_model": {"type": "string"}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000}, "io_read_mbitps": {"type": "integer", "minimum": -1}, "io_write_mbitps": {"type": "integer", "minimum": -1}, "io_read_iops": {"type": "integer", "minimum": -1}, "io_write_iops": {"type": "integer", "minimum": -1}, "net_in_mbitps": {"type": "integer", "minimum": 0}, "net_out_mbitps": {"type": "integer", "minimum": 0}, "net_weight": {"type": "integer", "minimum": 0, "maximum": 10}, "anti_spoofing": {"type": "boolean"}, "anti_spoofing_settings": {"type": "object", "properties": {"vlan": {"type": "boolean"}}, "nullable": true}, "tcp_connections_in": {"type": "integer", "minimum": 0}, "tcp_connections_out": {"type": "integer", "minimum": 0}, "process_number": {"type": "integer", "minimum": -1}, "spice_enabled": {"type": "boolean"}, "spice_additional_enabled": {"type": "boolean"}, "snapshot_limit": {"type": "integer"}, "snapshot_ram": {"type": "boolean"}, "snapshots_allowed": {"type": "boolean"}, "hot_plug": {"type": "boolean"}, "live_resize": {"type": "boolean"}}}, "EditTaskParams": {"type": "object", "properties": {"status": {"type": "string", "enum": ["running", "complete", "failed"]}, "output": {"anyOf": [{"type": "string"}, {"type": "object"}], "nullable": true}, "name": {"type": "string"}}, "required": ["status"], "additionalProperties": false}, "DatacenterParams": {"type": "object", "properties": {"gateway": {"type": "string"}, "mac": {"type": "string"}, "bgp_community": {"type": "string"}, "bgp_as": {"type": "integer"}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string"}, "bgp_as": {"type": "integer"}, "comment": {"type": "string"}}}}, "bgp_community_v6": {"type": "string"}, "bgp_as_v6": {"type": "integer"}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string"}, "bgp_as": {"type": "integer"}, "comment": {"type": "string"}}}}}}, "HostNodeList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/HostNode"}}}}, "MultipleNodesMaintenanceModeResponse": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"node_id": {"type": "integer"}, "evacuation_id": {"type": "integer"}}}}}}, "RepositoryIsoDownloadParams": {"type": "object", "properties": {"name": {"type": "string"}, "url": {"type": "string", "format": "uri", "maxLength": 255}, "os_type": {"$ref": "#/components/schemas/IsoOsType"}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "comment": {"type": "string"}}, "required": ["url"], "additionalProperties": false}, "VirtPoolParams": {"type": "object", "properties": {"vm_storage_path": {"type": "string", "maxLength": 255}, "volume_group": {"type": "string", "maxLength": 255}, "zfs_pool_name": {"type": "string", "maxLength": 255}, "nas_storage_path": {"type": "string", "maxLength": 255}, "rbd_pool_name": {"type": "string", "maxLength": 255}, "rbd_user": {"type": "string", "maxLength": 255}, "placement_groups": {"type": "integer", "nullable": true}, "network_disk_path": {"type": "string", "maxLength": 255}}}, "HostParams": {"type": "object", "properties": {"name": {"type": "string", "pattern": "^[a-zA-Z0-9]{1}[a-zA-Z0-9-_.]+($)", "maxLength": 49}, "cluster": {"type": "integer", "maxLength": 9}, "node": {"type": "integer", "maxLength": 9}, "storage": {"type": "integer", "maxLength": 9}, "account": {"type": "integer", "maxLength": 9}, "domain": {"type": "string", "maxLength": 255, "format": "domain"}, "preset": {"type": "integer", "maxLength": 9}, "os": {"type": "integer", "maxLength": 9}, "image": {"type": "integer", "maxLength": 9}, "linked_clone": {"type": "boolean", "default": false}, "expand_part": {"type": "string", "nullable": true}, "recipe_list": {"type": "array", "items": {"$ref": "#/components/schemas/HostRecipeListItem"}}, "recipe": {"type": "integer", "nullable": true}, "recipe_params": {"$ref": "#/components/schemas/HostRunRecipeParamsParams"}, "ignore_recipe_filters": {"type": "boolean", "default": false}, "password": {"type": "string", "minLength": 6, "maxLength": 255}, "ram_mib": {"type": "number", "maxLength": 9}, "hdd_mib": {"type": "number", "maxLength": 9}, "disks": {"$ref": "#/components/schemas/HostDisks"}, "cpu_number": {"type": "number", "maxLength": 9}, "hot_plug": {"type": "boolean"}, "live_resize": {"type": "boolean"}, "efi_boot": {"type": "boolean"}, "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}, "without_allocation": {"type": "boolean"}}, "required": ["name"], "additionalProperties": false}, "ipv6_enabled": {"type": "boolean"}, "ipv6_pool": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "ipv6_prefix": {"type": "integer", "minimum": 32, "maximum": 125}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "ipv4_number": {"type": "number", "maxLength": 9}, "comment": {"type": "string"}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"cluster_interface": {"type": "integer", "minimum": 0, "maximum": 1}, "ipv4_number": {"type": "number", "maxLength": 9}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "ip_name": {"type": "string", "maxLength": 255}, "without_allocation": {"type": "boolean", "default": false}}, "oneOf": [{"required": ["cluster_interface", "ipv4_number"], "type": "object"}, {"required": ["cluster_interface", "ip_name"], "type": "object"}], "additionalProperties": false}}, "custom_interfaces": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "mac": {"type": "string", "format": "mac", "nullable": true}, "model": {"$ref": "#/components/schemas/HostInterfaceModel"}, "bridge": {"type": "string", "nullable": true}, "bridge_id": {"type": "integer"}, "dpg_id": {"type": "integer"}, "dhcp": {"type": "boolean"}, "is_main_network": {"type": "boolean"}, "ippool": {"type": "integer", "maxLength": 9}, "ip_count": {"type": "integer", "maxLength": 9}, "ip_name": {"type": "string", "maxLength": 255}, "ip_network": {"type": "integer", "maxLength": 9}, "ipv6_prefix": {"type": "integer", "minimum": 32, "maximum": 125}, "no_ip": {"type": "boolean"}, "without_allocation": {"type": "boolean", "default": false}}, "anyOf": [{"required": ["ip_name"], "type": "object"}, {"required": ["ip_count"], "type": "object"}, {"required": ["ippool", "ipv6_prefix"], "type": "object"}, {"required": ["dhcp"], "type": "object"}, {"required": ["no_ip"], "type": "object"}, {"required": ["vxlan"], "type": "object"}], "additionalProperties": false}}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"], "nullable": true}, "nesting": {"type": "boolean", "nullable": true}, "cpu_custom_model": {"type": "string", "nullable": true}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000, "nullable": true}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000, "nullable": true}, "io_read_mbitps": {"type": "integer", "minimum": -1, "nullable": true}, "io_write_mbitps": {"type": "integer", "minimum": -1, "nullable": true}, "io_read_iops": {"type": "integer", "minimum": -1, "nullable": true}, "io_write_iops": {"type": "integer", "minimum": -1, "nullable": true}, "net_in_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_out_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_weight": {"type": "integer", "minimum": 0, "nullable": true}, "anti_spoofing": {"type": "boolean", "nullable": true}, "anti_spoofing_settings": {"type": "object", "properties": {"vlan": {"type": "boolean"}}, "nullable": true}, "tcp_connections_in": {"type": "integer", "minimum": 0, "nullable": true}, "tcp_connections_out": {"type": "integer", "minimum": 0, "nullable": true}, "process_number": {"type": "integer", "minimum": -1, "nullable": true}, "firewall_rules": {"$ref": "#/components/schemas/FirewallRules"}, "send_email_mode": {"type": "string", "enum": ["default", "saas_only"]}, "vxlan": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "ipv4_number": {"type": "integer"}, "ipnet": {"type": "integer"}, "mac": {"type": "string", "format": "mac", "nullable": true}, "model": {"$ref": "#/components/schemas/HostInterfaceModel"}}, "required": ["id", "ipv4_number", "ipnet"], "additionalProperties": false}}, "spice_enabled": {"type": "boolean"}, "spice_additional_enabled": {"type": "boolean"}, "snapshot_limit": {"type": "integer", "minimum": -1}, "snapshot_ram": {"type": "boolean"}, "snapshots_allowed": {"type": "boolean"}}, "required": ["name"], "additionalProperties": false}, "HostNode": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "internal_name": {"type": "string"}, "node": {"type": "object", "properties": {"id": {"type": "integer"}, "ip_addr": {"type": "string"}}}, "virtualization_type": {"type": "string"}}}, "VncSettingsParams": {"type": "object", "properties": {"password": {"type": "string", "maxLength": 8}}, "required": ["password"], "additionalProperties": false}, "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}, "comment": {"type": "string"}}, "additionalProperties": false}, "HddOverselling": {"type": "object", "properties": {"hdd_overselling": {"type": "number"}}}, "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"}}}}}}}, "HaStorageParamsCeph": {"type": "object", "properties": {"fs_name": {"type": "string"}, "directory": {"type": "string"}, "username": {"type": "string"}}, "required": ["fs_name", "directory", "username"], "additionalProperties": false}, "EnableSendingParams": {"type": "object", "properties": {"value": {"type": "boolean"}}, "required": ["value"], "additionalProperties": false}, "ClusterInternalEditParams": {"type": "object", "properties": {"qemu_version": {"type": "string", "maxLength": 255}, "balancer_mode": {"$ref": "#/components/schemas/ClusterBalancerMode"}, "balancer_config": {"$ref": "#/components/schemas/BalancerConfig"}}, "additionalProperties": false}, "IpWithState": {"type": "object", "properties": {"id": {"type": "integer"}, "ip_addr": {"type": "string"}, "state": {"type": "string"}}}, "HostBalancerMode": {"type": "string", "enum": ["off", "cluster"]}, "EditNetworkParams": {"type": "object", "properties": {"gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}, "need_reserve": {"type": "boolean"}, "name": {"type": "string", "format": "iprange"}, "vlan": {"type": "string"}, "note": {"type": "string"}}, "additionalProperties": false}, "MaxUserIsoSizeParams": {"type": "object", "properties": {"value": {"type": "integer"}}, "required": ["value"], "additionalProperties": false}, "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"]}, "AddIpParams": {"type": "object", "properties": {"host_interface": {"type": "integer", "maxLength": 9}, "ip_addr": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "ip_pool": {"type": "integer", "maxLength": 9}, "ip_network": {"type": "integer", "maxLength": 9}, "without_allocation": {"type": "boolean"}}, "oneOf": [{"required": ["name"], "type": "object"}, {"required": ["name", "ip_pool", "ip_network"], "type": "object"}], "additionalProperties": false}, "ipv6_pool": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "ipv6_prefix": {"type": "integer", "minimum": 32, "maximum": 125}, "ipv6_enabled": {"type": "boolean"}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "ipv4_number": {"type": "number", "maxLength": 9}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"cluster_interface": {"type": "integer", "minimum": 0, "maximum": 1}, "host_interface": {"type": "integer", "nullable": true}, "ipv4_number": {"type": "number", "maxLength": 9}, "ipv4_pool": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "ip_name": {"type": "string", "maxLength": 255}, "ip_network": {"type": "integer", "maxLength": 9}, "ipv6_pool": {"type": "integer", "maxLength": 9}, "ipv6_prefix": {"type": "integer", "minimum": 32, "maximum": 125}, "dhcp": {"type": "boolean", "default": false}, "no_ip": {"type": "boolean", "default": false}, "without_allocation": {"type": "boolean", "default": false}}, "oneOf": [{"required": ["cluster_interface", "ipv4_number"], "type": "object"}, {"required": ["cluster_interface", "ip_name"], "type": "object"}, {"required": ["cluster_interface", "ipv6_pool", "ipv6_prefix"], "type": "object"}, {"required": ["cluster_interface", "dhcp"], "type": "object"}, {"required": ["cluster_interface", "no_ip"], "type": "object"}], "additionalProperties": false}}, "vxlan": {"type": "array", "items": {"$ref": "#/components/schemas/AddIpParamsVxlan"}}}, "additionalProperties": false}, "ImageChangeStateParams": {"type": "object", "properties": {"state": {"type": "string", "maxLength": 255}}, "additionalProperties": false}, "BalancerConfig": {"type": "object", "properties": {"period_minutes": {"type": "integer", "format": "int32", "minimum": 1}, "high_threshold_cpu": {"type": "integer", "format": "int32", "minimum": 0, "maximum": 100}, "high_threshold_mem": {"type": "integer", "format": "int32", "minimum": 0, "maximum": 100}}, "additionalProperties": false}, "ClusterVxlanUserList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/ClusterVxlanUser"}}}}, "NodeMaintenanceInfo": {"type": "object", "properties": {"id": {"type": "integer"}, "node_id": {"type": "integer"}, "need_evacuation": {"type": "boolean"}, "is_cancelled": {"type": "boolean"}, "status": {"type": "string", "enum": ["planned", "evacuation", "wait_exit", "return", "evacuation_failed", "return_failed", "done"]}, "ignore_images_and_backups": {"type": "boolean"}, "host": {"type": "object", "properties": {"total_count": {"type": "integer"}, "remain_count": {"type": "integer"}, "migrated_count": {"type": "integer"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/MaintenanceEntity"}}}}, "disk": {"type": "object", "properties": {"total_count": {"type": "integer"}, "remain_count": {"type": "integer"}, "migrated_count": {"type": "integer"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/MaintenanceEntity"}}}}, "image": {"type": "object", "properties": {"total_count": {"type": "integer"}, "remain_count": {"type": "integer"}, "migrated_count": {"type": "integer"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/MaintenanceEntity"}}}}, "backup": {"type": "object", "properties": {"total_count": {"type": "integer"}, "remain_count": {"type": "integer"}, "migrated_count": {"type": "integer"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/MaintenanceEntity"}}}}}}, "NodeIface": {"type": "object", "properties": {"name": {"type": "string"}, "id": {"type": "integer"}, "ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}, "type": {"type": "string", "enum": ["eth", "bond", "bridge"]}, "state": {"type": "string"}, "used": {"type": "boolean"}, "take_slave_ip": {"type": "boolean"}, "host_count": {"type": "integer"}, "vlan": {"type": "integer", "nullable": true}, "is_default": {"type": "boolean", "nullable": true}, "is_main_network": {"type": "boolean", "nullable": true}, "slaves": {"type": "array", "items": {"type": "string"}}, "mode": {"type": "string", "enum": ["active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"], "nullable": true}, "old_values": {"type": "object", "properties": {"name": {"type": "string"}, "ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}, "type": {"type": "string", "enum": ["physical", "bond", "bridge"]}, "state": {"type": "string", "enum": ["enabled", "disabled", "new", "changed", "deleted", "unknown"]}, "used": {"type": "boolean"}, "host_count": {"type": "integer"}, "vlan": {"type": "integer", "nullable": true}, "is_default": {"type": "boolean", "nullable": true}, "is_main_network": {"type": "boolean", "nullable": true}, "slaves": {"type": "array", "items": {"type": "string"}}, "mode": {"type": "string", "enum": ["active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"], "nullable": true}}}}}, "TotalUsed": {"type": "object", "properties": {"total": {"type": "integer"}, "used": {"type": "integer"}}}, "IppoolEditParams": {"type": "object", "properties": {"auto_selection_allowed": {"type": "boolean"}}}, "LastNotify": {"type": "integer"}, "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}, "OsIsoEditParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "os_type": {"$ref": "#/components/schemas/IsoOsType"}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "clusters": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "comment": {"type": "string"}}, "oneOf": [{"type": "object", "required": ["os_type"]}, {"type": "object", "required": ["clusters"]}], "additionalProperties": false}, "ClusterVxlanNode": {"type": "object", "properties": {"node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "vxlans": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "tag": {"type": "integer"}, "hosts": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ranges": {"type": "array", "items": {"type": "string"}}}}}}}}}}, "ClusterBalancerMode": {"type": "string", "enum": ["off", "full"]}, "DiskMigrateParams": {"type": "object", "properties": {"storage": {"type": "integer", "maxLength": 9}, "node": {"type": "integer", "maxLength": 9}, "plain": {"type": "boolean"}}, "anyOf": [{"required": ["storage"], "type": "object"}, {"required": ["node"], "type": "object"}], "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}, "SettingParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "value": {"type": "string"}}, "required": ["name", "value"], "additionalProperties": false}, "InviteParams": {"type": "object", "properties": {"email": {"type": "string", "format": "email", "maxLength": 255}, "role": {"type": "string"}}, "required": ["email", "role"], "additionalProperties": false}, "DatacenterCreateParams": {"type": "object", "properties": {"gateway": {"type": "string", "format": "ipv4", "default": "10.0.0.1"}, "mac": {"type": "string", "format": "mac", "default": "02:00:00:00:00:01"}, "bgp_community": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as": {"type": "integer", "minimum": 1}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv4"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}, "bgp_community_v6": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as_v6": {"type": "integer", "minimum": 1}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv6"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}}, "anyOf": [{"required": ["bgp_as", "bgp_sessions"], "type": "object"}, {"required": ["bgp_as_v6", "bgp_sessions_v6"], "type": "object"}], "additionalProperties": false}, "ClusterVxlan": {"type": "object", "properties": {"account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string"}}}, "id": {"type": "integer"}, "name": {"type": "string"}, "tag": {"type": "integer"}, "hosts": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}}, "ranges": {"type": "array", "items": {"type": "string"}}}}, "DiskBackup": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string", "format": "email"}}}, "disk": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "actual_size_mib": {"type": "integer"}, "estimated_size_mib": {"type": "integer"}, "cluster": {"type": "object", "properties": {"id": {"type": "integer"}, "datacenter_type": {"type": "string", "enum": ["common", "hetzner", "ip_fabric"]}, "image_storage_path": {"type": "string"}, "name": {"type": "string"}}}, "host": {"type": "integer", "nullable": true}, "schedule": {"type": "integer", "nullable": true}, "date_create": {"type": "string"}, "available_until": {"type": "string"}, "comment": {"type": "string"}, "backup_location": {"$ref": "#/components/schemas/LocationInBackup"}}}, "ImageCopyParams": {"required": ["node"], "type": "object", "properties": {"node": {"type": "integer", "maxLength": 9}}}, "OsIsoSaveParams": {"type": "object", "properties": {"repository_id": {"type": "number", "maxLength": 9}, "images": {"type": "array", "items": {"type": "object"}}}, "required": ["repository_id", "images"], "additionalProperties": false}, "StorageAttachParams": {"type": "object", "properties": {"virt_pool": {"$ref": "#/components/schemas/VirtPoolParams"}, "is_main": {"type": "boolean"}, "hdd_overselling": {"type": "number", "minimum": 0.5, "maximum": 100}, "ignore_checks": {"type": "boolean"}, "ha_params": {"$ref": "#/components/schemas/HaStorageParams"}}, "required": ["virt_pool"], "additionalProperties": false}, "ReinviteParams": {"type": "object", "properties": {"email": {"type": "string", "format": "email", "maxLength": 255}, "role": {"type": "string"}}, "required": ["email", "role"], "additionalProperties": false}, "NodeList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Node"}}}}, "Vxlan": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string", "maxLength": 255}, "comment": {"type": "string", "maxLength": 255}, "account": {"type": "object", "properties": {"id": {"type": "integer"}, "email": {"type": "string", "format": "email"}}}, "tag": {"type": "integer", "nullable": true}, "host_count": {"type": "integer"}, "clusters": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string", "maxLength": 255}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"]}, "vxlan_settings": {"type": "string", "nullable": true}, "vxlan_host_count": {"type": "integer"}}}}, "ipnets": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "gateway": {"type": "string"}, "vxlan_host_count": {"type": "integer"}}}}, "ippool": {"type": "integer"}}}, "HostIfacesParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"internal_name": {"type": "string"}, "net_is_synced": {"type": "boolean", "default": false}, "ifaces": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "mac": {"type": "string", "format": "mac"}, "ip": {"type": "array", "items": {"type": "object", "properties": {"ip_family": {"type": "integer"}, "name": {"$ref": "#/components/schemas/AnyIp"}}}, "nullable": true}}}}, "date": {"type": "string", "format": "datetime"}}}, "required": ["internal_name", "ifaces", "date"], "additionalProperties": false}}, "required": ["list"], "additionalProperties": false}, "HostIpv4": {"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"}, "interface": {"type": "integer"}, "interface_name": {"type": "string"}}}, "cluster_interface": {"type": "integer"}, "vxlan": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "tag": {"type": "integer"}}}}}, "SetTimeoutParams": {"type": "object", "properties": {"timeout_seconds": {"type": "number", "minimum": 1}}, "required": ["timeout_seconds"], "additionalProperties": false}, "TaskHaSyncParams": {"type": "object", "properties": {"hosts": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "events": {"type": "array", "items": {"type": "object", "properties": {"relocate_id": {"type": "integer"}, "status": {"type": "string", "enum": ["created", "running", "complete", "aborted", "failed"]}, "params": {"type": "object", "nullable": true}}, "required": ["relocate_id", "status", "params"]}}}, "required": ["name", "events"]}}}, "required": ["hosts"]}, "HostFilter": {"type": "object", "properties": {"entity": {"type": "string", "maxLength": 32, "enum": ["os_tag", "cluster", "preset", "cpu_number", "ram_mib", "hdd_gib", "complex"]}, "expression": {"type": "string"}}}, "NodeMaintenanceModeInitParams": {"type": "object", "properties": {"need_evacuation": {"type": "boolean", "default": true}, "ignore_filters": {"type": "boolean", "default": false}, "ignore_images_and_backups": {"type": "boolean", "default": false}, "node_except": {"type": "array", "items": {"type": "integer"}}}}, "ClusterParams": {"type": "object", "properties": {"virtualization_type": {"type": "string", "enum": ["dummy", "kvm", "lxd"]}, "datacenter_type": {"type": "string", "enum": ["common", "hetzner", "ip_fabric"], "default": "common"}, "name": {"type": "string", "minLength": 2, "maxLength": 255, "default": "cl1"}, "comment": {"type": "string"}, "iso_enabled": {"type": "boolean", "default": false}, "manage_disk_enabled": {"type": "boolean", "default": false}, "time_zone": {"type": "string", "default": "UTC", "maxLength": 255}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"interface": {"type": "integer", "maxLength": 2}, "ippool": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["interface", "ippool"]}}, "os": {"type": "array", "items": {"type": "number", "maxLength": 9}}, "backup_locations": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "os_storage_path": {"type": "string", "maxLength": 255, "default": "/share"}, "image_storage_path": {"type": "string", "maxLength": 255, "default": "/images"}, "overselling": {"type": "number", "minimum": 0.5, "maximum": 5, "default": 1}, "cpu_overselling": {"type": "number", "minimum": -1, "maximum": 100, "default": -1}, "host_distribution_policy": {"type": "string", "enum": ["spread", "tight"], "default": "spread"}, "host_filter": {"$ref": "#/components/schemas/HostFilterList"}, "domain_template": {"type": "string"}, "datacenter_params": {"$ref": "#/components/schemas/DatacenterCreateParams"}, "domain_change_allowed": {"type": "boolean", "default": false}, "proxy_enabled": {"type": "boolean", "default": false}, "host_per_node_limit": {"type": "integer", "minimum": -1, "default": -1}, "dns_servers": {"$ref": "#/components/schemas/DnsServers"}, "node_network": {"$ref": "#/components/schemas/ClusterNodeNetwork"}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"], "default": "disabled"}, "vxlan_settings": {"$ref": "#/components/schemas/VxlanSettingsParams"}, "spice_enabled": {"type": "boolean"}, "balancer_mode": {"$ref": "#/components/schemas/ClusterBalancerMode"}, "balancer_config": {"$ref": "#/components/schemas/BalancerConfig"}}, "required": ["name", "virtualization_type", "os_storage_path", "image_storage_path"], "additionalProperties": false}, "MaintenanceEntity": {"type": "object", "properties": {"entity_id": {"type": "integer"}, "entity_name": {"type": "string", "enum": ["host", "disk", "backup", "image"]}, "source_id": {"type": "integer"}, "destination_id": {"type": "integer"}, "status": {"type": "string", "enum": ["planned", "evacuated", "done", "failed", "in_process"]}}}, "BalancerHistoryResponse": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer", "description": "The ID of the entry"}, "cluster": {"type": "object", "properties": {"id": {"type": "integer", "description": "The cluster ID"}, "name": {"type": "string", "description": "The cluster name"}}}, "host": {"type": "string", "description": "The host name"}, "src_node": {"type": "string", "description": "The source node name"}, "dest_node": {"type": "string", "description": "The destination node name"}, "start": {"type": "integer", "description": "The start time in Unix timestamp format"}, "finish": {"type": "integer", "description": "The finish time in Unix timestamp format"}, "status": {"type": "string", "enum": ["search failed", "in progress", "task failed", "completed"], "description": "The balancer status"}, "reason": {"type": "string", "description": "More verbose message of the status", "nullable": true}}}}, "size": {"type": "integer", "description": "The number of items in the list"}}}, "SettingEditParams": {"type": "object", "properties": {"value": {"type": "string"}}, "required": ["value"], "additionalProperties": false}, "DiskList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Disk"}}}}, "ClusterInOS": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "updated_at": {"type": "string"}}}, "IpAutomationType": {"required": ["ip_automation_type"], "type": "object", "properties": {"ip_automation_type": {"type": "string", "enum": ["none", "redhat_based", "debian_based", "freebsd_based", "windows_based"]}}}, "NodeScriptList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/NodeScriptElem"}}}}, "IdAndTask": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}, "additionalProperties": false}, "NodeIfaceCreateParams": {"type": "object", "properties": {"name": {"type": "string", "pattern": "^[a-zA-Z0-9-_]+($)", "minLength": 2, "maxLength": 15}, "type": {"type": "string", "enum": ["bond", "bridge"]}, "ip_params": {"$ref": "#/components/schemas/IfaceIpParams"}, "vlan": {"type": "integer", "minimum": 1, "maximum": 4094, "nullable": true}, "slaves": {"type": "array", "items": {"type": "string", "maxLength": 255}, "nullable": true}, "take_slave_ip": {"type": "boolean", "nullable": true}, "mode": {"type": "string", "enum": ["active-backup", "broadcast", "802.3ad", "balance-tlb", "balance-alb", "balance-rr", "balance-xor"], "nullable": true}, "is_default": {"type": "boolean", "nullable": true}, "is_main_network": {"type": "boolean", "nullable": true}}, "required": ["name", "type"]}, "UserLimits": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}}}, "Cluster": {"oneOf": [{"$ref": "#/components/schemas/ClusterAdmin"}, {"$ref": "#/components/schemas/ClusterUser"}]}, "HostResourceParams": {"type": "object", "properties": {"cpu_number": {"type": "number", "maxLength": 9}, "ram_mib": {"type": "number", "maxLength": 9}, "hot_plug": {"type": "boolean"}, "net_bandwidth_mbitps": {"type": "number", "maxLength": 9, "nullable": true}, "efi_boot": {"type": "boolean"}, "cpu_mode": {"type": "string", "enum": ["default", "host-model", "host-passthrough", "custom"], "nullable": true}, "nesting": {"type": "boolean", "nullable": true}, "cpu_custom_model": {"type": "string", "nullable": true}, "cpu_weight": {"type": "integer", "minimum": 0, "maximum": 10000, "nullable": true}, "io_weight": {"type": "integer", "minimum": 0, "maximum": 1000, "nullable": true}, "io_read_mbitps": {"type": "integer", "minimum": -1, "nullable": true}, "io_write_mbitps": {"type": "integer", "minimum": -1, "nullable": true}, "io_read_iops": {"type": "integer", "minimum": -1, "nullable": true}, "io_write_iops": {"type": "integer", "minimum": -1, "nullable": true}, "net_in_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_out_mbitps": {"type": "integer", "minimum": 0, "nullable": true}, "net_weight": {"type": "integer", "minimum": 0, "nullable": true}, "anti_spoofing": {"type": "boolean", "nullable": true}, "anti_spoofing_settings": {"type": "object", "properties": {"vlan": {"type": "boolean"}}, "nullable": true}, "tcp_connections_in": {"type": "integer", "minimum": 0, "nullable": true}, "tcp_connections_out": {"type": "integer", "minimum": 0, "nullable": true}, "process_number": {"type": "integer", "minimum": -1, "nullable": true}, "firewall_rules": {"$ref": "#/components/schemas/FirewallRules"}, "defer": {"type": "object", "properties": {"action": {"type": "string", "enum": ["host_stop"]}}, "additionalProperties": false}}, "additionalProperties": false}, "NodeParams": {"type": "object", "properties": {"id": {"type": "integer"}, "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}, "ssh_user": {"type": "string"}, "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}, "vcpu_limit": {"type": "integer", "minimum": -1, "nullable": true}, "lvm_vg_rename": {"type": "boolean"}, "hetzner_ip": {"type": "array", "items": {"type": "string", "format": "ipnet"}}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"node_interface": {"type": "string"}, "cluster_interface": {"type": "integer", "minimum": 0, "maximum": 1}}}}, "host_limit": {"type": "integer", "minimum": -1, "nullable": true}, "host_filter": {"$ref": "#/components/schemas/HostFilterList"}, "network_autosetup_disabled": {"type": "boolean", "default": false}}, "oneOf": [{"required": ["id"], "type": "object"}, {"required": ["name", "cluster", "ip", "ssh_port", "password"], "type": "object"}], "additionalProperties": false}, "OsSaveParams": {"type": "object", "properties": {"repository_id": {"type": "number", "maxLength": 9}, "os": {"type": "array", "items": {"type": "object"}}, "repository_type": {"type": "string", "enum": ["os", "lxd"]}}, "required": ["repository_id", "os"], "additionalProperties": false}, "VxlanEditParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "comment": {"type": "string", "maxLength": 200}, "account": {"type": "integer"}, "clusters": {"type": "array", "items": {"type": "integer"}}}, "additionalProperties": false}, "TagCreateParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 16}, "note": {"type": "string"}}, "required": ["name"], "additionalProperties": false}, "SettingDomainParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255}}, "required": ["name"], "additionalProperties": false}, "IdTaskStoragesTasks": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "storages_tasks": {"type": "array", "items": {"type": "integer"}}}}, "UserEditParams": {"type": "object", "properties": {"roles": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "full_name": {"type": "string", "maxLength": 255}, "lang": {"type": "string", "enum": ["ru", "en"]}, "old_password": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255}}, "additionalProperties": false}, "HostIfaceEditIpParams": {"type": "object", "properties": {"bridge_id": {"type": "integer"}, "dhcp": {"type": "boolean"}, "is_main_network": {"type": "boolean", "nullable": true}, "ippool": {"type": "integer"}, "ip_count": {"type": "integer"}, "ip_name": {"$ref": "#/components/schemas/AnyIp"}, "ipv6_subnet": {"type": "integer", "minimum": 32, "maximum": 125}, "no_ip": {"type": "boolean"}, "vxlan": {"$ref": "#/components/schemas/AddIpParamsVxlan"}}, "anyOf": [{"required": ["is_main_network", "ip_name"], "type": "object"}, {"required": ["is_main_network", "ip_count"], "type": "object"}, {"required": ["is_main_network", "ippool", "ipv6_subnet"], "type": "object"}, {"required": ["is_main_network", "dhcp"], "type": "object"}, {"required": ["is_main_network", "no_ip"], "type": "object"}, {"required": ["vxlan"], "type": "object"}], "additionalProperties": false}, "DestinationNodesForMigrate": {"type": "object", "description": "Lists of node IDs for potential migration.", "properties": {"id": {"type": "integer", "description": "ID of the virtual machine that will undergo migration."}, "primary": {"type": "array", "description": "The primary list, nodes that comply with both \"should\" and \"must\" rules", "items": {"type": "integer"}}, "secondary": {"type": "array", "description": "The secondary list, nodes that comply with \"must\" rules but do not comply with \"should\" rules", "items": {"type": "integer"}}}}, "NodeForMigrateList": {"type": "object", "properties": {"nodes": {"type": "array", "items": {"$ref": "#/components/schemas/NodeForMigrate"}}}}, "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"}, "vxlan_count_total": {"type": "integer"}}}, "ClusterEditParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255}, "comment": {"type": "string"}, "iso_enabled": {"type": "boolean"}, "manage_disk_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}, "cpu_overselling": {"type": "number", "minimum": -1, "maximum": 100, "default": -1}, "overselling": {"type": "number", "minimum": 0.5, "maximum": 5}, "host_distribution_policy": {"type": "string", "enum": ["spread", "tight"]}, "host_filter": {"$ref": "#/components/schemas/HostFilterList"}, "domain_template": {"type": "string"}, "datacenter_params": {"$ref": "#/components/schemas/DatacenterEditParams"}, "domain_change_allowed": {"type": "boolean"}, "proxy_enabled": {"type": "boolean"}, "host_per_node_limit": {"type": "integer", "minimum": -1, "default": -1}, "dns_servers": {"$ref": "#/components/schemas/DnsServers"}, "node_network": {"$ref": "#/components/schemas/ClusterNodeNetwork"}, "ha": {"type": "object", "properties": {"enabled": {"type": "boolean"}, "checking_host": {"type": "string"}, "restore_on_fail_vms": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "restore_priority": {"type": "integer", "minimum": 1, "maximum": 999}, "agent_version": {"type": "string"}, "storages": {"type": "object", "additionalProperties": {"$ref": "#/components/schemas/HaStorageParams"}}}}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"], "nullable": true}, "vxlan_settings": {"$ref": "#/components/schemas/VxlanSettingsEditParams"}, "spice_enabled": {"type": "boolean", "nullable": true}, "balancer_mode": {"$ref": "#/components/schemas/ClusterBalancerMode"}, "balancer_config": {"$ref": "#/components/schemas/BalancerConfig"}}, "additionalProperties": false}, "ScriptVariableList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/ScriptVariableParamsGet"}}}}, "ClusterSettings": {"type": "object", "properties": {"name": {"type": "string", "minLength": 2, "maxLength": 255}}, "required": ["name"], "additionalProperties": false}, "ImageRelocateParams": {"type": "object", "properties": {"destination": {"type": "integer", "maxLength": 9, "nullable": true}}}, "HostDisks": {"type": "array", "minItems": 1, "items": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1}, "size_mib": {"type": "integer"}, "boot_order": {"type": "integer", "minimum": 1}, "expand_part": {"type": "string", "nullable": true}, "storage": {"type": "integer", "maxLength": 9}, "tags": {"type": "array", "items": {"type": "integer"}}}, "required": ["size_mib", "boot_order"], "additionalProperties": false}}, "HostImage": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "account": {"type": "string"}, "for_all": {"type": "boolean"}, "is_local": {"type": "boolean"}, "type": {"type": "string"}, "comment": {"type": "string"}, "state": {"type": "string"}, "cleared": {"type": "boolean"}, "linked_clones": {"type": "integer"}, "nodes": {"type": "array", "items": {"$ref": "#/components/schemas/NodeInImage"}}, "storage": {"$ref": "#/components/schemas/StorageInImage"}, "password_from_sysprep": {"type": "boolean"}}}, "ImportClusterParams": {"type": "object", "properties": {"import_history": {"type": "integer", "description": "Import history entry id"}, "platform_backup": {"type": "integer", "nullable": true}, "cluster_name": {"type": "string"}, "imported_from": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv4"}, "type": {"type": "string", "enum": ["vmmgr5", "vmmgr5_dummy"]}, "ssh_port": {"type": "integer", "default": 22}, "user": {"type": "string"}, "password": {"type": "string"}}, "required": ["ip", "type"], "additionalProperties": false}, "vm5_data_file": {"type": "string"}, "vm5_data": {"type": "object", "properties": {"os_storage_path": {"type": "string", "default": "/os"}, "image_storage_path": {"type": "string", "default": "/image"}, "ram_overselling": {"type": "number", "default": 1, "minimum": 0}, "cpu_overselling": {"type": "number", "minimum": -1, "maximum": 100, "default": -1}, "dns_servers": {"type": "array", "items": {"type": "string"}}, "timezone": {"type": "string", "default": "UTC"}, "user": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "level": {"type": "string", "enum": ["user", "admin"]}, "enabled": {"type": "boolean", "default": true}}, "required": ["id", "name", "level"], "additionalProperties": true}}, "event": {"type": "object", "properties": {}, "additionalProperties": true}, "network": {"type": "array", "items": {"type": "object", "properties": {}, "additionalProperties": true}}, "storage": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "pool_type": {"type": "string"}, "tgt_path": {"type": "string", "nullable": true}}, "required": ["name", "pool_type"], "additionalProperties": true}}, "settings": {"type": "array", "items": {"type": "object", "properties": {}, "additionalProperties": true}}, "node": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "ip": {"type": "string", "format": "ipv4"}, "ssh_port": {"type": "integer", "default": 22}, "password": {"type": "string", "nullable": true}, "status": {"type": "integer", "enum": [0, 1, 2]}, "fake": {"type": "boolean"}, "physical_cpucore": {"type": "integer", "nullable": true}, "allocation_rule": {"type": "array", "items": {"type": "object", "properties": {"priority": {"type": "integer"}, "rule_type": {"type": "integer", "enum": [0, 1]}, "rule_oper": {"type": "integer", "enum": [0, 1, 2, 3]}, "value": {"type": "string"}, "action": {"type": "integer", "enum": [0, 1, 2]}, "stop": {"type": "boolean", "default": false}}, "required": ["priority", "rule_type", "rule_oper", "value", "action"], "additionalProperties": true}}, "host": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "cpu": {"type": "integer"}, "ram": {"type": "integer"}, "fake": {"type": "boolean"}, "interface": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "vm_id": {"type": "integer"}, "net_id": {"type": "integer"}, "mac": {"type": "string"}, "nic_model": {"type": "string", "enum": ["i82551", "i82557b", "i82559er", "ne2k_pci", "pcnet", "rtl8139", "e1000", "virtio"]}}, "required": ["id", "net_id", "mac", "nic_model"], "additionalProperties": true}}, "firewall_rules": {"type": "array", "items": {"type": "object", "properties": {"action": {"type": "string"}, "direction": {"type": "string"}, "protocols": {"type": "array", "items": {"type": "string"}}, "portstart": {"type": "integer"}, "portend": {"type": "integer"}}}}}, "required": ["name", "cpu", "ram"], "additionalProperties": true}}}, "required": ["name", "ip", "host"], "additionalProperties": true}}}, "required": ["user", "storage", "node"]}}, "oneOf": [{"required": ["import_history", "imported_from", "vm5_data_file"], "type": "object"}, {"required": ["import_history", "imported_from", "vm5_data"], "type": "object"}], "additionalProperties": true}, "HostIsoUploadParams": {"type": "object", "properties": {"iso_file_name": {"type": "string", "maxLength": 255}, "reboot": {"type": "boolean", "default": true}, "name": {"type": "string"}, "os_type": {"$ref": "#/components/schemas/IsoOsType"}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "admin_role": {"type": "boolean"}, "user_id": {"type": "integer"}, "repository_id": {"type": "integer"}, "comment": {"type": "string"}}, "required": ["iso_file_name", "admin_role", "user_id"], "additionalProperties": false}, "SubnetWithUsedIp": {"type": "object", "properties": {"id": {"type": "integer"}, "subnet": {"type": "string"}, "used_ip": {"type": "integer"}}}, "LocationSSHCreate": {"type": "object", "properties": {"ip": {"anyOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}]}, "port": {"type": "integer", "maxLength": 9}, "login": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255}, "path": {"type": "string", "maxLength": 255}}, "required": ["ip", "port", "login", "path"], "additionalProperties": false}, "BackupList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Backup"}}}}, "HostRestoreParams": {"required": ["backup"], "type": "object", "properties": {"backup": {"type": "number", "maxLength": 9}}}, "NodeHaStateParams": {"type": "object", "properties": {"state": {"type": "string", "enum": ["unknown", "master", "slave", "beginning", "preparing_to_update", "suspended_for_update", "network_unstable", "storage_unstable", "partitioning", "network_failed", "storage_failed", "failed"]}}, "required": ["state"], "additionalProperties": false}, "Storage": {"type": "object", "properties": {"name": {"type": "string"}, "comment": {"type": "string"}, "type": {"type": "string", "enum": ["ceph", "file", "lvm", "zfs", "network_lvm", "nas"]}, "storage_params": {"$ref": "#/components/schemas/StorageParamsAdditional"}, "ignore_checks": {"type": "boolean"}}}, "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"}}}}}}, "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}, "VxlanSettingsEditParams": {"type": "object", "properties": {"bgp_community": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as": {"type": "integer", "minimum": 1, "nullable": true}, "bgp_sessions": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv4"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}, "bgp_community_v6": {"type": "string", "maxLength": 255, "nullable": true}, "bgp_as_v6": {"type": "integer", "minimum": 1, "nullable": true}, "bgp_sessions_v6": {"type": "array", "items": {"type": "object", "properties": {"ip": {"type": "string", "format": "ipv6"}, "bgp_as": {"type": "integer", "minimum": 1}, "comment": {"type": "string", "maxLength": 255, "nullable": true}}, "required": ["ip", "bgp_as"], "additionalProperties": false}}}, "additionalProperties": false}, "SnapshotCreationParams": {"type": "object", "properties": {"name": {"type": "string", "pattern": "^[\\w_-]{1,100}$"}, "description": {"type": "string", "maxLength": 255}, "with_ram": {"type": "boolean"}}, "required": ["name"]}, "ImportHistoryParams": {"type": "object", "properties": {"data": {"type": "string", "nullable": true}, "task_id": {"type": "integer"}, "state": {"type": "string", "enum": ["created", "collecting_vm5_info", "backup_creating", "importing_to_vm6", "complete", "failed"]}, "type": {"type": "string", "enum": ["ipmgr5_migrate", "vmmgr5", "vmmgr5_dummy"]}, "url": {"type": "string"}, "destination": {"type": "object", "properties": {"cluster": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}}}, "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}}}, "MigrateIpmgrParams": {"type": "object", "properties": {"dbhost": {"type": "string"}, "dbname": {"type": "string"}, "dbuser": {"type": "string"}, "dbpassword": {"type": "string"}}, "required": ["dbhost", "dbuser", "dbpassword"]}, "VxlanIpList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/VxlanIp"}}}}, "StorageEditParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "comment": {"type": "string", "maxLength": 255}, "tags": {"type": "array", "items": {"type": "integer"}}}, "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"}}}}, "IppoolRangeParams": {"type": "object", "properties": {"name": {"type": "string", "format": "iprange"}}, "required": ["name"], "additionalProperties": false}, "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"}}}, "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}, "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"}, "state": {"$ref": "#/components/schemas/PlatformScheduleState"}, "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"}, "state": {"$ref": "#/components/schemas/PlatformBackupState"}}}}}}}}}, "PlatformBackupState": {"type": "string", "enum": ["active", "crashed", "creating", "moving"]}, "PlatformScheduleState": {"type": "string", "enum": ["active", "crashed"]}, "IppoolClusterList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/IppoolCluster"}}}}, "HostIsoMountParams": {"type": "object", "properties": {"url": {"type": "string", "format": "uri", "maxLength": 255}, "image": {"type": "integer"}, "reboot": {"type": "boolean", "default": true}, "name": {"type": "string"}, "os_type": {"$ref": "#/components/schemas/IsoOsType"}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "repository_id": {"type": "integer"}, "comment": {"type": "string"}}, "oneOf": [{"required": ["url"], "type": "object"}, {"required": ["image"], "type": "object"}], "additionalProperties": false}, "HostVNCPortsParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"domain": {"type": "string", "maxLength": 255}, "vnc_port": {"type": "integer"}, "vnc_pass": {"type": "string", "nullable": true}}, "required": ["domain", "vnc_port"], "additionalProperties": false}}}, "required": ["list"], "additionalProperties": false}, "TagList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "note": {"type": "string"}, "immortal": {"type": "boolean"}, "storages": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string"}, "cluster": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "virtualization_type": {"type": "string", "enum": ["dummy", "kvm", "lxd", "vmmgr5", "vmmgr5_dummy"]}}}}}}}}}}}}, "UserLimitsAdmin": {"type": "object", "properties": {"host_count": {"type": "integer"}, "image_count": {"type": "integer"}, "image_count_total": {"type": "integer"}, "cpu_number": {"type": "integer"}, "cpu_number_total": {"type": "integer"}, "ram_mib": {"type": "integer"}, "ram_mib_total": {"type": "integer"}, "hdd_mib": {"type": "integer"}, "hdd_mib_total": {"type": "integer"}, "ipv4_number": {"type": "integer"}, "ipv4_number_total": {"type": "integer"}, "vxlan_count_total": {"type": "integer"}}}, "HostRelocateParams": {"type": "object", "properties": {"node": {"type": "number", "maxLength": 9, "nullable": true}}, "additionalProperties": false}, "ImportHistoryList": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"account": {"type": "object", "properties": {"email": {"type": "string"}, "id": {"type": "integer"}, "ip": {"type": "string"}}}, "date_create": {"type": "string"}, "date_end": {"type": "string"}, "date_start": {"type": "string"}, "destination": {"type": "object", "nullable": true, "properties": {"cluster": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}}, "id": {"type": "integer"}, "is_expired": {"type": "boolean"}, "platform_backup": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "date_create": {"type": "string"}, "schedule_id": {"type": "integer"}}}, "result": {"type": "object", "properties": {"error": {"type": "object", "properties": {"code": {"type": "integer"}, "msg": {"type": "string"}}}}}, "source": {"type": "object", "properties": {"type": {"type": "string", "enum": ["ipmgr5_migrate", "vmmgr5", "vmmgr5_dummy"]}, "url": {"type": "string"}}}, "state": {"type": "string", "enum": ["created", "running", "collecting_vm5_info", "backup_creating", "importing_to_vm6", "complete", "failed"]}}}}}}, "ClusterDcNetworksParams": {"type": "object", "properties": {"dc_networks": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["dc_networks"], "additionalProperties": false}, "RepositoryParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "url": {"type": "string", "format": "uri", "maxLength": 255}}, "required": ["name", "url"]}, "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"}, "interface": {"type": "integer"}}}, "cluster_interface": {"type": "integer"}}}, "NodeCreateResponse": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "storages_task": {"type": "integer"}, "finish_task": {"type": "integer"}}}, "NodeIfacesParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"$ref": "#/components/schemas/NodeIfacesParamsItem"}}}, "required": ["list"]}, "NodeFilesEditParams": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"size": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["os", "image", "disk_file", "disk_lv", "disk_zfs"]}, "path": {"type": "string"}}}}}, "required": ["list"], "additionalProperties": false}, "StorageParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "comment": {"type": "string", "maxLength": 255}, "type": {"type": "string", "enum": ["ceph", "file", "nas", "lvm", "zfs", "network_lvm"]}, "storage_params": {"$ref": "#/components/schemas/StorageParamsAdditional"}, "ignore_checks": {"type": "boolean"}, "tags": {"type": "array", "items": {"type": "integer"}}}, "required": ["name", "type", "storage_params"], "additionalProperties": false}, "DcNetworkClustersParams": {"type": "object", "properties": {"clusters": {"type": "array", "items": {"type": "integer", "maxLength": 9}}}, "required": ["clusters"], "additionalProperties": false}, "RepoList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Repo"}}}}, "ClusterAdmin": {"type": "object", "properties": {"virtualization_type": {"type": "string", "enum": ["dummy", "kvm", "lxd", "vmmgr5", "vmmgr5_dummy"]}, "os_storage_path": {"type": "string", "maxLength": 255, "default": "/share"}, "image_storage_path": {"type": "string", "maxLength": 255, "default": "/images"}, "cpu_number": {"$ref": "#/components/schemas/TotalUsed"}, "dsw_active": {"type": "boolean"}, "host_count": {"type": "integer"}, "account_host_count": {"type": "integer"}, "host_per_node_limit": {"type": "integer"}, "name": {"type": "string"}, "comment": {"type": "string"}, "ram_mib": {"$ref": "#/components/schemas/TotalUsed"}, "storage_mib": {"$ref": "#/components/schemas/TotalUsed"}, "time_zone": {"type": "string"}, "state": {"type": "string"}, "data_center": {"type": "string"}, "host_distribution_policy": {"type": "string", "enum": ["spread", "tight"]}, "host_filter": {"$ref": "#/components/schemas/HostFilterList"}, "node_count": {"type": "integer"}, "id": {"type": "integer"}, "cpu_overselling": {"type": "number", "minimum": -1, "maximum": 100, "default": -1}, "overselling": {"maximum": 5, "minimum": 0.5, "type": "number"}, "backup_locations": {"type": "array", "items": {"$ref": "#/components/schemas/IdName"}}, "domain_template": {"type": "string"}, "datacenter_params": {"$ref": "#/components/schemas/DatacenterParams"}, "storages": {"$ref": "#/components/schemas/StorageInClusterList"}, "storage": {"$ref": "#/components/schemas/StorageInCluster"}, "dns_servers": {"type": "array", "items": {"type": "string"}}, "dc_networks": {"type": "array", "items": {"type": "integer"}}, "node_network": {"type": "object", "properties": {"timeout": {"type": "integer"}, "gateway": {"type": "string"}}}, "vxlan_mode": {"type": "string", "enum": ["disabled", "full_mesh", "route_reflector"]}, "vxlan_settings": {"type": "string", "nullable": true}, "vxlans": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}, "spice_enabled": {"type": "boolean"}, "balancer_mode": {"$ref": "#/components/schemas/ClusterBalancerMode"}, "balancer_config": {"$ref": "#/components/schemas/BalancerConfig"}}}, "RecipeUpdateParams": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "description": {"type": "string", "maxLength": 150}, "type": {"type": "string", "enum": ["shell", "power_shell"]}, "script_filter": {"$ref": "#/components/schemas/HostFilterList"}, "script": {"type": "string"}, "state": {"type": "string", "maxLength": 255}, "from_repository": {"type": "boolean"}, "for_all": {"type": "boolean"}, "user_visible": {"type": "boolean"}, "account": {"type": "integer", "maxLength": 9}, "email_content": {"type": "array", "items": {"type": "object", "properties": {"lang": {"type": "string", "enum": ["ru", "en"]}, "content": {"type": "string"}, "subject": {"type": "string"}}}}, "params": {"$ref": "#/components/schemas/RecipeParamsParams"}}, "additionalProperties": false}, "AccountSync": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "additionalProperties": true, "required": ["id", "email", "roles", "state"], "properties": {"id": {"type": "integer"}, "email": {"type": "string"}, "roles": {"description": "User roles array", "type": "array", "items": {"type": "string", "example": "@user"}}, "state": {"type": "string", "description": "User state", "example": "active"}, "auth_source": {"type": "string", "description": "The source for authentication", "example": "local"}}}}, "delete": {"type": "array", "items": {"type": "integer"}}}}, "OsIso": {"type": "object", "properties": {"name": {"type": "string"}, "id": {"type": "integer"}, "clusters": {"type": "array", "items": {"$ref": "#/components/schemas/ClusterInOS"}}, "repository": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"type": "string"}, "storage": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "state": {"type": "string"}, "type": {"type": "string"}}}}}, "updated_at": {"type": "string"}, "tags": {"type": "array", "items": {"type": "string"}}, "os_group": {"type": "string"}, "image_size_mib": {"type": "integer"}, "external": {"type": "boolean"}, "current_mounts": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}, "comment": {"type": "string"}}, "additionalProperties": false}, "HostMigrateParams": {"type": "object", "properties": {"plain": {"type": "boolean", "default": true}, "node": {"type": "number", "maxLength": 9}, "disks": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "dst_storage": {"type": "integer"}}, "required": ["id"]}}, "interfaces": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer"}, "dst_bridge": {"type": "integer"}}, "required": ["id", "dst_bridge"]}}, "linked_clones_cold_migration": {"type": "boolean", "default": true}}, "required": ["node"], "additionalProperties": false}, "ImageChangeParams": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 255}, "account": {"type": "number", "maxLength": 9}, "comment": {"type": "string"}, "for_all": {"type": "boolean"}}, "additionalProperties": false}, "StorageParamsAdditional": {"type": "object", "properties": {"ip_addr": {"type": "string", "format": "ipv4"}, "ssh_port": {"type": "integer", "maxLength": 9}, "login": {"type": "string", "maxLength": 255}, "password": {"type": "string", "maxLength": 255, "nullable": true}, "nas_storage_path": {"type": "string", "nullable": true}}}, "Snapshot": {"type": "object", "properties": {"id": {"type": "integer"}, "ext_name": {"type": "string"}, "description": {"type": "string"}, "with_ram": {"type": "boolean"}, "created": {"type": "string"}, "state": {"type": "string", "enum": ["ok", "fail", "creation", "unknown"]}, "parent": {"type": "integer"}, "is_curr": {"type": "boolean"}, "host": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "node": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}, "cluster": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "virtualization_type": {"type": "string"}}}}}, "EditPtrParams": {"type": "object", "properties": {"domain": {"type": "string", "format": "domain"}}, "additionalProperties": false}, "HaStorageParams": {"oneOf": [{"$ref": "#/components/schemas/HaStorageParamsCeph"}, {"$ref": "#/components/schemas/HaStorageParamsSAN"}]}, "Schedule": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "comment": {"type": "string"}, "backup_mode": {"type": "string", "default": "host_main", "enum": ["host_main", "host_all", "disk"]}, "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"}}, "disks": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "nodes": {"type": "array", "items": {"type": "integer"}}, "hosts": {"type": "array", "items": {"type": "integer"}}, "presets": {"type": "array", "items": {"type": "integer", "maxLength": 9}}, "next_run": {"type": "string"}}}, "ScriptVariableParamsGet": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 255}, "value": {"type": "string", "maxLength": 500}, "comment": {"type": "string", "maxLength": 200}, "hidden": {"type": "boolean"}, "enabled": {"type": "boolean"}, "builtin": {"type": "boolean"}, "account": {"type": "integer"}, "id": {"type": "integer"}, "scope": {"type": "string", "enum": ["global", "local"], "default": "local"}}, "required": ["name"], "additionalProperties": false}, "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}, "RepositoryIsoUploadParams": {"type": "object", "properties": {"name": {"type": "string"}, "iso_file_name": {"type": "string", "maxLength": 255}, "os_type": {"$ref": "#/components/schemas/IsoOsType"}, "tags": {"type": "array", "items": {"type": "string", "maxLength": 255}}, "comment": {"type": "string"}}, "required": ["iso_file_name"], "additionalProperties": false}, "SpiceSettingsParams": {"type": "object", "properties": {"password": {"type": "string", "minLength": 8, "maxLength": 255}}, "required": ["password"], "additionalProperties": false}, "HostFilterList": {"type": "array", "items": {"$ref": "#/components/schemas/HostFilter"}, "nullable": true}, "HostImageList": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/HostImage"}}}}}}, "openapi": "3.0.1", "info": {"title": "ISPsystem vm API", "description": "ISPsystem vm API", "version": "3.0.0"}, "servers": [{"url": "https://example.com/vm/v3"}], "paths": {"/host/{host_id}/iface/{iface_id}": {"post": {"tags": ["host"], "summary": "Edit VM network interface properties", "operationId": "edit_host_iface", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_id", "in": "path", "description": "Host interface ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for editing VM network interface", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostIfaceChangeParams"}}}, "required": true}, "responses": {"200": {"description": "VM network interface successfully edited", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}, "x-codegen-request-body-name": "HostIfaceChangeParams"}, "delete": {"tags": ["host"], "summary": "Delete network interface from host", "operationId": "delete_host_iface", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_id", "in": "path", "description": "Host interface ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Interface successfully deleted from host", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}}, "/os/iso": {"get": {"tags": ["os"], "summary": "ISO list", "operationId": "get_iso_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "ISO list received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OsIsoList"}}}}}}}, "/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"}}, "/node/{node_id}/network/iface/{iface_type}/{iface_id}": {"post": {"tags": ["node"], "summary": "Edit the network interface on the node", "operationId": "iface_edit", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_type", "in": "path", "description": "Requested iface type", "required": true, "schema": {"type": "string", "enum": ["bond", "bridge"]}}, {"name": "iface_id", "in": "path", "description": "Requested iface ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node interface edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeIfaceEditParams"}}}, "required": true}, "responses": {"200": {"description": "Node interface changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}, "x-codegen-request-body-name": "NodeIfaceEditParams"}, "delete": {"tags": ["node"], "summary": "Delete the network interface on the node", "operationId": "iface_delete", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_type", "in": "path", "description": "Requested iface type", "required": true, "schema": {"type": "string", "enum": ["bond", "bridge"]}}, {"name": "iface_id", "in": "path", "description": "Requested iface ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "The interface successfully deleted", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/host/{host_id}/migrate/target": {"get": {"tags": ["host"], "operationId": "get_migration_list", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "cluster", "in": "query", "description": "The cluster ID for inter-cluster migration.", "required": false, "schema": {"type": "integer"}}, {"name": "ignore_filters", "in": "query", "description": "ignore filters flag", "required": false, "schema": {"type": "boolean"}}], "responses": {"200": {"description": "List of nodes for possible migration with a priority.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DestinationNodesForMigrate"}}}}}}}, "/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": {"$ref": "#/components/schemas/IdAndTask"}}}}}, "x-codegen-request-body-name": "HostIsoMountParams"}}, "/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"}}}}}}}}}, "/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"}}}}, "/user/{user_id}/password": {"post": {"tags": ["user"], "operationId": "edit_user_password", "summary": "User password editing", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "User password edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserEditParams"}}}, "required": true}, "responses": {"200": {"description": "User password changed successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/disk/{disk_id}/backup/{backup_id}": {"delete": {"tags": ["disk", "backup"], "summary": "Disk backup creation", "operationId": "delete_disk_backup", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk id", "required": true, "schema": {"type": "integer"}}, {"name": "backup_id", "in": "path", "description": "Backup id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Disk backup deleted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/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": {}}}}}, "/backup/{backup_id}/state": {"post": {"tags": ["backup"], "summary": "VM backup change state", "operationId": "change_backup_state", "parameters": [{"name": "backup_id", "in": "path", "description": "Disk backup ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM backup changed state", "content": {"application/json": {"schema": {"type": "object", "properties": {"state": {"type": "string", "enum": ["active", "crashed", "creating", "deleting", "in_use", "migrating", "copying"]}}}}}, "required": true}, "responses": {"200": {"description": "Disk backup state changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/cluster/{cluster_id}/storage/{storage_id}/make_main": {"post": {"tags": ["cluster"], "summary": "Change main storage on cluster", "operationId": "set_main_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Main storage successfully changed", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/settings/ssh_key": {"get": {"tags": ["settings"], "operationId": "get_settings_ssh_key", "responses": {"200": {"description": "SSH key is successfully received", "content": {}}}}}, "/host/{host_id}/iso/upload/announce": {"post": {"tags": ["internal"], "operationId": "host_iso_upload_announce", "summary": "Announce ISO file upload", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "ISO upload params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostIsoUploadParams"}}}, "required": true}, "responses": {"200": {"description": "ISO upload announced successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"os_id": {"type": "integer"}, "node": {"type": "integer"}, "path": {"type": "string"}}}}}}}, "x-codegen-request-body-name": "HostIsoUploadParams"}}, "/schedule/{schedule_id}/hosts": {"get": {"tags": ["schedule"], "operationId": "get_schedule_affected_hosts", "parameters": [{"name": "schedule_id", "in": "path", "description": "Schedule ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Schedule affected hosts are successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"affected_hosts_count": {"type": "integer"}}}}}}}}}, "/ssh_key_drop": {"post": {"tags": ["internal"], "operationId": "ssh_key_drop", "summary": "Drop redundant SSH keys from VMs", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/monitor_target": {"get": {"tags": ["monitor"], "summary": "Target to monitor", "operationId": "get_monitor_target", "parameters": [{"name": "node_ids", "in": "query", "required": false, "description": "Ids of nodes", "schema": {"type": "string"}}, {"name": "host_ids", "in": "query", "required": false, "description": "Ids of hosts", "schema": {"type": "string"}}], "responses": {"200": {"description": "Monitor target successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"host_list": {"type": "array", "items": {"$ref": "#/components/schemas/MonitorTarget"}}, "node_list": {"type": "array", "items": {"$ref": "#/components/schemas/MonitorTarget"}}}}}}}}}}, "/dc_network/{dc_network_id}/cluster": {"post": {"tags": ["network"], "description": "Connecting / disconnecting clusters to ip network", "operationId": "dc_network_edit_clusters", "parameters": [{"name": "dc_network_id", "in": "path", "description": "Ip network ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Cluster ids", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DcNetworkClustersParams"}}}, "required": true}, "responses": {"200": {"description": "Clusters connected successfully", "content": {}}}, "x-codegen-request-body-name": "DcNetworkClustersParams"}}, "/node/{node_id}/network/revert": {"post": {"tags": ["node"], "summary": "Revert node network settings", "operationId": "network_revert", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node network settings reverting params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node network settings reverted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/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"}}, "/packet": {"post": {"tags": ["license"], "summary": "Activate license packet", "operationId": "activate_packet", "requestBody": {"description": "Parameters of the activated license packet", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LicensePacketParams"}}}, "required": true}, "responses": {"200": {"description": "The license packet has been successfully activated", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "LicensePacketParams"}}, "/repository/{repository_id}": {"get": {"tags": ["repository"], "operationId": "get_repository", "parameters": [{"name": "repository_id", "in": "path", "description": "ID \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Repository info is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "type": {"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 repository", "description": "Removing a repository", "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"}}}}}}}, "/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/status": {"get": {"tags": ["host"], "operationId": "host_iso_status", "summary": "Status of the ability for current user to upload ISO of given size to the target host", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "iso_size_mib", "in": "query", "description": "Size of ISO file in MiB", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "ISO can be mounted", "content": {"application/json": {"schema": {"type": "object", "properties": {"host_id": {"type": "integer"}, "user_id": {"type": "integer"}, "admin_role": {"type": "boolean"}, "iso_status": {"type": "string", "enum": ["available"]}}}}}}}}}, "/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"}}, "/setting": {"get": {"tags": ["settings"], "operationId": "get_setting_list", "responses": {"200": {"description": "Settings list is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "summary": "Create VM setting", "operationId": "create_setting", "requestBody": {"description": "Setting params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SettingParams"}}}, "required": true}, "responses": {"200": {"description": "VM setting created successfully", "content": {}}}, "x-codegen-request-body-name": "SettingParams"}}, "/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"}}, "/host/{host_id}/history": {"get": {"tags": ["host"], "operationId": "get_host_history", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host history is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "date_create": {"type": "string"}, "state": {"type": "string"}, "params": {"type": "object", "properties": {}}, "user": {"type": "string"}}}}}}}}}}}, "post": {"tags": ["host"], "operationId": "create_host_history", "summary": "Creating a Virtual Machine Log Entry", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host history item name", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostHistoryItemName"}}}, "required": true}, "responses": {"200": {"description": "Host history item created successfully", "content": {}}}, "x-codegen-request-body-name": "HostHistoryItemName"}}, "/node/{node_id}/host/states": {"post": {"tags": ["node"], "summary": "Update VM states", "operationId": "set_states", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New VM states", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostStatesParams"}}}, "required": true}, "responses": {"200": {"description": "VM states changed", "content": {}}}, "x-codegen-request-body-name": "HostStatesParams"}}, "/os": {"get": {"tags": ["os"], "summary": "OS list", "operationId": "get_os_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "OS list received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OsList"}}}}}}}, "/task/{task_id}/abort": {"post": {"tags": ["task"], "summary": "Aborting the running task", "operationId": "abort_task", "parameters": [{"name": "task_id", "in": "path", "description": "Task id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Task aborted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/host/metadata": {"post": {"tags": ["host"], "summary": "Create empty VM from metadata", "operationId": "create_host_from_metadata", "requestBody": {"description": "Metadata for creating empty VM", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostMetadataParams"}}}, "required": true}, "responses": {"200": {"description": "VM successfully created", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "recipe_task_list": {"type": "array", "items": {"type": "integer"}}, "recipe_task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostMetadataParams"}}, "/host/{host_id}/vnc_settings": {"get": {"tags": ["host"], "operationId": "get_host_vnc_settings", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host vnc settings is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"port": {"type": "integer"}, "server": {"$ref": "#/components/schemas/AnyIp"}, "password": {"type": "string"}, "internal_name": {"type": "string"}}}}}}}}, "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": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "VncSettingsParams"}}, "/node/{node_id}/maintenance/start": {"post": {"tags": ["maintenance"], "summary": "Start task for entering maintenance mode", "description": "Start maintenance mode task", "operationId": "start_maintenance_mode", "parameters": [{"name": "node_id", "in": "path", "description": "ID node", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Enter maintenance task params", "content": {"application/json": {"schema": {"type": "object", "properties": {"cancel_running_tasks": {"type": "boolean", "default": false}}}}}, "required": true}, "responses": {"200": {"description": "Task for entering maintenance mode on node successfully started. Returned id of evacuation and task_id", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}}, "/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"}}}}}}}, "/range/{range_id}": {"delete": {"tags": ["network"], "description": "Deleting a IP range", "operationId": "delete_iprange", "parameters": [{"name": "range_id", "in": "path", "description": "IP range ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP range deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/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"}}}}}}}}}, "/node/{node_id}/routing/update": {"post": {"tags": ["node"], "summary": "node", "operationId": "node_update_routing", "parameters": [{"name": "node_id", "in": "path", "description": "node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Any params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": false}, "responses": {"200": {"description": "Node routing is successfully started updating", "content": {"application/json": {"schema": {"type": "object", "properties": {"task_created": {"type": "boolean"}}}}}}}}}, "/cluster/{cluster_id}/local_storage": {"get": {"tags": ["cluster"], "operationId": "get_cluster_local_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Cluster local storage is successfully received", "content": {}}}}}, "/os/iso/save": {"post": {"tags": ["internal"], "summary": "Save repository ISO images to database", "description": "Save repository ISO images to database", "operationId": "os_iso_save", "requestBody": {"description": "ISO images save params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OsIsoSaveParams"}}}, "required": true}, "responses": {"200": {"description": "ISO images saved successfully", "content": {}}}, "x-codegen-request-body-name": "OsIsoSaveParams"}}, "/os/iso/{os_id}": {"post": {"tags": ["os"], "summary": "ISO editing", "description": "ISO editing", "operationId": "edit_os_iso", "parameters": [{"name": "os_id", "in": "path", "description": "ID of ISO record", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "ISO edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OsIsoEditParams"}}}, "required": true}, "responses": {"200": {"description": "ISO edit started successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}, "x-codegen-request-body-name": "OsIsoEditParams"}, "delete": {"tags": ["os"], "summary": "Removing the ISO", "description": "Removing the ISO", "operationId": "delete_iso", "parameters": [{"name": "os_id", "in": "path", "description": "ID of ISO record", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "ISO successfully removed", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}}, "/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 successfully", "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"}}, "/host/{host_id}/metadata": {"get": {"tags": ["host"], "operationId": "get_host_metadata", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host metadata is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"metadata": {"type": "object"}}}}}}}}}, "/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"}}, "/image/{image_id}/change_state": {"post": {"tags": ["image"], "summary": "Change image state", "operationId": "image_change_state", "parameters": [{"name": "image_id", "in": "path", "description": "VM image ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Change image state params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageChangeStateParams"}}}, "required": true}, "responses": {"200": {"description": "Host image state changed successfully", "content": {}}}, "x-codegen-request-body-name": "ImageChangeStateParams"}}, "/cluster/{cluster_id}/dc_network": {"get": {"tags": ["cluster"], "operationId": "get_dc_networks_of_cluster", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of networks with internal traffic received successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"type": "integer"}}}}}}}}}, "post": {"tags": ["cluster"], "description": "Connecting / disconnecting ip networks to cluster", "operationId": "cluster_edit_dc_networks", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Ip networks ids", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterDcNetworksParams"}}}, "required": true}, "responses": {"200": {"description": "Ip networks connected successfully", "content": {}}}, "x-codegen-request-body-name": "ClusterDcNetworksParams"}}, "/range/{range_id}/ip": {"get": {"tags": ["network"], "operationId": "get_range_ip_list", "parameters": [{"name": "range_id", "in": "path", "description": "Range ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Range ip is successfully received", "content": {}}}}}, "/image": {"get": {"tags": ["image"], "summary": "List of VM images", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "operationId": "get_image_list", "responses": {"200": {"description": "List of VM images received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostImageList"}}}}}}}, "/node/{node_id}/local_storage": {"get": {"tags": ["node"], "operationId": "local_storage", "parameters": [{"name": "node_id", "in": "path", "description": "Cluster node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node local storage is successfully received", "content": {}}}}}, "/vxlan/{vxlan_id}": {"get": {"tags": ["vxlan"], "operationId": "get_vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of vxlans successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Vxlan"}}}}}}, "post": {"tags": ["vxlan"], "operationId": "edit_vxlan", "summary": "Edit vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Vxlan params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VxlanEditParams"}}}, "required": true}, "responses": {"200": {"description": "Vxlan edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "VxlanEditParams"}, "delete": {"tags": ["vxlan"], "summary": "Deleting a vxlan", "description": "Deleting a vxlan", "operationId": "delete_vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "The ID of vxlan to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Vxlan deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/time_zone": {"get": {"tags": ["form"], "operationId": "get_time_zone_list", "responses": {"200": {"description": "Time zone is successfully received", "content": {}}}}}, "/disk/{disk_id}": {"post": {"tags": ["disk"], "operationId": "edit_disk", "summary": "Edit the disk", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Disk edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiskEditParams"}}}, "required": true}, "responses": {"200": {"description": "Disk edit successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}, "x-codegen-request-body-name": "DiskEditParams"}, "delete": {"tags": ["disk"], "summary": "Remove disk", "operationId": "remove_disk", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Disk is successfully removed", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}}, "/node/{node_id}/maintenance": {"get": {"tags": ["maintenance"], "summary": "Get Maintenance info", "operationId": "node_maintenance_info", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Successfully retrieved information about evacuation", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeMaintenanceInfo"}}}}}}, "post": {"tags": ["maintenance"], "summary": "Enter maintenance mode for node", "description": "Enter in maintenance mode on specific node", "operationId": "node_maintenance_init", "parameters": [{"name": "node_id", "in": "path", "description": "ID node", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for entering maintenance mode", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeMaintenanceModeInitParams"}}}, "required": true}, "responses": {"200": {"description": "Node maintenance initialized successfully. Returned evacuation Id for corresponding node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeMaintenanceInfo"}}}}}, "x-codegen-request-body-name": "NodeMaintenanceModeInitParams"}, "delete": {"tags": ["maintenance"], "summary": "Delete Maintenance", "description": "Delete initialized maintenance mode for node", "operationId": "delete_maintenance", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Successfully deinitialized maintenance mode", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/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"}}], "requestBody": {"description": "Host stop parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"force": {"type": "boolean", "default": false}}}}}, "required": false}, "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/recipe/{recipe_id}": {"get": {"tags": ["recipe"], "operationId": "get_recipe", "parameters": [{"name": "recipe_id", "in": "path", "description": "Recipe ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Recipe info is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"recipe": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "script": {"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"}}}}}}}, "/host/{host_id}/iso/finish": {"post": {"tags": ["host"], "summary": "Disconnect ISO from VM with reinstallation", "operationId": "iso_finish", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host list is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}}, "/preset": {"get": {"tags": ["preset"], "operationId": "get_preset_list", "responses": {"200": {"description": "Preset list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PresetList"}}}}}}, "post": {"tags": ["preset"], "operationId": "create_preset", "summary": "Create preset", "requestBody": {"description": "Preset params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PresetParams"}}}, "required": true}, "responses": {"200": {"description": "Preset added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "PresetParams"}}, "/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"}}}}}}}}}, "/schedule": {"get": {"tags": ["schedule"], "summary": "Schedule list", "operationId": "get_schedule_list", "responses": {"200": {"description": "Schedule list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScheduleList"}}}}}}, "post": {"tags": ["schedule"], "summary": "Create schedule", "operationId": "create_schedule", "requestBody": {"description": "Schedule params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScheduleParams"}}}, "required": true}, "responses": {"200": {"description": "Schedule created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ScheduleParams"}}, "/storage/local": {"get": {"tags": ["storage"], "operationId": "list_storage_local", "responses": {"200": {"description": "Local storage list is successfully received", "content": {}}}}}, "/user_limits/account/{id}": {"get": {"tags": ["settings"], "operationId": "get_account_limits", "parameters": [{"name": "id", "in": "path", "description": "Id or email of user", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "User limits for type are successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserLimitsAdmin"}}}}}}, "post": {"tags": ["settings"], "operationId": "edit_account_limits", "summary": "Setting account restrictions", "parameters": [{"name": "id", "in": "path", "description": "Id or email of user", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Edit user limits params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditUserLimitsParams"}}}, "required": true}, "responses": {"200": {"description": "User limits for type edited successfully", "content": {"application/json": {"schema": {"type": "object"}}}}}, "x-codegen-request-body-name": "EditUserLimitsParams"}, "delete": {"tags": ["settings"], "operationId": "delete_account_limits", "parameters": [{"name": "id", "in": "path", "description": "Id or email of user", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "User limits for type deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/ippool/{ippool_id}": {"delete": {"tags": ["network"], "summary": "Deleting a pool of ip addresses", "description": "Deleting a pool of ip addresses", "operationId": "delete_ippool", "parameters": [{"name": "ippool_id", "in": "path", "description": "ID of the deleted pool of ip addresses", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP address pool deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/host/{host_id}/iso/mount/local": {"post": {"tags": ["internal"], "operationId": "host_iso_mount_local", "summary": "Mount uploaded local ISO", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "ISO local mount task successfully started", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostIsoMountLocalParams"}}, "/vxlan/{vxlan_id}/ip": {"get": {"tags": ["vxlan"], "operationId": "get_vxlan_ip_list", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of ips on vxlan successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VxlanIpList"}}}}}}}, "/host/{host_id}/sync_ha_metadata": {"post": {"tags": ["host"], "operationId": "sync_ha_metadata", "summary": "Syn\u0441 host HA metadata", "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"}}}}}}}}}, "/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/BackupRelocateParams"}}}, "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"}}, "/storage": {"get": {"tags": ["storage"], "summary": "Storage List", "operationId": "get_storage_list", "responses": {"200": {"description": "Storage list successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageList"}}}}}}, "post": {"tags": ["storage"], "summary": "Storage creation", "operationId": "create_storage", "requestBody": {"description": "Parameters of the created storage", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageParams"}}}, "required": true}, "responses": {"200": {"description": "The storage has been successfully created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "StorageParams"}}, "/host/{host_id}/ipv6": {"get": {"tags": ["host"], "operationId": "get_host_ipv6", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IPv6 info is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostIpv6"}}}}}}}, "/version": {"get": {"tags": ["vmmanager"], "operationId": "get_version", "responses": {"200": {"description": "Release version is successfully received", "content": {}}}}}, "/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"}}}}}}}, "/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"}}}}}}}}}, "/storage/{storage_id}/node": {"get": {"tags": ["storage"], "summary": "Get node list for the storage", "operationId": "get_storage_node_list", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node list for the storage is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageNodeList"}}}}}}}, "/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}": {"get": {"tags": ["host"], "operationId": "get_host", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"account": {"type": "integer"}, "anti_spoofing": {"type": "boolean"}, "anti_spoofing_settings": {"type": "object", "properties": {"vlan": {"type": "boolean"}}, "nullable": true}, "id": {"type": "integer"}, "internal_name": {"type": "string"}, "node": {"type": "integer"}, "name": {"type": "string"}, "state": {"type": "string"}, "cpu_number": {"type": "integer"}, "ram_mib": {"type": "integer"}, "expand_part": {"type": "string"}, "net_is_synced": {"type": "boolean"}, "ip_automation": {"type": "string"}, "snapshot_limit": {"type": "integer"}, "snapshots_allowed": {"type": "boolean"}}}}}}}}, "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/IdTasks"}}}}}, "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"}}, {"name": "force", "in": "query", "description": "Force deleting a host", "required": false, "schema": {"type": "boolean"}}], "responses": {"200": {"description": "Host deleted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/host/{host_id}/iso/upload/finish": {"post": {"tags": ["internal"], "operationId": "host_iso_upload_finish", "summary": "Finalize previously announced ISO file upload", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "ISO upload finish params", "content": {"application/json": {"schema": {"type": "object", "properties": {"iso_file_size_mib": {"type": "integer"}}}}}, "required": true}, "responses": {"200": {"description": "ISO upload finalized successfully"}}}}, "/cluster/{cluster_id}/storage/{storage_id}": {"post": {"tags": ["cluster"], "summary": "Attach storage to cluster", "operationId": "attach_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Storage parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageAttachParams"}}}, "required": true}, "responses": {"200": {"description": "Storage attached successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdTaskStoragesTasks"}}}}}, "x-codegen-request-body-name": "StorageAttachParams"}, "delete": {"tags": ["cluster"], "summary": "Detach storage from cluster", "operationId": "detach_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage detached successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/os/{os_id}/node/{node_id}": {"delete": {"tags": ["os"], "summary": "Delete os from node", "operationId": "os_node_delete", "parameters": [{"name": "os_id", "in": "path", "description": "OS ID", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OS successfully deleted from the node", "content": {}}}}}, "/host/{host_id}/spice_settings": {"get": {"tags": ["host"], "operationId": "get_host_spice_settings", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host spice settings is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"port": {"type": "integer"}, "server": {"$ref": "#/components/schemas/AnyIp"}, "password": {"type": "string", "nullable": true}, "internal_name": {"type": "string"}}}}}}}}, "post": {"tags": ["host"], "operationId": "edit_host_spice_settings", "summary": "Editing SPICE Virtual Machine Settings", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "SPICE settings params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SpiceSettingsParams"}}}, "required": true}, "responses": {"200": {"description": "Host SPICE settings edited successfully", "content": {}}}, "x-codegen-request-body-name": "SpiceSettingsParams"}}, "/host/iso/upload/cancel/all": {"post": {"tags": ["internal"], "operationId": "hosts_iso_upload_cancel_all", "summary": "Clean DB from the list of in-progress ISO file uploads (called only when uploader service restarts)", "parameters": [], "requestBody": {"description": "Any params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": false}, "responses": {"200": {"description": "List of found-n-cleaned ISO uploads", "content": {"application/json": {"schema": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object", "properties": {"node": {"type": "integer"}, "path": {"type": "string"}}}}}}}}}}}}, "/node/{node_id}/ha/disable": {"post": {"tags": ["node"], "summary": "disable HA on node in the case of failure after disable HA on cluster", "operationId": "ha_disable", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "HA params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Disable HA on node started successfully", "content": {}}}}}, "/node/{node_id}/import/configure": {"post": {"tags": ["node"], "summary": "Configuring imported node", "description": "Configuring imported node", "operationId": "configure_imported_node", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Params", "content": {"application/json": {"schema": {"type": "object", "properties": {"network_autosetup_disabled": {"type": "boolean", "default": false}}, "additionalProperties": false}}}, "required": true}, "responses": {"200": {"description": "Node configure started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/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"}}, "/host/{host_id}/migrate": {"get": {"tags": ["host"], "operationId": "get_migration_form", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host migrate form is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeForMigrateList"}}}}}}, "post": {"tags": ["host"], "operationId": "migrate_host", "summary": "Migrating a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Migration options", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostMigrateParams"}}}, "required": true}, "responses": {"200": {"description": "Host migration started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostMigrateParams"}}, "/writer_status": {"post": {"tags": ["vmmanager"], "summary": "Get writer status", "operationId": "get_writer_status", "responses": {"200": {"description": "Writer status is successfully received", "content": {}}}}}, "/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": {"$ref": "#/components/schemas/IdAndTask"}}}}}, "x-codegen-request-body-name": "HostAccountParams"}}, "/cluster/{cluster_id}": {"get": {"tags": ["cluster"], "summary": "Cluster", "operationId": "get_cluster", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Cluster is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Cluster"}}}}}}, "post": {"tags": ["cluster"], "summary": "Editing a cluster", "operationId": "edit_cluster", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Cluster parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterEditParams"}}}, "required": true}, "responses": {"200": {"description": "Cluster edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdTasks"}}}}}, "x-codegen-request-body-name": "ClusterEditParams"}, "delete": {"tags": ["cluster"], "summary": "Deleting a cluster", "description": "Deleting a cluster", "operationId": "delete_cluster", "parameters": [{"name": "cluster_id", "in": "path", "description": "The cluster ID to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Cluster deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/host/{host_id}/ptr": {"post": {"tags": ["host"], "operationId": "add_host_ptr", "summary": "Adding a PTR-record to a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters of added PTR record", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddPtrParams"}}}, "required": true}, "responses": {"200": {"description": "Host PTR added successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "AddPtrParams"}, "get": {"tags": ["host"], "operationId": "get_host_ptr_list", "summary": "Getting list of PTR-records of a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Successfully got host PTR-records", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostPtrList"}}}}}}}, "/host/{host_id}/reinstall": {"post": {"tags": ["host"], "operationId": "reinstall_host", "summary": "Reinstalling the virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host reinstall params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostReinstallParams"}}}, "required": true}, "responses": {"200": {"description": "Host reinstall started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "recipe_task_list": {"type": "array", "items": {"type": "integer"}}, "recipe_task": {"type": "integer"}, "spice_task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostReinstallParams"}}, "/cluster/{cluster_id}/vxlan/user": {"get": {"tags": ["cluster"], "operationId": "get_cluster_vxlan_user_list", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of users' vxlan on cluster successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterVxlanUserList"}}}}}}}, "/random_name/{number}": {"get": {"tags": ["form"], "operationId": "generate_random_name", "parameters": [{"name": "number", "in": "path", "description": "Amount random names", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Random names are successfully received", "content": {}}}}}, "/outdated/disk/backup": {"get": {"tags": ["disk", "backup"], "operationId": "disk_backup_list", "responses": {"200": {"description": "Disks backup list have gotten successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiskBackupList"}}}}}}}, "/private_key": {"get": {"tags": ["vmmanager", "form"], "operationId": "get_private_key", "responses": {"200": {"description": "Private key is successfully received", "content": {}}}}}, "/host/{host_id}/ipv4": {"get": {"tags": ["host"], "operationId": "get_host_ipv4", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IPv4 info is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/HostIpv4"}}, "size": {"type": "integer"}}}}}}}}}, "/node/{node_id}/history": {"get": {"tags": ["node"], "operationId": "history", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node history is successfully received", "content": {}}}}}, "/host/{host_id}/iso/upload/cancel": {"post": {"tags": ["internal"], "operationId": "host_iso_upload_cancel", "summary": "Cancel previously announced ISO file upload", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "ISO upload cancelled successfully"}}}}, "/storage/{storage_id}": {"get": {"tags": ["storage"], "summary": "Storage", "operationId": "get_storage", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage info is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Storage"}}}}}}, "post": {"tags": ["storage"], "summary": "Editing a storage", "operationId": "edit_storage", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Storage parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageEditParams"}}}, "required": true}, "responses": {"200": {"description": "Storage edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "StorageEditParams"}, "delete": {"tags": ["storage"], "summary": "Deleting a storage", "description": "Deleting a storage", "operationId": "delete_storage", "parameters": [{"name": "storage_id", "in": "path", "description": "The storage ID to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/userspace/{userspace_id}/ipnet": {"post": {"tags": ["network"], "description": "Create IP network", "operationId": "create_ipnet", "parameters": [{"name": "userspace_id", "in": "path", "description": "Userspace ID", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Network settings", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NetworkCreateParams"}}}, "required": true}, "responses": {"200": {"description": "Network created successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "NetworkCreateParams"}}, "/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"}}, "/host": {"get": {"tags": ["host"], "operationId": "get_host_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "Host list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostList"}}}}}}, "post": {"tags": ["host"], "summary": "VM creation", "operationId": "create_host", "requestBody": {"description": "Parameters of the created VM", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostParams"}}}, "required": true}, "responses": {"200": {"description": "VM successfully created", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}, "recipe_task_list": {"type": "array", "items": {"type": "integer"}}, "recipe_task": {"type": "integer"}, "spice_task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostParams"}}, "/node/{node_id}/storage/{storage_id}/check": {"post": {"tags": ["node"], "summary": "Check storage on node", "operationId": "check_node_storage", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage checked successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}}, "/node/{node_id}/relocate": {"post": {"tags": ["node"], "summary": "Relocate VM from node", "operationId": "relocate", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Relocate params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node relocate is successfully started", "content": {}}}, "x-codegen-request-body-name": "RelocateParams"}}, "/host/{host_id}/recover_domain_xml": {"post": {"tags": ["host"], "operationId": "recover_host_domain_xml", "summary": "Recovering domain XML of virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Host recover domain XML params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EmptySchema"}}}, "required": true}, "responses": {"200": {"description": "Domain XML recover started successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SuccessTaskSchema"}}}}}, "x-codegen-request-body-name": "HostRecoverDomainXMLParams"}}, "/os/{os_id}/cluster/{cluster_id}": {"get": {"tags": ["os", "cluster"], "operationId": "get_os_cluster_list", "parameters": [{"name": "os_id", "in": "path", "description": "OS ID", "required": true, "schema": {"type": "integer"}}, {"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node internal list is successfully received", "content": {}}}}}, "/recipe/{recipe_id}/params": {"get": {"tags": ["recipe"], "operationId": "get_recipe_params", "parameters": [{"name": "recipe_id", "in": "path", "description": "Recipe ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Recipe params is successfully received", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object"}}}}}}}}, "/storage/{storage_id}/node/{node_id}/change_state": {"post": {"tags": ["storage"], "operationId": "change_storage_node_state", "summary": "Change storage on node state", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage id", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node id", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New storage on node state", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageNodeChangeStateParams"}}}, "required": true}, "responses": {"200": {"description": "Storage state changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "StorageNodeChangeStateParams"}}, "/host/{host_id}/ip_automation": {"post": {"tags": ["host"], "summary": "Change IP automation type", "operationId": "chande_host_ip_automation", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New IP automation type", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IpAutomationType"}}}, "required": true}, "responses": {"200": {"description": "IP automation changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/image/{image_id}": {"get": {"tags": ["image"], "operationId": "get_image", "parameters": [{"name": "image_id", "in": "path", "description": "Image ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host image info is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageByIdProps"}}}}}}, "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"}}}}}}}}}, "/repository/{repository_id}/iso/status": {"get": {"tags": ["repository"], "operationId": "repository_iso_status", "summary": "Status of the ability for current user to upload ISO of given size to the target host", "parameters": [{"name": "repository_id", "in": "path", "description": "Repository ID", "required": true, "schema": {"type": "integer"}}, {"name": "iso_size_mib", "in": "query", "description": "Size of ISO file in MiB", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "ISO can be uploaded", "content": {"application/json": {"schema": {"type": "object", "properties": {"repository_id": {"type": "integer"}, "user_id": {"type": "integer"}, "admin_role": {"type": "boolean"}, "iso_status": {"type": "string", "enum": ["available"]}}}}}}}}}, "/storage/{storage_id}/change_state": {"post": {"tags": ["storage"], "operationId": "change_storage_state", "summary": "Change storage on node state", "parameters": [{"name": "storage_id", "in": "path", "description": "Storage id", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New storage on node state", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StorageChangeStateParams"}}}, "required": true}, "responses": {"200": {"description": "Storage state changed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "StorageChangeStateParams"}}, "/disk/{disk_id}/restore": {"post": {"tags": ["disk"], "operationId": "restore_disk", "summary": "Recovering a virtual disk", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk 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": "DiskRestoreParams"}}, "/os/all": {"get": {"tags": ["os"], "summary": "OS list", "operationId": "get_all_os_list", "responses": {"200": {"description": "OS list received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OsList"}}}}}}}, "/import_history/{import_history_id}": {"post": {"tags": ["import"], "summary": "Edit import history", "operationId": "edit_import_history", "parameters": [{"name": "import_history_id", "in": "path", "description": "Import history ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Import history edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImportHistoryEditParams"}}}, "required": true}, "responses": {"200": {"description": "Import history entity updated successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ImportHistoryEditParams"}}, "/host/{host_id}/disk_order": {"post": {"tags": ["host", "disk"], "summary": "Change disk boot order for host", "operationId": "host_change_disk_order", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Boot Order Params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostDiskOrderParams"}}}, "required": true}, "responses": {"200": {"description": "Disk boot order changed successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}, "x-codegen-request-body-name": "HostDiskOrderParams"}}, "/node/{node_id}/network/ifaces": {"post": {"tags": ["node"], "summary": "Update information about node interfaces", "operationId": "ifaces_update", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node interfaces modify params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeIfacesParams"}}}, "required": true}, "responses": {"200": {"description": "Node interfaces modified successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}, "x-codegen-request-body-name": "NodeIfacesParams"}}, "/vxlan": {"get": {"tags": ["vxlan"], "operationId": "get_vxlan_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "List of vlans successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VxlanList"}}}}}}, "post": {"tags": ["vxlan"], "operationId": "create_vxlan", "summary": "Create vxlan", "requestBody": {"description": "vxlan params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VxlanParams"}}}, "required": true}, "responses": {"200": {"description": "Vxlan added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "VxlanParams"}}, "/node/{node_id}/network/iface/{iface_type}/{iface_id}/revert": {"post": {"tags": ["node"], "summary": "Revert the network interface changes on the node", "operationId": "iface_revert", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_type", "in": "path", "description": "Requested iface type", "required": true, "schema": {"type": "string", "enum": ["bond", "bridge"]}}, {"name": "iface_id", "in": "path", "description": "Requested iface ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node interface changes reverting params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node interface changes reverted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/vmupdate": {"post": {"tags": ["vmmanager"], "summary": "Start VM panel update", "operationId": "update_vm", "responses": {"200": {"description": "VM update started successfully", "content": {}}}}}, "/node/{node_id}/ha/state": {"post": {"tags": ["node"], "summary": "Set ha state", "operationId": "ha_state", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Ha state params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeHaStateParams"}}}, "required": true}, "responses": {"200": {"description": "Node HA state is successfully saved", "content": {}}}, "x-codegen-request-body-name": "NodeHaStateParams"}}, "/host/{host_id}/iface": {"get": {"tags": ["host"], "summary": "Host iface list", "operationId": "get_host_iface_list", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host iface list is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/HostIface"}}}}}}}}, "x-codegen-request-body-name": "HostIface"}, "post": {"tags": ["host"], "summary": "Create an iface on host", "operationId": "create_host_iface", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Create iface parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostIfaceCreateParams"}}}, "required": true}, "responses": {"200": {"description": "Host iface created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "HostIfaceCreateParams"}}, "/task/ha/sync": {"post": {"tags": ["task"], "operationId": "ha_sync", "summary": "Sync ha task", "requestBody": {"description": "Task parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TaskHaSyncParams"}}}, "required": true}, "responses": {"200": {"description": "Task synced successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"tasks": {"type": "array", "items": {"type": "integer"}}}}}}}}, "x-codegen-request-body-name": "TaskHaSyncParams"}}, "/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": {}}}}}, "/recipe": {"get": {"tags": ["recipe"], "summary": "Recipe list", "operationId": "get_recipe_list", "responses": {"200": {"description": "Recipe list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RecipeList"}}}}}}, "post": {"tags": ["recipe"], "operationId": "create_recipe", "summary": "Create recipe", "requestBody": {"description": "Recipe params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RecipeParams"}}}, "required": true}, "responses": {"200": {"description": "Recipe added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "RecipeParams"}}, "/image/{image_id}/node/{node_id}": {"delete": {"tags": ["image"], "summary": "Delete image on node", "operationId": "image_node_delete", "parameters": [{"name": "image_id", "in": "path", "description": "VM image ID", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host image successfully deleted on the node", "content": {}}}}}, "/repository/{repository_id}/update": {"post": {"tags": ["repository"], "operationId": "update_repository_metadata", "summary": "Updating repository metadata", "parameters": [{"name": "repository_id", "in": "path", "description": "ID repository", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Repository edit params", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}, "required": false}, "responses": {"200": {"description": "Repository metadata updated", "content": {}}}}}, "/user_limits/role/{id}": {"get": {"tags": ["settings"], "operationId": "get_role_limits", "parameters": [{"name": "id", "in": "path", "description": "Role", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "User limits for type are successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserLimitsAdmin"}}}}}}, "post": {"tags": ["settings"], "operationId": "edit_role_limits", "summary": "Changing user restrictions", "parameters": [{"name": "id", "in": "path", "description": "Role", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Edit user limits params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditUserLimitsParams"}}}, "required": true}, "responses": {"200": {"description": "User limits for type edited successfully", "content": {"application/json": {"schema": {"type": "object"}}}}}, "x-codegen-request-body-name": "EditUserLimitsParams"}, "delete": {"tags": ["settings"], "operationId": "delete_role_limits", "parameters": [{"name": "id", "in": "path", "description": "Role", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "User limits for type deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/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"}}, "/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"}}, "/ipnet/{ipnet_id}": {"post": {"tags": ["network"], "description": "Edit IP network settings", "operationId": "edit_ipnet", "parameters": [{"name": "ipnet_id", "in": "path", "description": "IP network ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Network settings", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditNetworkParams"}}}, "required": true}, "responses": {"200": {"description": "Network settings edited successfully", "content": {}}}, "x-codegen-request-body-name": "EditNetworkParams"}, "delete": {"tags": ["network"], "description": "Deleting a IP network", "operationId": "delete_ipnet", "parameters": [{"name": "ipnet_id", "in": "path", "description": "IP network ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP network deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/ippool/{ippool_id}/cluster": {"get": {"tags": ["network"], "description": "List of clusters to which the pool is connected", "operationId": "get_ippool_cluster_list", "parameters": [{"name": "ippool_id", "in": "path", "description": "IP pool ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "IP pool cluster list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IppoolClusterList"}}}}}}, "post": {"tags": ["network"], "description": "Connecting the pool to clusters", "operationId": "edit_ippool_cluster", "parameters": [{"name": "ippool_id", "in": "path", "description": "IP pool ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Pool connection parameters for clusters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IppoolClusterParams"}}}, "required": true}, "responses": {"200": {"description": "Cluster ip pool connected successfully", "content": {}}}, "x-codegen-request-body-name": "IppoolClusterParams"}}, "/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"}}, "/setting/{setting_name}": {"get": {"tags": ["settings"], "operationId": "get_setting", "parameters": [{"name": "setting_name", "in": "path", "description": "Setting name", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Setting is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "summary": "Edit VM setting", "operationId": "edit_setting", "parameters": [{"name": "setting_name", "in": "path", "description": "Setting name", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Setting edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SettingEditParams"}}}, "required": true}, "responses": {"200": {"description": "VM setting edited successfully", "content": {}}}, "x-codegen-request-body-name": "SettingEditParams"}}, "/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"}}, "/ip": {"get": {"tags": ["host"], "operationId": "get_ip_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "List of IP addresses", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IpList"}}}}}}}, "/import/cluster": {"post": {"tags": ["import"], "summary": "Import cluster", "operationId": "import_cluster", "requestBody": {"description": "Import cluster params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImportClusterParams"}}}, "required": true}, "responses": {"200": {"description": "Cluster imported successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ImportClusterParams"}}, "/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"}}, "/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"}}, "/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}/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": {}}}}}, "/node/{node_id}/network/lock": {"post": {"tags": ["node"], "summary": "Lock node network settings", "operationId": "network_lock", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node network settings locking params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node network settings locked successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/node/{node_id}/network/iface": {"post": {"tags": ["node"], "summary": "Create a new interface on the node", "operationId": "iface_create", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node interface creation params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeIfaceCreateParams"}}}, "required": true}, "responses": {"200": {"description": "Node interface created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}, "x-codegen-request-body-name": "NodeIfaceCreateParams"}, "get": {"tags": ["node"], "summary": "Get a list of network interfaces on the node", "operationId": "iface_list", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}, {"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "The list of network interfaces on the node received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeIfaceList"}}}}}}}, "/node/{node_id}/host/ifaces": {"get": {"tags": ["node"], "summary": "Get VM ifaces on node", "operationId": "get_host_ifaces", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "VM ifaces", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostIfacesParams"}}}}}}, "post": {"tags": ["node"], "summary": "Update VM ifaces", "operationId": "set_host_ifaces", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "New VM ifaces", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostIfacesParams"}}}, "required": true}, "responses": {"200": {"description": "VM ifaces changed", "content": {}}}, "x-codegen-request-body-name": "HostIfacesParams"}}, "/host/{host_id}/guest_agent": {"post": {"tags": ["host"], "operationId": "host_guest_agent_repair", "summary": "Repair guest agent on VM", "parameters": [{"name": "host_id", "in": "path", "description": "VM ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Qemu-guest-agent on VM successfully repaired", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}}, "/script_variable": {"get": {"tags": ["recipe"], "summary": "Script variables list", "operationId": "get_script_variable_list", "responses": {"200": {"description": "Script variables list successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScriptVariableList"}}}}}}, "post": {"tags": ["recipe"], "operationId": "create_script_variable", "summary": "Create script variable", "requestBody": {"description": "Script_variable params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScriptVariableParams"}}}, "required": true}, "responses": {"200": {"description": "Script_variable added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ScriptVariableParams"}}, "/changelog/{lang}": {"get": {"tags": ["vmmanager"], "operationId": "get_changelog_lang", "parameters": [{"name": "lang", "in": "path", "description": "User language", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Changelog is successfully received", "content": {}}}}}, "/import_history": {"get": {"tags": ["import"], "summary": "List of import history entities", "operationId": "get_import_history", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "List of import history entities received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImportHistoryList"}}}}}}, "post": {"tags": ["import"], "summary": "Create import history entity", "operationId": "create_import_history_entity", "requestBody": {"description": "Import history entity params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImportHistoryParams"}}}, "required": true}, "responses": {"200": {"description": "Import history entity created successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ImportHistoryParams"}}, "/cluster/{cluster_id}/storage/{storage_id}/check": {"post": {"tags": ["cluster"], "summary": "Check storage on cluster", "operationId": "check_cluster_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage checked successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/iso/upload/{os_id}/finish": {"post": {"tags": ["internal"], "operationId": "iso_upload_finish", "summary": "Finalize previously announced ISO file upload", "parameters": [{"name": "os_id", "in": "path", "description": "ISO ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "ISO upload finish params", "content": {"application/json": {"schema": {"type": "object", "properties": {"iso_file_size_mib": {"type": "integer"}}}}}, "required": true}, "responses": {"200": {"description": "ISO upload finalized successfully"}}}}, "/node_check": {"get": {"tags": ["node"], "operationId": "node_check", "responses": {"200": {"description": "Check node info ended successfully", "content": {}}}}}, "/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"}}, "/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 (identifier at taskmgr side aka consul_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"}}, "/user/{user_id}": {"get": {"tags": ["user"], "operationId": "get_user", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "User info is successfully received", "content": {}}}}, "post": {"tags": ["user"], "operationId": "edit_user", "summary": "User editing", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "User edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserEditParams"}}}, "required": true}, "responses": {"200": {"description": "User deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}, "delete": {"tags": ["user"], "operationId": "delete_user", "parameters": [{"name": "user_id", "in": "path", "description": "ID user", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "User deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/import_history/{import_history_id}/result": {"post": {"tags": ["import"], "summary": "Set result to import history", "operationId": "set_import_history_result", "parameters": [{"name": "import_history_id", "in": "path", "description": "Import history ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Import history result params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImportHistoryResultParams"}}}, "required": true}, "responses": {"200": {"description": "Import history entity updated successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ImportHistoryResultParams"}}, "/settings/max_user_iso_size": {"get": {"tags": ["settings"], "operationId": "get_settings_max_user_iso_size", "responses": {"200": {"description": "Max user ISO size is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"value": {"type": "integer"}}}}}}}}, "post": {"tags": ["settings"], "summary": "Set the max ISO size that is allowed for non-admin user to mount to VM", "operationId": "edit_settings_max_user_iso_size", "requestBody": {"description": "Set max user ISO size value", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MaxUserIsoSizeParams"}}}, "required": true}, "responses": {"200": {"description": "Setting max user ISO size successfully", "content": {}}}, "x-codegen-request-body-name": "MaxUserIsoSize"}}, "/account": {"get": {"tags": ["user"], "operationId": "get_account_lists", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountList"}}}}}}, "post": {"tags": ["user"], "operationId": "create_account", "summary": "Create an account", "requestBody": {"description": "Created account parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountParams"}}}, "required": true}, "responses": {"200": {"description": "Account created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "AccountParams"}}, "/account/sync": {"post": {"tags": ["user"], "operationId": "sync_account", "summary": "User syncing with auth service", "requestBody": {"description": "Account syncing parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountSync"}}}, "required": true}, "responses": {"200": {"description": "Account synced successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "AccountSync"}}, "/host/{host_id}/lxd/console": {"post": {"tags": ["host"], "operationId": "lxd_console", "summary": "Run lxd console backend", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Lxd console backend started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"socket": {"type": "string"}}}}}}}}}, "/cluster/{cluster_id}/ha_agent_update": {"post": {"tags": ["cluster"], "operationId": "ha_agent_update", "summary": "Updating ha_agent on cluster", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Agent update options", "content": {"application/json": {"schema": {"type": "object", "properties": {"nodes": {"type": "array", "items": {"type": "integer"}}}}}}}, "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/schedule_list": {"get": {"tags": ["host"], "operationId": "get_internal_schedule_list", "responses": {"200": {"description": "Internal schedule list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/InternalSchedulesList"}}}}}}}, "/repository": {"get": {"tags": ["repository"], "summary": "List of platform repositories", "operationId": "get_repository_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "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"}}, "/script_variable/{variable_id}/enable": {"post": {"tags": ["recipe"], "summary": "Enable script variable", "operationId": "script_variable_enable", "parameters": [{"name": "variable_id", "in": "path", "description": "Variable ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Script variable successfully enabled", "content": {}}}}}, "/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 successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/get_license": {"get": {"tags": ["vmmanager"], "summary": "Obtaining license data", "operationId": "get_license", "responses": {"200": {"description": "License info is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LicenseData"}}}}}}}, "/vxlan/{vxlan_id}/ipnet/{ipnet_id}": {"delete": {"tags": ["vxlan"], "operationId": "delete_vxlan_ipnet", "summary": "Add ipnet to vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}, {"name": "ipnet_id", "in": "path", "description": "Ipnet ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Ipnet successfully deleted from vxlan", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}, "post": {"tags": ["vxlan"], "operationId": "edit_vxlan_ipnet", "summary": "Edit ipnet in vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}, {"name": "ipnet_id", "in": "path", "description": "Ipnet ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Vxlan params", "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string"}, "gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}}}}}, "required": true}, "responses": {"200": {"description": "Ipnet successfully edited in vxlan", "content": {"application/json": {"schema": {"type": "integer"}}}}}}}, "/node/{node_id}/ha/enable": {"post": {"tags": ["node"], "summary": "Enable HA on node", "operationId": "ha_enable", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "HA params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Enable HA on node started successfully", "content": {}}}}}, "/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"}}, "/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"}}, "/ssh_key_replace": {"post": {"tags": ["internal"], "operationId": "ssh_key_replace", "summary": "Replace SSH keys on nodes", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/disk/{disk_id}/migrate": {"post": {"tags": ["disk"], "operationId": "migrate_disk", "summary": "Migrating a disk", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Disk migration options", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiskMigrateParams"}}}, "required": true}, "responses": {"200": {"description": "Disk migration started successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}, "x-codegen-request-body-name": "DiskMigrateParams"}}, "/disk/{disk_id}/migrate/local": {"get": {"tags": ["disk"], "operationId": "local_storage_list_to_migrate_disk", "summary": "Local storage list to migrate disk", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage and node list is successfully received", "content": {}}}}}, "/disk/{disk_id}/migrate/network": {"get": {"tags": ["disk"], "operationId": "network_storage_list_to_migrate_disk", "summary": "Network storage list to migrate disk", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage and node list is successfully received", "content": {}}}}}, "/os/{os_id}/node/{node_id}/disable": {"post": {"tags": ["os"], "summary": "Disable os on node", "operationId": "os_node_disable", "parameters": [{"name": "os_id", "in": "path", "description": "OS ID", "required": true, "schema": {"type": "integer"}}, {"name": "node_id", "in": "path", "description": "Node id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OS successfully disabled on the node", "content": {}}}}}, "/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"}}}}}}}}}, "/node/{node_id}/run_script": {"post": {"tags": ["node"], "summary": "Running a script on a node", "operationId": "run_script", "parameters": [{"name": "node_id", "in": "path", "description": "ID \u0443\u0437\u043b\u0430", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Executable script parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeRunScriptParams"}}}, "required": true}, "responses": {"200": {"description": "The script has been successfully launched", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "NodeRunScriptParams"}}, "/host/{host_id}/ptr/{ptr_name}": {"post": {"tags": ["host"], "operationId": "edit_host_ptr", "summary": "Editing a PTR-record of a virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "ptr_name", "in": "path", "description": "PTR name", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Parameters to edit PTR record", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditPtrParams"}}}, "required": true}, "responses": {"200": {"description": "Host PTR edited successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "EditPtrParams"}, "delete": {"tags": ["host"], "operationId": "delete_host_ptr", "summary": "Deleting the PTR-record of the virtual machine", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "ptr_name", "in": "path", "description": "PTR name", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Successfully deleted the PTR-record", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}}}, "/filter/recipe": {"get": {"tags": ["recipe"], "summary": "Get recipe filter reasons", "parameters": [{"name": "hosts", "in": "query", "description": "Hosts ID list", "required": false, "schema": {"type": "string", "pattern": "\\d+(,\\d+)*"}}, {"name": "recipes", "in": "query", "description": "Recipes ID list", "required": false, "schema": {"type": "string", "pattern": "\\d+(,\\d+)*"}}, {"name": "host_params", "in": "query", "description": "Create host params", "required": false, "schema": {"type": "string"}}], "operationId": "get_script_filter", "responses": {"200": {"description": "Filtered script list is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"list": {"$ref": "#/components/schemas/RecipeFilterResult"}}}}}}}, "x-codegen-request-body-name": "FilterScriptList"}}, "/cluster/{cluster_id}/fix_frr": {"post": {"tags": ["cluster"], "operationId": "fix_frr", "summary": "Fixing frr errors on every node on cluster that has frr errors", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {}}}}}}}, "/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"}}, "/cluster/{cluster_id}/routing/update": {"post": {"tags": ["cluster"], "summary": "Cluster", "operationId": "cluster_update_routing", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Any params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": false}, "responses": {"200": {"description": "Cluster routing is successfully started updating", "content": {"application/json": {"schema": {"type": "object", "properties": {"task_created": {"type": "boolean"}}}}}}}}}, "/instance_info": {"get": {"tags": ["vmmanager"], "operationId": "get_instance_info", "responses": {"200": {"description": "Instance info is successfully received", "content": {}}}}}, "/vxlan/{vxlan_id}/ipnet": {"post": {"tags": ["vxlan"], "operationId": "add_vxlan_ipnet", "summary": "Add ipnet to vxlan", "parameters": [{"name": "vxlan_id", "in": "path", "description": "Vxlan ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Vxlan ipnet params", "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string"}, "gateway": {"oneOf": [{"type": "string", "format": "ipv4"}, {"type": "string", "format": "ipv6"}, {"type": "null"}]}}}}}, "required": true}, "responses": {"200": {"description": "Vxlan edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "VxlanIpnetParams"}}, "/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"}}}}}}}}}, "/disk/{disk_id}/backup": {"post": {"tags": ["disk", "backup"], "summary": "Disk backup creation", "operationId": "create_disk_backup", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk id", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Disk backup params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BackupParams"}}}, "required": true}, "responses": {"200": {"description": "Disk backup created successfully", "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": ["disk", "backup"], "operationId": "backup_list_by_disk", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Disk backup list have gotten successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiskBackupList"}}}}}}}, "/migrate_ipmgr": {"post": {"tags": ["network"], "summary": "Migrate networks from ipmgr5", "operationId": "migrate_ipmgr", "requestBody": {"description": "Ipmgr5 migration params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MigrateIpmgrParams"}}}, "required": true}, "responses": {"200": {"description": "Migrate networks from ipmgr5 successfully started", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "MigrateIpmgrParams"}}, "/cluster/{cluster_id}/storage/{storage_id}/ceph_connect": {"post": {"tags": ["cluster"], "summary": "Connect ceph storage to cluster", "operationId": "ceph_storage_connect", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage attached successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdTaskStoragesTasks"}}}}}}}, "/platform/backup/{backup_id}/info": {"get": {"tags": ["platform_backup"], "summary": "Platform backup info", "operationId": "get_platform_backup", "parameters": [{"name": "backup_id", "in": "path", "description": "Platform backup ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Platform backup info retrieved successfully"}}}}, "/script_variable/{variable_id}/disable": {"post": {"tags": ["recipe"], "summary": "Disable script variable", "operationId": "script_variable_disablee", "parameters": [{"name": "variable_id", "in": "path", "description": "Variable ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Script variable successfully disabled", "content": {}}}}}, "/settings/email_restore": {"post": {"tags": ["settings"], "description": "Reset email settings", "operationId": "edit_settings_email_restore", "responses": {"200": {"description": "Email restored successfully", "content": {}}}}}, "/tag": {"get": {"tags": ["tag"], "operationId": "get_tag_list", "responses": {"200": {"description": "Tag list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TagList"}}}}}}, "post": {"tags": ["tag"], "operationId": "create_tag", "summary": "Adding new tag", "requestBody": {"description": "Options for adding a tag", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TagCreateParams"}}}, "required": true}, "responses": {"200": {"description": "New tag added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "TagCreateParams"}}, "/host_node": {"get": {"tags": ["host"], "summary": "Host list with node information", "operationId": "get_host_node_list", "responses": {"200": {"description": "Host list received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostNodeList"}}}}}}}, "/node": {"get": {"tags": ["node"], "summary": "List of cluster nodes", "operationId": "get_node_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "List of cluster nodes received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeList"}}}}}}, "post": {"tags": ["node"], "summary": "Creating a cluster node", "operationId": "create_node", "requestBody": {"description": "Parameters of the created cluster node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeParams"}}}, "required": true}, "responses": {"200": {"description": "Cluster node created successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeCreateResponse"}}}}}, "x-codegen-request-body-name": "NodeParams"}}, "/host/{host_id}/disk/{disk_id}": {"post": {"tags": ["host", "disk"], "summary": "Link disk to host", "operationId": "link_host_disk", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "disk_id", "in": "path", "description": "Disk id", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Link disk params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LinkDiskParams"}}}, "required": true}, "responses": {"200": {"description": "Disk successfully linked to host", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}, "delete": {"tags": ["host", "disk"], "summary": "Unlink disk from host", "operationId": "unlink_host_disk", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "disk_id", "in": "path", "description": "Disk id", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Disk successfully unlinked from host", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}}, "/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"}}, "/disk/{disk_id}/from_image": {"post": {"tags": ["disk"], "operationId": "restore_disk_from_image", "summary": "Used to restore disk from custom image that was uploaded on node", "parameters": [{"name": "disk_id", "in": "path", "description": "Disk ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Disk restore from image params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiskRestoreFromImage"}}}, "required": true}, "responses": {"200": {"description": "Disk restore started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer", "description": "Disk ID"}, "task": {"type": "integer", "description": "Disk restore task id"}}}}}}}, "x-codegen-request-body-name": "DiskRestoreFromImage"}}, "/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"}}, "/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"}}}}}}}, "/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"}}, "/snapshot": {"get": {"tags": ["snapshot"], "operationId": "get_full_snapshot_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "Snapshot list for all hosts", "content": {"application/json": {"schema": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Snapshot"}}}}}}}}}}, "/settings/send_vm_messages": {"get": {"tags": ["settings"], "operationId": "get_settings_send_vm_messages", "responses": {"200": {"description": "Sending messages status is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "summary": "Enable or disable sending messages about VM", "operationId": "edit_settings_send_vm_messages", "requestBody": {"description": "Enable sending params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EnableSendingParams"}}}, "required": true}, "responses": {"200": {"description": "Setting sending messages edited successfully", "content": {}}}, "x-codegen-request-body-name": "EnableSendingParams"}}, "/ssh_key_replace_commit": {"post": {"tags": ["internal"], "operationId": "ssh_key_replace_commit", "summary": "Commit SSH keys replacement", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/snapshot/{snapshot_id}/apply": {"post": {"tags": ["snapshot"], "summary": "Applies a VM snapshot (revert disk to saved state)", "operationId": "apply_host_snapshot", "parameters": [{"name": "snapshot_id", "in": "path", "description": "Snapshot ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "VM snapshots task registered", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}}, "/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"}}, "/api": {"get": {"tags": ["vmmanager"], "operationId": "get_api", "responses": {"200": {"description": "API is successfully received", "content": {}}}}}, "/migrate": {"get": {"tags": ["form"], "operationId": "get_migrate_group_form", "parameters": [{"name": "hosts", "in": "query", "description": "Hosts ID list", "required": false, "schema": {"type": "string", "pattern": "\\d+(,\\d+)*"}}, {"name": "ignore_filters", "in": "query", "description": "Ignore host filters", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "Group migrate form is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeForMigrateList"}}}}}}}, "/range": {"get": {"tags": ["network"], "operationId": "get_range_list", "responses": {"200": {"description": "Range info is successfully received", "content": {}}}}}, "/reinvite": {"post": {"tags": ["user"], "summary": "User reinvite", "operationId": "reinvite_account", "requestBody": {"description": "User reinvite params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReinviteParams"}}}, "required": true}, "responses": {"200": {"description": "User reinvited successfully", "content": {}}}, "x-codegen-request-body-name": "ReinviteParams"}}, "/old_metrics/sendreport": {"post": {"tags": ["schedule"], "summary": "Send metrics report", "operationId": "old_send_metrics_report", "responses": {"200": {"description": "Send metrics start successfully", "content": {}}}}}, "/metrics/sendreport": {"post": {"tags": ["schedule"], "summary": "Send metrics report", "operationId": "send_metrics_report", "responses": {"200": {"description": "Send metrics start successfully", "content": {}}}}}, "/script_variable/{variable_id}": {"get": {"tags": ["recipe"], "summary": "Script variable", "operationId": "get_script_variable", "parameters": [{"name": "variable_id", "in": "path", "description": "Variable ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Script variables list successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScriptVariableParams"}}}}}}, "post": {"tags": ["recipe"], "operationId": "edit_script_variable", "summary": "Edit script variable", "parameters": [{"name": "variable_id", "in": "path", "description": "Variable ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Script_variable params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ScriptVariableParams"}}}, "required": true}, "responses": {"200": {"description": "Script_variable added successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}, "x-codegen-request-body-name": "ScriptVariableParams"}, "delete": {"tags": ["recipe"], "summary": "Deleting a script variable", "description": "Deleting a script variable", "operationId": "delete_script_variable", "parameters": [{"name": "variable_id", "in": "path", "description": "The script variable ID to remove", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Script variable deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Deleted"}}}}}}}, "/snapshot/{snapshot_id}": {"delete": {"tags": ["snapshot"], "summary": "VM snapshot deletion (no VM5)", "operationId": "delete_host_snapshot2", "parameters": [{"name": "snapshot_id", "in": "path", "description": "Snapshot ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "VM snapshots task registered", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}, "post": {"tags": ["snapshot"], "summary": "VM snapshot edition", "operationId": "edit_snapshot", "parameters": [{"name": "snapshot_id", "in": "path", "description": "Snapshot ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM snapshot edit params", "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string", "pattern": "^[\\w_-]{1,100}$"}, "description": {"type": "string", "maxLength": 255}}}}}, "required": true}, "responses": {"200": {"description": "VM snapshot was edited"}}}, "get": {"tags": ["snapshot"], "operationId": "get_snapshot", "parameters": [{"name": "snapshot_id", "in": "path", "description": "snapshot ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Snapshot", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "ext_name": {"type": "string"}, "description": {"type": "string"}, "with_ram": {"type": "boolean"}, "state": {"type": "string", "enum": ["ok", "fail", "creation", "unknown"]}, "data": {"type": "object"}, "vm5_data": {"type": "object"}, "host": {"type": "integer"}, "type": {"type": "string"}, "created": {"type": "string"}, "parent": {"type": "integer"}}}}}}}}}, "/backup/{backup_id}": {"get": {"tags": ["backup", "disk"], "summary": "Get info about disk backup", "operationId": "get_backup", "parameters": [{"name": "backup_id", "in": "path", "description": "Disk backup ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Info about disk backup received successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Backup"}}}}}}, "post": {"tags": ["backup"], "summary": "VM backup change params", "operationId": "edit_backup", "parameters": [{"name": "backup_id", "in": "path", "description": "Disk 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": "Disk 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"}}}}}}}}}, "/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"}}}}}}}, "/node/{node_id}/storage/{storage_id}/hdd_overselling": {"post": {"tags": ["node"], "summary": "Update storage HDD overselling on node", "operationId": "update_storage2node_hdd_overselling", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "HDD overselling parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HddOversellingParams"}}}, "required": true}, "responses": {"200": {"description": "Storage HDD overselling is successfully updated", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HddOverselling"}}}}}, "x-codegen-request-body-name": "HddOversellingParams"}}, "/host/{host_id}/metrics": {"get": {"tags": ["host"], "operationId": "get_host_metrics", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host metrics is successfully received", "content": {}}}}}, "/tag/{tag_id}": {"delete": {"tags": ["tag"], "operationId": "delete_tag", "parameters": [{"name": "tag_id", "in": "path", "description": "Tag ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "A tag deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/node/{node_id}/hosts": {"get": {"tags": ["node"], "summary": "Getting a list of VMs from the node", "operationId": "hosts_list", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "The list of VMs from the node was successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"list": {"type": "array", "items": {"type": "object"}}}}}}}}}}, "/repository/{repository_id}/iso/upload/announce": {"post": {"tags": ["internal"], "operationId": "repository_iso_upload_announce", "summary": "Announce ISO file upload", "parameters": [{"name": "repository_id", "in": "path", "description": "Repository ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "ISO upload params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RepositoryIsoUploadParams"}}}, "required": true}, "responses": {"200": {"description": "ISO upload announced successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"os_id": {"type": "integer"}, "node": {"type": "integer"}, "path": {"type": "string"}}}}}}}, "x-codegen-request-body-name": "HostIsoUploadParams"}}, "/os_tag": {"get": {"tags": ["form"], "operationId": "get_os_tag_list", "responses": {"200": {"description": "OS tag list is successfully received", "content": {}}}}}, "/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"}}], "requestBody": {"description": "Host restart parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"force": {"type": "boolean", "default": false}}}}}, "required": false}, "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}}}, "/cluster/{cluster_id}/vxlan/node": {"get": {"tags": ["cluster"], "operationId": "get_cluster_vxlan_node_list", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of nodes' vxlan on cluster successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterVxlanNodeList"}}}}}}}, "/ssh_key": {"get": {"tags": ["cluster"], "operationId": "get_ssh_key_list", "responses": {"200": {"description": "SSH key list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SshKeysList"}}}}}}, "post": {"tags": ["cluster"], "operationId": "create_ssh_key", "summary": "Adding ssh key", "requestBody": {"description": "Options for adding ssh key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SshKeyCreateParams"}}}, "required": true}, "responses": {"200": {"description": "SSH key added successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "SshKeyCreateParams"}}, "/balancer_history": {"get": {"tags": ["balancer"], "operationId": "get_balancer_history", "parameters": [{"name": "where", "in": "query", "required": false, "schema": {"type": "string"}, "description": "Filtering criteria or balancer history retrieval"}, {"name": "orderby", "in": "query", "schema": {"type": "string"}, "description": "Balancer history sorting options"}], "responses": {"200": {"description": "Balancer history is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BalancerHistoryResponse"}}}}}}}, "/user_limits": {"get": {"tags": ["settings"], "operationId": "get_user_limits_list", "responses": {"200": {"description": "User limits are successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserLimits"}}}}}}}, "/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"}}, "/iso/upload/{os_id}/cancel": {"post": {"tags": ["internal"], "operationId": "iso_upload_cancel", "summary": "Cancel previously announced ISO file upload", "parameters": [{"name": "os_id", "in": "path", "description": "ISO ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "ISO upload cancelled successfully"}}}}, "/task": {"get": {"tags": ["task"], "operationId": "get_task_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "Task list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TaskList"}}}}}}}, "/backup": {"get": {"tags": ["backup"], "operationId": "backup_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "VM backup list have gotten successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiskBackupList"}}}}}, "x-codegen-request-body-name": "BackupList"}}, "/os/save": {"post": {"tags": ["os"], "summary": "Save repository OS images to database", "description": "Save repository OS images to database", "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"}}, "/task/{task_id}": {"get": {"tags": ["task"], "operationId": "get_task", "parameters": [{"name": "task_id", "in": "path", "description": "Task id", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Task info is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "object", "properties": {"param": {"type": "array", "items": {"type": "string"}}}}}}}}}}}}, "/disk": {"get": {"tags": ["disk"], "summary": "Get disk list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "operationId": "get_disk_list", "responses": {"200": {"description": "Disk list is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiskList"}}}}}, "x-codegen-request-body-name": "DiskList"}, "post": {"tags": ["disk"], "summary": "Create a disk", "operationId": "create_disk", "requestBody": {"description": "Create disk parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiskParams"}}}, "required": true}, "responses": {"200": {"description": "Disk created successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}, "x-codegen-request-body-name": "DiskParams"}}, "/host/{host_id}/image/create": {"post": {"tags": ["image"], "summary": "Creating a VM image", "operationId": "create_image", "parameters": [{"name": "host_id", "in": "path", "description": "VM ID from which the image is created", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters of the created VM image", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageParams"}}}, "required": true}, "responses": {"200": {"description": "VM image created successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "ImageParams"}}, "/node/{node_id}/network/unlock": {"post": {"tags": ["node"], "summary": "Unlock node network settings", "operationId": "network_unlock", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node network settings unlocking params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node network settings unlocked successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/node/{node_id}/network/save": {"post": {"tags": ["node"], "summary": "Apply node network settings", "operationId": "network_save", "parameters": [{"name": "node_id", "in": "path", "description": "Requested node ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Node network settings saving params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Node network settings saved successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {}}}}}}}}, "/hetzner_subnet/{hetzner_subnet_id}": {"delete": {"tags": ["network"], "summary": "Removing a subnet", "description": "Removing a hetzner subnet", "operationId": "delete_hetzner_subnet", "parameters": [{"name": "hetzner_subnet_id", "in": "path", "description": "The subnet to be removed", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Subnet deletion completed successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}}, "/changelog": {"get": {"tags": ["vmmanager"], "operationId": "get_changelog", "responses": {"200": {"description": "Changelog is successfully received", "content": {}}}}}, "/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"}}, "/update_license": {"post": {"tags": ["vmmanager"], "summary": "Update license", "operationId": "update_license", "responses": {"200": {"description": "License updated successfully", "content": {}}}}}, "/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"}}}}}}}, "/setup": {"post": {"tags": ["settings"], "summary": "Setup VM panel", "operationId": "setup", "requestBody": {"description": "Setup params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AnyProperties"}}}, "required": true}, "responses": {"200": {"description": "Setup is successful", "content": {}}}, "x-codegen-request-body-name": "SetupParams"}}, "/cluster/{cluster_id}/repository": {"get": {"tags": ["cluster", "repository"], "summary": "Cluster repositories", "operationId": "get_cluster_repositories", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Cluster repositories is successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RepoList"}}}}}}}, "/cluster/{cluster_id}/vxlan": {"get": {"tags": ["cluster"], "operationId": "get_cluster_vxlan_list", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "List of vxlans on cluster successfully received", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterVxlanList"}}}}}}}, "/cluster/{cluster_id}/storage/{storage_id}/enable": {"post": {"tags": ["cluster"], "summary": "Enable storage to cluster", "operationId": "enable_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage enabled successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/cluster/{cluster_id}/storage/{storage_id}/disable": {"post": {"tags": ["cluster"], "summary": "Disable storage to cluster", "operationId": "disable_storage", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Storage disabled successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/repository/{repository_id}/iso": {"post": {"tags": ["repository"], "summary": "Download ISO to repository", "operationId": "iso_download", "parameters": [{"name": "repository_id", "in": "path", "description": "Repository ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Repository ISO download params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RepositoryIsoDownloadParams"}}}, "required": true}, "responses": {"200": {"description": "ISO download started successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}, "x-codegen-request-body-name": "RepositoryIsoDownloadParams"}}, "/host/{host_id}/iface/{iface_id}/ip_settings": {"post": {"tags": ["host"], "summary": "Edit VM network interface IP settings", "operationId": "edit_host_iface_ip_settings", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "iface_id", "in": "path", "description": "Host interface ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Parameters for editing VM network interface IP settings", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HostIfaceEditIpParams"}}}, "required": true}, "responses": {"200": {"description": "VM network interface successfully edited", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}, "x-codegen-request-body-name": "HostIfaceEditIpParams"}}, "/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"}}}}}}}}}, "/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"}}, {"name": "with_check", "in": "query", "description": "Force DNSBL check in ipmgr", "required": false, "schema": {"type": "boolean"}}], "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"}}}}}}}}}, "/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"}}}}}}}, "/node/{node_id}": {"get": {"tags": ["node"], "summary": "Cluster node content", "description": "Cluster node content", "operationId": "get_node", "parameters": [{"name": "node_id", "in": "path", "description": "Cluster node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node info is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "cluster": {"type": "integer"}, "state": {"type": "string"}, "ip_addr": {"type": "string"}, "qemu_version": {"type": "string"}, "ssh_user": {"type": "string"}, "maintenance_mode": {"type": "boolean"}}}}}}}}, "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"}}}}}}}}}, "/preset/{preset_id}": {"get": {"tags": ["preset"], "operationId": "get_preset", "parameters": [{"name": "preset_id", "in": "path", "description": "Preset ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Preset info is successfully received", "content": {}}}}, "post": {"tags": ["preset"], "description": "Preset edit", "operationId": "edit_preset", "parameters": [{"name": "preset_id", "in": "path", "description": "Preset ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Preset edit params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PresetEditParams"}}}, "required": true}, "responses": {"200": {"description": "Preset edited successfully", "content": {}}}, "x-codegen-request-body-name": "PresetEditParams"}, "delete": {"tags": ["preset"], "operationId": "delete_preset", "parameters": [{"name": "preset_id", "in": "path", "description": "Preset ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Preset deleted successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Id"}}}}}}}, "/maintenance/{maintenance_id}": {"get": {"tags": ["maintenance"], "summary": "Get maintenance info", "operationId": "maintenance_info", "parameters": [{"name": "maintenance_id", "in": "path", "description": "Maintenance ID, which info is needed to be retrieved", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Successfully retrieved information about maintenance", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeMaintenanceInfo"}}}}}}}, "/node/{node_id}/maintenance/exit": {"post": {"tags": ["maintenance"], "summary": "Start task for exiting Maintenance mode", "description": "Start task for returning evacuated entities back on the node and exit maintenance mode on finish. Or start task for enabling stopped VMs and exit maintenance mode upon finish", "operationId": "maintenance_mode_return", "parameters": [{"name": "node_id", "in": "path", "description": "ID node", "required": true, "schema": {"type": "integer"}}], "requestBody": {"content": {"application/json": {"schema": {"type": "object", "properties": {"return_migrated": {"type": "boolean", "description": "If this parameter is set to true, then all evacuated entities will return back", "default": true}}}}}, "required": true}, "responses": {"200": {"description": "Task for returning evacuated entities maintenance mode on node successfully started. Returned id of evacuation and task_id", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}}, "/node/{node_id}/storage/{storage_id}/connect_params": {"get": {"tags": ["node"], "summary": "Get node to storage connection params", "operationId": "get_node_storage_connect_params", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node to storage connection params are successfully received", "content": {}}}}}, "/last_version": {"get": {"tags": ["vmmanager"], "operationId": "get_last_version", "responses": {"200": {"description": "Last version is successfully received", "content": {}}}}}, "/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"}}, "/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"}}, "/host/{host_id}/validate_hot_plug_resources": {"get": {"tags": ["host"], "operationId": "validate_hot_plug_resources", "parameters": [{"name": "host_id", "in": "path", "description": "Host ID", "required": true, "schema": {"type": "integer"}}, {"name": "cpu_number", "in": "query", "description": "CPU number, is this value suitable for hot plug", "required": false, "schema": {"type": "integer"}}, {"name": "ram_mib", "in": "query", "description": "RAM in mebibyte, is this value suitable for hot plug", "required": false, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Host validate hot plug resources is successfully received", "content": {"application/json": {"schema": {"type": "object", "properties": {"valid": {"type": "boolean"}, "what": {"type": "string", "nullable": true}}}}}}}}}, "/settings/task/{task_name}/timeout": {"get": {"tags": ["settings"], "operationId": "get_settings_task_timeout", "parameters": [{"name": "task_name", "in": "path", "description": "Task name", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Task timeout is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "description": "Set timeout for task", "operationId": "edit_settings_task_timeout", "parameters": [{"name": "task_name", "in": "path", "description": "Task name", "required": true, "schema": {"type": "string"}}], "requestBody": {"description": "Set timeout params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SetTimeoutParams"}}}, "required": true}, "responses": {"200": {"description": "Timeout params edited successfully", "content": {}}}, "x-codegen-request-body-name": "SetTimeoutParams"}, "delete": {"tags": ["settings"], "description": "Delete timeout for task", "operationId": "delete_settings_task_timeout", "parameters": [{"name": "task_name", "in": "path", "description": "Task name", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Timeout params deleted successfully", "content": {}}}}}, "/ippool/{ippool_id}/range": {"post": {"tags": ["network"], "description": "Connecting the range to IP pool", "operationId": "connect_ippool_range", "parameters": [{"name": "ippool_id", "in": "path", "description": "IP pool ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "Range connection parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IppoolRangeParams"}}}, "required": true}, "responses": {"200": {"description": "Range connected successfully", "content": {}}}, "x-codegen-request-body-name": "IppoolRangeParams"}}, "/node/{node_id}/maintenance/cancel": {"post": {"tags": ["maintenance"], "summary": "Cancel task for entering maintenance mode", "description": "Cancel maintenance mode task. If some entities were evacuated, they will return back if return_migrated is true", "operationId": "cancel_maintenance_mode", "parameters": [{"name": "node_id", "in": "path", "description": "ID node", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Task for entering in maintenance mode on node successfully cancelled. Returned id of evacuation and task_id", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}}, "/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"}}, "/host/{host_id}/snapshot": {"delete": {"tags": ["snapshot"], "summary": "VM snapshots deleting", "operationId": "delete_host_snapshots", "parameters": [{"name": "host_id", "in": "path", "description": "VM ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "VM snapshots deleted successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}, "post": {"tags": ["snapshot"], "summary": "VM snapshots creation", "operationId": "create_host_snapshot", "parameters": [{"name": "host_id", "in": "path", "description": "VM ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "VM snapshot creation params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SnapshotCreationParams"}}}, "required": true}, "responses": {"200": {"description": "VM snapshot creation task registered", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}, "get": {"tags": ["snapshot"], "operationId": "get_snapshot_list", "parameters": [{"name": "host_id", "in": "path", "description": "VM ID", "required": true, "schema": {"type": "integer"}}, {"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "responses": {"200": {"description": "Snapshot list for a host", "content": {"application/json": {"schema": {"type": "object", "properties": {"last_notify": {"$ref": "#/components/schemas/LastNotify"}, "list": {"type": "array", "items": {"$ref": "#/components/schemas/Snapshot"}}}}}}}}}}, "/host/{host_id}/snapshots": {"delete": {"tags": ["snapshot"], "summary": "VM snapshots deletion (no VM5)", "operationId": "delete_host_snapshots2", "parameters": [{"name": "host_id", "in": "path", "description": "VM ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "VM snapshots task registered", "content": {"application/json": {"schema": {"type": "object", "properties": {"task": {"type": "integer"}}}}}}}}}, "/node/{node_id}/header": {"get": {"tags": ["node"], "operationId": "header", "parameters": [{"name": "node_id", "in": "path", "description": "Cluster node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node header is successfully received", "content": {}}}}}, "/node/{node_id}/spice_repair": {"post": {"tags": ["node"], "operationId": "node_spice_repair", "summary": "Repair SPICE on Node", "parameters": [{"name": "node_id", "in": "path", "description": "Node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "SPICE repair task successfully created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IdAndTask"}}}}}}}, "/settings/domain": {"get": {"tags": ["settings"], "operationId": "get_settings_domain", "responses": {"200": {"description": "Domain is successfully received", "content": {}}}}, "post": {"tags": ["settings"], "description": "Domain VM setting", "operationId": "edit_settings_domain", "requestBody": {"description": "Setting domain params", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SettingDomainParams"}}}, "required": true}, "responses": {"200": {"description": "Domain created successfully", "content": {}}}, "x-codegen-request-body-name": "SettingDomainParams"}}, "/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"}}}}}}}}}, "/cluster/{cluster_id}/storage/{storage_id}/hdd_overselling": {"post": {"tags": ["cluster"], "summary": "Update storage HDD overselling on cluster", "operationId": "update_storage2cluster_hdd_overselling", "parameters": [{"name": "cluster_id", "in": "path", "description": "Cluster ID", "required": true, "schema": {"type": "integer"}}, {"name": "storage_id", "in": "path", "description": "Storage ID", "required": true, "schema": {"type": "integer"}}], "requestBody": {"description": "HDD overselling parameters", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HddOversellingParams"}}}, "required": true}, "responses": {"200": {"description": "Storage HDD overselling is successfully updated", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HddOverselling"}}}}}, "x-codegen-request-body-name": "HddOversellingParams"}}, "/node/{node_id}/metrics": {"get": {"tags": ["node"], "operationId": "metrics", "parameters": [{"name": "node_id", "in": "path", "description": "Cluster node ID", "required": true, "schema": {"type": "integer"}}], "responses": {"200": {"description": "Node metrics are successfully received", "content": {}}}}}, "/cluster": {"get": {"tags": ["cluster"], "summary": "Cluster List", "operationId": "get_cluster_list", "parameters": [{"name": "where", "in": "query", "description": "Where filter", "required": false, "schema": {"type": "string"}}], "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"}}}}