// Code generated by swaggo/swag. DO NOT EDIT.

package swagger

import "github.com/swaggo/swag/v2"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},"swagger":"2.0","info":{"description":"{{escape .Description}}","title":"{{.Title}}","termsOfService":"https://github.com/AlchemillaHQ/Sylve/blob/master/LICENSE","contact":{"name":"Alchemilla Ventures Pvt. Ltd.","url":"https://alchemilla.io","email":"hello@alchemilla.io"},"license":{"name":"BSD-2-Clause","url":"https://github.com/AlchemillaHQ/Sylve/blob/master/LICENSE"},"version":"{{.Version}}"},"host":"{{.Host}}","basePath":"{{.BasePath}}","paths":{"/auth/groups":{"get":{"security":[{"BearerAuth":[]}],"description":"List all groups in the system","consumes":["application/json"],"produces":["application/json"],"tags":["Groups"],"summary":"List Groups","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_Group"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Create a new group with specified members","consumes":["application/json"],"produces":["application/json"],"tags":["Groups"],"summary":"Create Group","parameters":[{"description":"Group creation request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_auth.CreateGroupRequest"}}],"responses":{"201":{"description":"Group created successfully","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/auth/groups/:id":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a group by ID","consumes":["application/json"],"produces":["application/json"],"tags":["Groups"],"summary":"Delete Group","parameters":[{"type":"integer","description":"Group ID","name":"id","in":"path","required":true}],"responses":{"204":{"description":"Group deleted successfully","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/auth/groups/users":{"post":{"security":[{"BearerAuth":[]}],"description":"Add users to a specified group","consumes":["application/json"],"produces":["application/json"],"tags":["Groups"],"summary":"Add Users to Group","parameters":[{"description":"Add users to group request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_auth.AddUsersToGroupRequest"}}],"responses":{"200":{"description":"User added to group successfully","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/auth/login":{"post":{"description":"Create a new JWT token","consumes":["application/json"],"produces":["application/json"],"tags":["Authentication"],"summary":"Login","parameters":[{"description":"Login request body","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_auth.LoginRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/internal_handlers_auth.SuccessfulLogin"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/auth/logout":{"post":{"security":[{"BearerAuth":[]}],"description":"Revoke a JWT token","consumes":["application/json"],"produces":["application/json"],"tags":["Authentication"],"summary":"Logout","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/auth/users":{"get":{"security":[{"BearerAuth":[]}],"description":"List all users in the system","consumes":["application/json"],"produces":["application/json"],"tags":["Users"],"summary":"List Users","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_User"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Create a new local (sylve) user in the system","consumes":["application/json"],"produces":["application/json"],"tags":["Users"],"summary":"Create User","parameters":[{"description":"Create User Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_auth.CreateUserRequest"}}],"responses":{"201":{"description":"User Created","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_db_models_User"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/auth/users/{id}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a local (sylve) user from the system","consumes":["application/json"],"produces":["application/json"],"tags":["Users"],"summary":"Delete User","parameters":[{"type":"integer","description":"User ID","name":"id","in":"path","required":true}],"responses":{"204":{"description":"User Deleted","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster":{"get":{"security":[{"BearerAuth":[]}],"description":"Get cluster details with information about RAFT nodes too","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Get Cluster","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_cluster_ClusterDetails"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Create a cluster given a bootstrapping nodes IP and Port","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Create Cluster","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-string"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster/accept-join":{"post":{"security":[{"BearerAuth":[]}],"description":"Accept a join request from a cluster node","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Accept Join","parameters":[{"description":"Accept Join Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_cluster.AcceptJoinRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster/join":{"post":{"security":[{"BearerAuth":[]}],"description":"Join an existing cluster","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Join Cluster","parameters":[{"description":"Join Cluster Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_cluster.JoinClusterRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-string"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster/nodes":{"get":{"security":[{"BearerAuth":[]}],"description":"Get all nodes in the cluster","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Get All Cluster Nodes","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_cluster_ClusterNode"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster/remove-peer":{"post":{"security":[{"BearerAuth":[]}],"description":"Remove a peer from the cluster","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Remove Peer","parameters":[{"description":"Remove Peer Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_cluster.RemovePeerRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster/reset-node":{"delete":{"security":[{"BearerAuth":[]}],"description":"Reset a Raft node by shutting it down and cleaning up its state","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Reset Raft Node","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster/resources":{"get":{"security":[{"BearerAuth":[]}],"description":"Fetch jails \u0026 VMs for each cluster node (live)","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Get Cluster Resources (per node)","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_cluster_NodeResources"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster/storage":{"get":{"security":[{"BearerAuth":[]}],"description":"Get all storage backends configured in the cluster (S3, etc.)","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Get Cluster Storages","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_cluster_Storages"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster/storage/s3":{"post":{"security":[{"BearerAuth":[]}],"description":"Create a new S3 storage configuration in the cluster","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Create an S3 Storage","parameters":[{"description":"Create S3 Storage Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_cluster.CreateS3StorageRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"409":{"description":"Conflict","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/cluster/storage/s3/{id}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete an S3 storage configuration from the cluster by ID","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Delete an S3 Storage","parameters":[{"type":"integer","description":"Storage ID","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/disk/create-partitions":{"post":{"security":[{"BearerAuth":[]}],"description":"Create a partition on a disk device","consumes":["application/json"],"produces":["application/json"],"tags":["Disk"],"summary":"Create partition","parameters":[{"description":"Create partition request body","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_disk.DiskPartitionRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/disk/delete-partition":{"post":{"security":[{"BearerAuth":[]}],"description":"Delete a partition on a disk device","consumes":["application/json"],"produces":["application/json"],"tags":["Disk"],"summary":"Delete partition","parameters":[{"description":"Delete partition request body","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_disk.DiskActionRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/disk/initialize-gpt":{"post":{"security":[{"BearerAuth":[]}],"description":"Initialize a disk with a GPT partition table","consumes":["application/json"],"produces":["application/json"],"tags":["Disk"],"summary":"Initialize GPT","parameters":[{"description":"Initialize GPT request body","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_disk.DiskActionRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/disk/list":{"get":{"security":[{"BearerAuth":[]}],"description":"List all disk devices on the system","consumes":["application/json"],"produces":["application/json"],"tags":["Disk"],"summary":"List disk devices","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_disk_Disk"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/disk/wipe":{"post":{"security":[{"BearerAuth":[]}],"description":"Wipe the partition table of a disk device","consumes":["application/json"],"produces":["application/json"],"tags":["Disk"],"summary":"Wipe disk","parameters":[{"description":"Wipe disk request body","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_disk.DiskActionRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/hardware/cpu/:vmid":{"put":{"security":[{"BearerAuth":[]}],"description":"Modify the CPU configuration of a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Modify CPU of a Virtual Machine","parameters":[{"description":"Modify CPU Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_vm.ModifyCPURequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/hardware/ppt/:vmid":{"put":{"security":[{"BearerAuth":[]}],"description":"Modify the PCI Passthrough devices of a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Modify PCI Devices of a Virtual Machine","parameters":[{"description":"Modify PCI Devices Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_vm.ModifyPassthroughRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/hardware/ram/:vmid":{"put":{"security":[{"BearerAuth":[]}],"description":"Modify the RAM configuration of a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Modify RAM of a Virtual Machine","parameters":[{"description":"Modify RAM Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_vm.ModifyRAMRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/hardware/vnc/:vmid":{"put":{"security":[{"BearerAuth":[]}],"description":"Modify the VNC configuration of a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Modify VNC of a Virtual Machine","parameters":[{"description":"Modify VNC Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_vm.ModifyVNCRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/health/basic":{"get":{"security":[{"BearerAuth":[]}],"description":"Overall basic health check of the system","consumes":["application/json"],"produces":["application/json"],"tags":["Health"],"summary":"Basic health check","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/audit-records":{"get":{"security":[{"BearerAuth":[]}],"description":"Get the latest audit records","consumes":["application/json"],"produces":["application/json"],"tags":["Info"],"summary":"Get Audit Records","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_AuditRecord"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/basic":{"get":{"security":[{"BearerAuth":[]}],"description":"Get the basic information about the system","consumes":["application/json"],"produces":["application/json"],"tags":["Info"],"summary":"Get Basic Info","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_info_BasicInfo"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/cpu":{"get":{"description":"Retrieves real-time CPU info","consumes":["application/json"],"produces":["application/json"],"tags":["system"],"summary":"Get Current CPU information","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_info_CPUInfo"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/cpu/historical":{"get":{"description":"Retrieves historical CPU info","consumes":["application/json"],"produces":["application/json"],"tags":["system"],"summary":"Get Historical CPU information","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_CPU"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/network-interfaces/historical":{"get":{"description":"Retrieves historical Network info","consumes":["application/json"],"produces":["application/json"],"tags":["system"],"summary":"Get Historical Network information","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/internal_handlers_info.HistoricalNetworkInterfaceResponse"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/notes":{"get":{"security":[{"BearerAuth":[]}],"description":"Get all notes stored in the database","consumes":["application/json"],"produces":["application/json"],"tags":["Info"],"summary":"Get All Notes","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_Note"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Add a new note to the database","consumes":["application/json"],"produces":["application/json"],"tags":["Info"],"summary":"Create a new note","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_db_models_info_Note"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/notes/:id":{"put":{"security":[{"BearerAuth":[]}],"description":"Update a note in the database by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["Info"],"summary":"Update a note by ID","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Invalid note ID","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a note from the database by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["Info"],"summary":"Delete a note by ID","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Invalid note ID","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"404":{"description":"Note not found","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/notes/bulk-delete":{"post":{"security":[{"BearerAuth":[]}],"description":"Delete multiple notes from the database by their IDs","consumes":["application/json"],"produces":["application/json"],"tags":["Info"],"summary":"Bulk delete notes","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Invalid note IDs","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/notes/{id}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a note from the cluster by ID","consumes":["application/json"],"produces":["application/json"],"tags":["Cluster"],"summary":"Delete a Cluster Note","parameters":[{"type":"integer","description":"Note ID","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/ram":{"get":{"security":[{"BearerAuth":[]}],"description":"Get the RAM information about the system","consumes":["application/json"],"produces":["application/json"],"tags":["Info"],"summary":"Get RAM Info","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_info_RAMInfo"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/ram/historical":{"get":{"description":"Retrieves historical RAM info","consumes":["application/json"],"produces":["application/json"],"tags":["system"],"summary":"Get Historical RAM information","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/internal_handlers_info.HistoricalRamInfoResponse"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/swap":{"get":{"security":[{"BearerAuth":[]}],"description":"Get the Swap information about the system","consumes":["application/json"],"produces":["application/json"],"tags":["Info"],"summary":"Get Swap Info","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_info_SwapInfo"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/info/swap/historical":{"get":{"description":"Retrieves historical Swap info","consumes":["application/json"],"produces":["application/json"],"tags":["system"],"summary":"Get Historical Swap information","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_Swap"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail":{"get":{"security":[{"BearerAuth":[]}],"description":"Retrieve a list of all jails","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"List all Jails","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_jail_Jail"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Create a new jail with the provided configuration","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Create a new Jail","parameters":[{"description":"Create Jail Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.CreateJailRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/:id/logs":{"get":{"security":[{"BearerAuth":[]}],"description":"Retrieve start/stop logs for a specific jail","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Get Jail Logs","parameters":[{"type":"integer","description":"Jail ID","name":"id","in":"path","required":true},{"type":"boolean","description":"Get start logs (default: false for stop logs)","name":"start","in":"query"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-string"}},"404":{"description":"Jail Not Found","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/action/{action}/{ctId}":{"post":{"security":[{"BearerAuth":[]}],"description":"Perform an action (start/stop) on a specific jail","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Perform Jail Action","parameters":[{"type":"integer","description":"Container ID","name":"ctId","in":"path","required":true},{"type":"string","description":"Action to perform (start/stop)","name":"action","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-string"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/cpu":{"put":{"security":[{"BearerAuth":[]}],"description":"Update the CPU limit of a jail by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Update Jail CPU","parameters":[{"description":"Update Jail CPU Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_jail.JailUpdateCPURequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/description":{"put":{"security":[{"BearerAuth":[]}],"description":"Update the description of a jail by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Edit a Jail's description","parameters":[{"description":"Edit Jail Description Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_jail.JailEditDescRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/memory":{"put":{"security":[{"BearerAuth":[]}],"description":"Update the memory limit of a jail by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Update Jail Memory","parameters":[{"description":"Update Jail Memory Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_jail.JailUpdateMemoryRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/network":{"post":{"security":[{"BearerAuth":[]}],"description":"Add a network switch to a jail","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Add Network Switch to Jail","parameters":[{"description":"Add Network Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_jail.AddNetworkRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/network/disinherit/{ctId}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Update the network settings of a jail to disinherit from the host","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Update Jail to Disinherit Hosts Network","parameters":[{"type":"integer","description":"Container ID","name":"ctId","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/network/inheritance":{"post":{"security":[{"BearerAuth":[]}],"description":"Update the network settings of a jail to inherit from the host","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Update Jail to Inherit Hosts Network","parameters":[{"description":"Inherit Network Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_jail.JailInheritNetworkRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/network/{ctId}/{networkId}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a network switch from a jail","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Delete Network Switch from Jail","parameters":[{"type":"integer","description":"Container ID","name":"ctId","in":"path","required":true},{"type":"integer","description":"Network ID","name":"networkId","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/resource-limits/{ctId}":{"put":{"description":"Enable or disable a Jail's resource limits","consumes":["application/json"],"produces":["application/json"],"tags":["jail"],"summary":"Update Resource Limits","parameters":[{"type":"integer","description":"Container ID","name":"ctId","in":"path","required":true},{"type":"boolean","description":"Enable or Disable","name":"enabled","in":"query","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/simple":{"get":{"security":[{"BearerAuth":[]}],"description":"Retrieve a simple list of all jails","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"List all Jails (Simple)","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_jail_SimpleList"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/state":{"get":{"security":[{"BearerAuth":[]}],"description":"Retrieve a list of all jails states","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"List all Jails States","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_jail_State"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/stats/:ctId/:limit":{"get":{"security":[{"BearerAuth":[]}],"description":"Retrieve statistics for a specific jail","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Get Jail Statistics","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_jail_JailStats"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/jail/{ctid}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a jail by its CTID","consumes":["application/json"],"produces":["application/json"],"tags":["Jail"],"summary":"Delete a Jail","parameters":[{"type":"integer","description":"CTID of the Jail","name":"ctid","in":"path","required":true},{"type":"boolean","description":"Delete or Keep","name":"deletemacs","in":"query","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/network/attach":{"post":{"security":[{"BearerAuth":[]}],"description":"Attach a network interface to a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Attach Network to a Virtual Machine","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/network/detach":{"post":{"security":[{"BearerAuth":[]}],"description":"Detach a network interface from a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Detach Network from a Virtual Machine","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/network/interface":{"get":{"security":[{"BearerAuth":[]}],"description":"List all network interfaces on the system","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"List Network Interfaces","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/internal_handlers_network.InterfacesListResponse"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/network/manual-switch":{"post":{"security":[{"BearerAuth":[]}],"description":"Create a new manual switch","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"Create a new Manual Switch","parameters":[{"description":"Create Manual Switch Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_network.CreateManualSwitchRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/network/manual-switch/:id":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a manual switch by ID","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"Delete a Manual Switch","parameters":[{"type":"integer","description":"Switch ID","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/network/object":{"get":{"security":[{"BearerAuth":[]}],"description":"List all network objects","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"List Network Objects","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_network_Object"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Create a new network object with specified type and values","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"Create Network Object","parameters":[{"description":"Create Network Object Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_network.CreateOrEditNetworkObjectRequest"}}],"responses":{"200":{"description":"Samba share created successfully","schema":{"type":"string"}},"400":{"description":"Invalid request","schema":{"type":"string"}},"500":{"description":"Internal server error","schema":{"type":"string"}}}}},"/network/object/{id}":{"put":{"security":[{"BearerAuth":[]}],"description":"Edit an existing network object by ID","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"Edit Network Object","parameters":[{"type":"integer","description":"Object ID","name":"id","in":"path","required":true},{"description":"Edit Network Object Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_network.CreateOrEditNetworkObjectRequest"}}],"responses":{"200":{"description":"Network object updated successfully","schema":{"type":"string"}},"400":{"description":"Invalid request","schema":{"type":"string"}},"404":{"description":"Object not found","schema":{"type":"string"}},"500":{"description":"Internal server error","schema":{"type":"string"}}}},"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a network object by ID","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"Delete Network Object","parameters":[{"type":"integer","description":"Object ID","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Object deleted successfully","schema":{"type":"string"}},"400":{"description":"Invalid request","schema":{"type":"string"}},"404":{"description":"Object not found","schema":{"type":"string"}},"500":{"description":"Internal server error","schema":{"type":"string"}}}}},"/network/switch":{"get":{"security":[{"BearerAuth":[]}],"description":"List all network switches on the system","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"List Network Switches","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-internal_handlers_network_ListSwitchResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"put":{"security":[{"BearerAuth":[]}],"description":"Update a standard switch by ID","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"Update a Standard Switch","parameters":[{"type":"integer","description":"Switch ID","name":"id","in":"path","required":true},{"description":"Update Standard Switch Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_network.UpdateStandardSwitchRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Create a new standard switch","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"Create a new Standard Switch","parameters":[{"description":"Create Standard Switch Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_network.CreateStandardSwitchRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/network/switch/{id}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a standard switch by ID","consumes":["application/json"],"produces":["application/json"],"tags":["Network"],"summary":"Delete a Standard Switch","parameters":[{"type":"integer","description":"Switch ID","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/options/boot-order/:vmid":{"put":{"security":[{"BearerAuth":[]}],"description":"Modify the Boot Order configuration of a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Modify Boot Order of a Virtual Machine","parameters":[{"description":"Modify Boot Order Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_vm.ModifyBootOrderRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/options/wol/:vmid":{"put":{"security":[{"BearerAuth":[]}],"description":"Modify the Wake-on-LAN configuration of a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Modify Wake-on-LAN of a Virtual Machine","parameters":[{"description":"Modify Wake-on-LAN Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_vm.ModifyWakeOnLanRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/samba/audit-logs":{"get":{"description":"Retrieve Samba audit logs","consumes":["application/json"],"produces":["application/json"],"tags":["Samba"],"summary":"Get Samba Audit Logs","parameters":[{"type":"string","description":"Auth hash","name":"hash","in":"query","required":true},{"type":"integer","description":"Page number (default 1)","name":"page","in":"query"},{"type":"integer","description":"Page size  (default 100)","name":"size","in":"query"},{"type":"string","description":"Field to sort by (e.g. id, action, share, created_at)","name":"sort[0][field]","in":"query"},{"type":"string","description":"Sort direction (asc or desc)","name":"sort[0][dir]","in":"query"}],"responses":{"200":{"description":"Samba audit logs","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_samba_AuditLogsResponse"}},"500":{"description":"Internal server error","schema":{"type":"string"}}}}},"/samba/config":{"get":{"description":"Retrieve Samba global configuration settings","consumes":["application/json"],"produces":["application/json"],"tags":["Samba"],"summary":"Get Samba Global Configuration","responses":{"200":{"description":"Samba global configuration","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_samba_SambaSettings"}},"500":{"description":"Internal server error","schema":{"type":"string"}}}},"post":{"description":"Set Samba global configuration settings","consumes":["application/json"],"produces":["application/json"],"tags":["Samba"],"summary":"Set Samba Global Configuration","parameters":[{"description":"Samba Global Configuration","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_samba.SambaConfigRequest"}}],"responses":{"200":{"description":"Samba global configuration updated successfully","schema":{"type":"string"}},"400":{"description":"Invalid request","schema":{"type":"string"}},"500":{"description":"Internal server error","schema":{"type":"string"}}}}},"/samba/shares":{"get":{"description":"Retrieve all Samba shares","consumes":["application/json"],"produces":["application/json"],"tags":["Samba"],"summary":"Get Samba Shares","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_samba_SambaShare"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"put":{"description":"Update an existing Samba share with specified settings","consumes":["application/json"],"produces":["application/json"],"tags":["Samba"],"summary":"Update Samba Share","parameters":[{"description":"Update Samba Share Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_samba.UpdateSambaShareRequest"}}],"responses":{"200":{"description":"Samba share updated successfully","schema":{"type":"string"}},"400":{"description":"Invalid request","schema":{"type":"string"}},"500":{"description":"Internal server error","schema":{"type":"string"}}}},"post":{"description":"Create a new Samba share with specified settings","consumes":["application/json"],"produces":["application/json"],"tags":["Samba"],"summary":"Create Samba Share","parameters":[{"description":"Create Samba Share Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_samba.CreateSambaShareRequest"}}],"responses":{"200":{"description":"Samba share created successfully","schema":{"type":"string"}},"400":{"description":"Invalid request","schema":{"type":"string"}},"500":{"description":"Internal server error","schema":{"type":"string"}}}}},"/samba/shares/{id}":{"delete":{"description":"Delete a Samba share by ID","consumes":["application/json"],"produces":["application/json"],"tags":["Samba"],"summary":"Delete Samba Share","parameters":[{"type":"integer","description":"Share ID","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Samba share deleted successfully","schema":{"type":"string"}},"400":{"description":"Invalid request","schema":{"type":"string"}},"500":{"description":"Internal server error","schema":{"type":"string"}}}}},"/storage/attach":{"post":{"security":[{"BearerAuth":[]}],"description":"Attach a storage volume to a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Attach Storage to a Virtual Machine","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/storage/detach":{"post":{"security":[{"BearerAuth":[]}],"description":"Detach a storage volume from a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Detach Storage from a Virtual Machine","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/file-explorer":{"get":{"security":[{"BearerAuth":[]}],"description":"Find files on the system based on a search term","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Find Files on System","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_system_FileNode"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Add a file or folder to the system","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Add File or Folder","parameters":[{"description":"Request body","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_system.AddFileOrFolderRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a file or folder from the system","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Delete File or Folder","parameters":[{"type":"string","description":"Path to the file or folder","name":"id","in":"query","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/file-explorer/copy-or-move":{"post":{"security":[{"BearerAuth":[]}],"description":"Copy or move a file or folder to a new path","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Copy or Move File or Folder","parameters":[{"description":"Request body","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_system.CopyOrMoveFileOrFolderRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/file-explorer/copy-or-move-batch":{"post":{"security":[{"BearerAuth":[]}],"description":"Copy or move multiple files or folders to new paths","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Copy or Move Files or Folders","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/file-explorer/delete":{"post":{"security":[{"BearerAuth":[]}],"description":"Delete multiple files or folders from the system","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Delete Files or Folders","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/file-explorer/download":{"get":{"security":[{"BearerAuth":[]}],"description":"Download a file from the system","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Download File","parameters":[{"type":"string","description":"Path to the file","name":"id","in":"query","required":true}],"responses":{"200":{"description":"File content","schema":{"type":"file"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/file-explorer/rename":{"post":{"security":[{"BearerAuth":[]}],"description":"Rename a file or folder in the system","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Rename File or Folder","parameters":[{"type":"string","description":"Path to the file or folder","name":"id","in":"query","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/file-explorer/upload":{"post":{"security":[{"BearerAuth":[]}],"description":"Upload a file to a user-specified path via FilePond; fails if file exists","consumes":["multipart/form-data"],"produces":["application/json"],"tags":["System"],"summary":"Upload File (FilePond)","parameters":[{"type":"string","description":"Destination folder path (e.g. /zroot/share)","name":"path","in":"query","required":true},{"type":"file","description":"File to upload","name":"filepond","in":"formData","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-map_string_string"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"409":{"description":"Conflict - File Already Exists","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"delete":{"security":[{"BearerAuth":[]}],"description":"Deletes a previously uploaded file using JSON body metadata","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Delete Uploaded File","parameters":[{"type":"string","description":"Parent folder path (unused in deletion, just for consistency)","name":"path","in":"query","required":true},{"description":"Delete Upload Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_system.DeleteUploadRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"404":{"description":"File Not Found","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/pci-devices":{"get":{"security":[{"BearerAuth":[]}],"description":"List all PCI devices on the system","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"List PCI Devices","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_pkg_system_pciconf_PCIDevice"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/ppt-devices":{"get":{"security":[{"BearerAuth":[]}],"description":"List all passed through devices on the system","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"List Passed Through Devices","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_PassedThroughIDs"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Add a device to the passed through devices db","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Add Passed Through Device","parameters":[{"description":"Device ID","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_system.AddPassthroughDeviceRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/system/ppt-devices/{id}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Remove a device from the passed through devices db","consumes":["application/json"],"produces":["application/json"],"tags":["System"],"summary":"Remove Passed Through Device","parameters":[{"type":"string","description":"Device ID","name":"deviceId","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/utilities/downloads":{"get":{"security":[{"BearerAuth":[]}],"description":"List all downloads","consumes":["application/json"],"produces":["application/json"],"tags":["Utilities"],"summary":"List Downloads","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_utilities_Downloads"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Download a file from a Magnet or HTTP(s) URL","consumes":["application/json"],"produces":["application/json"],"tags":["Utilities"],"summary":"Download File","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/utilities/downloads/bulk-delete":{"post":{"security":[{"BearerAuth":[]}],"description":"Bulk delete downloads by their IDs","consumes":["application/json"],"produces":["application/json"],"tags":["Utilities"],"summary":"Bulk Delete Downloads","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/utilities/downloads/signed-url":{"get":{"security":[{"BearerAuth":[]}],"description":"Get a signed URL for downloading a file","consumes":["application/json"],"produces":["application/json"],"tags":["Utilities"],"summary":"Get Signed Download URL","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-string"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/utilities/downloads/{id}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a download by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["Utilities"],"summary":"Delete Download","parameters":[{"type":"integer","description":"Download ID","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/utilities/downloads/{uuid}":{"get":{"security":[{"BearerAuth":[]}],"description":"Download a file from a signed URL","consumes":["application/json"],"produces":["application/json"],"tags":["Utilities"],"summary":"Download File","parameters":[{"type":"string","description":"Download UUID","name":"uuid","in":"path","required":true},{"type":"integer","description":"Expiration time in Unix timestamp","name":"expires","in":"query","required":true},{"type":"string","description":"Signature","name":"sig","in":"query","required":true}],"responses":{"200":{"description":"File Download","schema":{"type":"file"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/vm":{"get":{"security":[{"BearerAuth":[]}],"description":"Retrieve a list of all virtual machines","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"List all Virtual Machines","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_vm_VM"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Create a new virtual machine with the specified parameters","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Create a new Virtual Machine","parameters":[{"description":"Create Virtual Machine Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.CreateVMRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/vm/description":{"put":{"security":[{"BearerAuth":[]}],"description":"Update the description of a virtual machine by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Edit a Virtual Machine's description","parameters":[{"description":"Edit Virtual Machine Description Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_vm.VMEditDescRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/vm/domain/{id}":{"get":{"security":[{"BearerAuth":[]}],"description":"Retrieve the domain information of a virtual machine by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Get a Virtual Machine's Domain","parameters":[{"type":"string","description":"Virtual Machine ID","name":"id","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_libvirt_LvDomain"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/vm/simple":{"get":{"security":[{"BearerAuth":[]}],"description":"Retrieve a simple list of all VMs","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"List all VMs (Simple)","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_libvirt_SimpleList"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/vm/stats/:vmId/:limit":{"get":{"security":[{"BearerAuth":[]}],"description":"Retrieve statistics for a virtual machine","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Get VM Statistics","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_vm_VMStats"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/vm/{action}/{id}":{"post":{"security":[{"BearerAuth":[]}],"description":"Perform a specified action (start, stop, reboot) on a virtual machine by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Perform an action on a Virtual Machine","parameters":[{"type":"string","description":"Virtual Machine ID","name":"id","in":"path","required":true},{"type":"string","description":"Action to perform (start, stop, reboot)","name":"action","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/vm/{id}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Remove a virtual machine by its ID","consumes":["application/json"],"produces":["application/json"],"tags":["VM"],"summary":"Remove a Virtual Machine","parameters":[{"type":"string","description":"Virtual Machine ID","name":"id","in":"path","required":true},{"type":"boolean","description":"Delete or Keep","name":"deletemacs","in":"query","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets":{"get":{"security":[{"BearerAuth":[]}],"description":"Get all ZFS datasets","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Get all ZFS datasets","parameters":[{"type":"string","description":"Filter for datasets","name":"type","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/internal_handlers_zfs.DatasetListResponse"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/bulk-delete":{"post":{"security":[{"BearerAuth":[]}],"description":"Bulk delete ZFS datasets","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Bulk delete ZFS datasets","parameters":[{"description":"Bulk Delete Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.BulkDeleteRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/filesystem":{"post":{"security":[{"BearerAuth":[]}],"description":"Create a ZFS filesystem","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Create a ZFS filesystem","parameters":[{"description":"Create Filesystem Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.CreateFilesystemRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"patch":{"security":[{"BearerAuth":[]}],"description":"Edit a ZFS filesystem","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Edit a ZFS filesystem","parameters":[{"description":"Edit Filesystem Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.EditFilesystemRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/filesystem/{guid}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a ZFS filesystem","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Delete a ZFS filesystem","parameters":[{"type":"string","description":"Filesystem GUID","name":"guid","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/snapshot":{"post":{"security":[{"BearerAuth":[]}],"description":"Create a ZFS snapshot","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Create a ZFS snapshot","parameters":[{"description":"Create Snapshot Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.CreateSnapshotRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/snapshot/periodic":{"get":{"security":[{"BearerAuth":[]}],"description":"Get all periodic ZFS snapshots jobs","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Get all periodic ZFS snapshot jobs","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_zfs_PeriodicSnapshot"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Create a periodic ZFS snapshot job","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Create a periodic ZFS snapshot job","parameters":[{"description":"Create Periodic Snapshot Job Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.CreatePeriodicSnapshotJobRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/snapshot/periodic/{guid}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a periodic ZFS snapshot","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Delete a periodic ZFS snapshot","parameters":[{"type":"string","description":"Periodic Snapshot GUID","name":"guid","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/snapshot/rollback":{"post":{"security":[{"BearerAuth":[]}],"description":"Rollback to a ZFS snapshot","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Rollback to a ZFS snapshot","parameters":[{"description":"Rollback Snapshot Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.RollbackSnapshotRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/snapshot/{guid}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a ZFS snapshot","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Delete a ZFS snapshot","parameters":[{"type":"string","description":"Snapshot GUID","name":"guid","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/volume":{"post":{"security":[{"BearerAuth":[]}],"description":"Create a ZFS volume","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Create a ZFS volume","parameters":[{"description":"Create Volume Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.CreateVolumeRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"patch":{"security":[{"BearerAuth":[]}],"description":"Edit a ZFS volume","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Edit a ZFS volume","parameters":[{"description":"Edit Volume Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.EditVolumeRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/volume/flash":{"post":{"security":[{"BearerAuth":[]}],"description":"Flash a ZFS volume with a UUID pointing to a disk iso/img","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Flash a ZFS volume","parameters":[{"description":"Flash Volume Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.FlashVolumeRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/datasets/volume/{guid}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a ZFS volume","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Delete a ZFS volume","parameters":[{"type":"string","description":"Volume GUID","name":"guid","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/pool/avg-io-delay":{"get":{"security":[{"BearerAuth":[]}],"description":"Get the average IO delay of all pools","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Get Average IO Delay","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-internal_handlers_zfs_AvgIODelayResponse"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/pool/io-delay/historical":{"get":{"security":[{"BearerAuth":[]}],"description":"Get the historical IO delays of all pools","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Get Average IO Delay Historical","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_IODelay"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/pool/stats/{interval}/{limit}":{"get":{"security":[{"BearerAuth":[]}],"description":"Get the historical stats of a ZFS pool","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Get Pool Stats","parameters":[{"type":"integer","description":"Interval in minutes","name":"interval","in":"path","required":true},{"type":"integer","description":"Limit","name":"limit","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-internal_handlers_zfs_PoolStatPointResponse"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/pools":{"get":{"security":[{"BearerAuth":[]}],"description":"Get all ZFS pools","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Get Pools","responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/internal_handlers_zfs.ZpoolListResponse"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"post":{"security":[{"BearerAuth":[]}],"description":"Create a new ZFS pool","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Create Pool","parameters":[{"description":"Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.Zpool"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}},"patch":{"security":[{"BearerAuth":[]}],"description":"Edit a ZFS pool's properties","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Edit Pool","parameters":[{"description":"Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/internal_handlers_zfs.PoolEditRequest"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/pools/disk-usage":{"get":{"security":[{"BearerAuth":[]}],"description":"Get the overall disk usage percentage across all ZFS pools","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Get Disk Usage","responses":{"200":{"description":"Disk usage percentage","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-internal_handlers_zfs_PoolDisksUsageResponse"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/pools/{guid}":{"delete":{"security":[{"BearerAuth":[]}],"description":"Delete a ZFS pool","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Delete Pool","parameters":[{"type":"string","description":"Pool GUID","name":"guid","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/pools/{guid}/replace-device":{"post":{"security":[{"BearerAuth":[]}],"description":"Replace a device in a ZFS pool","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Replace Device","parameters":[{"description":"Request","name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.ReplaceDevice"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}},"/zfs/pools/{guid}/scrub":{"post":{"security":[{"BearerAuth":[]}],"description":"Start a scrub on a ZFS pool","consumes":["application/json"],"produces":["application/json"],"tags":["ZFS"],"summary":"Scrub Pool","parameters":[{"type":"string","description":"Pool GUID","name":"guid","in":"path","required":true}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"}}}}}},"definitions":{"github_com_alchemillahq_sylve_internal.APIResponse-any":{"type":"object","properties":{"data":{},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_Group":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models.Group"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_PassedThroughIDs":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models.PassedThroughIDs"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_User":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models.User"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_cluster_ClusterNode":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_cluster.ClusterNode"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_cluster_ClusterNote":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_cluster.ClusterNote"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_AuditRecord":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_info.AuditRecord"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_CPU":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_info.CPU"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_IODelay":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_info.IODelay"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_Note":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_info.Note"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_info_Swap":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_info.Swap"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_jail_Jail":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.Jail"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_jail_JailStats":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.JailStats"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_network_Object":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_samba_SambaSettings":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_samba.SambaSettings"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_samba_SambaShare":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_samba.SambaShare"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_utilities_Downloads":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_utilities.Downloads"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_vm_VM":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.VM"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_vm_VMStats":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.VMStats"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_zfs_PeriodicSnapshot":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_zfs.PeriodicSnapshot"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_cluster_NodeResources":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_cluster.NodeResources"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_disk_Disk":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_disk.Disk"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_jail_SimpleList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.SimpleList"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_jail_State":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.State"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_libvirt_SimpleList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.SimpleList"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_system_FileNode":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_system.FileNode"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_pkg_system_pciconf_PCIDevice":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_system_pciconf.PCIDevice"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_db_models_User":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models.User"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_db_models_info_Note":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_info.Note"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_cluster_ClusterDetails":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_cluster.ClusterDetails"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_cluster_Storages":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_cluster.Storages"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_info_BasicInfo":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_info.BasicInfo"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_info_CPUInfo":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_info.CPUInfo"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_info_RAMInfo":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_info.RAMInfo"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_info_SwapInfo":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_info.SwapInfo"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_libvirt_LvDomain":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.LvDomain"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_samba_AuditLogsResponse":{"type":"object","properties":{"data":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_samba.AuditLogsResponse"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-internal_handlers_network_ListSwitchResponse":{"type":"object","properties":{"data":{"$ref":"#/definitions/internal_handlers_network.ListSwitchResponse"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-internal_handlers_zfs_AvgIODelayResponse":{"type":"object","properties":{"data":{"$ref":"#/definitions/internal_handlers_zfs.AvgIODelayResponse"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-internal_handlers_zfs_PoolDisksUsageResponse":{"type":"object","properties":{"data":{"$ref":"#/definitions/internal_handlers_zfs.PoolDisksUsageResponse"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-internal_handlers_zfs_PoolStatPointResponse":{"type":"object","properties":{"data":{"$ref":"#/definitions/internal_handlers_zfs.PoolStatPointResponse"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-map_string_string":{"type":"object","properties":{"data":{"$ref":"#/definitions/map_string_string"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal.APIResponse-string":{"type":"object","properties":{"data":{"type":"string"},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db.IntervalOption":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models.Group":{"type":"object","properties":{"createdAt":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"notes":{"type":"string"},"updatedAt":{"type":"string"},"users":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models.User"}}}},"github_com_alchemillahq_sylve_internal_db_models.PassedThroughIDs":{"type":"object","properties":{"deviceID":{"type":"string"},"domain":{"type":"integer"},"id":{"type":"integer"},"oldDriver":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models.Token":{"type":"object","properties":{"authType":{"type":"string"},"createdAt":{"type":"string"},"expiry":{"type":"string"},"id":{"type":"integer"},"token":{"type":"string"},"updatedAt":{"type":"string"},"user":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models.User"},"userId":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models.User":{"type":"object","properties":{"admin":{"type":"boolean"},"createdAt":{"type":"string"},"email":{"type":"string"},"id":{"type":"integer"},"lastLoginTime":{"type":"string"},"notes":{"type":"string"},"tokens":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models.Token"}},"totp":{"type":"string"},"updatedAt":{"type":"string"},"username":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_cluster.Cluster":{"type":"object","properties":{"enabled":{"type":"boolean"},"id":{"type":"integer"},"key":{"type":"string"},"raftBootstrap":{"type":"boolean"},"raftIP":{"type":"string"},"raftPort":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models_cluster.ClusterNode":{"type":"object","properties":{"api":{"type":"string"},"cpu":{"type":"integer"},"cpuUsage":{"type":"number"},"createdAt":{"type":"string"},"disk":{"type":"integer"},"diskUsage":{"type":"number"},"hostname":{"type":"string"},"id":{"type":"integer"},"memory":{"type":"integer"},"memoryUsage":{"type":"number"},"nodeUUID":{"type":"string"},"status":{"type":"string"},"updatedAt":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_cluster.ClusterNote":{"type":"object","properties":{"content":{"type":"string"},"createdAt":{"type":"string"},"id":{"type":"integer"},"title":{"type":"string"},"updatedAt":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_cluster.ClusterS3Config":{"type":"object","properties":{"accessKey":{"type":"string"},"bucket":{"type":"string"},"endpoint":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"region":{"type":"string"},"secretKey":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_info.AuditRecord":{"type":"object","properties":{"action":{"type":"string"},"authType":{"type":"string"},"createdAt":{"type":"string"},"duration":{"$ref":"#/definitions/time.Duration"},"ended":{"type":"string"},"id":{"type":"integer"},"node":{"type":"string"},"started":{"type":"string"},"status":{"type":"string"},"updatedAt":{"type":"string"},"user":{"type":"string"},"userId":{"type":"integer"},"version":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models_info.CPU":{"type":"object","properties":{"createdAt":{"type":"string"},"id":{"type":"integer"},"usage":{"type":"number"}}},"github_com_alchemillahq_sylve_internal_db_models_info.IODelay":{"type":"object","properties":{"createdAt":{"type":"string"},"delay":{"type":"number"},"id":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models_info.Note":{"type":"object","properties":{"content":{"type":"string"},"createdAt":{"type":"string"},"id":{"type":"integer"},"title":{"type":"string"},"updatedAt":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_info.RAM":{"type":"object","properties":{"createdAt":{"type":"string"},"id":{"type":"integer"},"usage":{"type":"number"}}},"github_com_alchemillahq_sylve_internal_db_models_info.Swap":{"type":"object","properties":{"createdAt":{"type":"string"},"id":{"type":"integer"},"usage":{"type":"number"}}},"github_com_alchemillahq_sylve_internal_db_models_jail.Jail":{"type":"object","properties":{"base":{"type":"string"},"cores":{"type":"integer"},"cpuSet":{"type":"array","items":{"type":"integer"}},"createdAt":{"type":"string"},"ctId":{"type":"integer"},"dataset":{"type":"string"},"description":{"type":"string"},"id":{"type":"integer"},"inheritIPv4":{"type":"boolean"},"inheritIPv6":{"type":"boolean"},"memory":{"type":"integer"},"name":{"type":"string"},"networks":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.Network"}},"resourceLimits":{"type":"boolean"},"startAtBoot":{"type":"boolean"},"startLogs":{"type":"string"},"startOrder":{"type":"integer"},"startedAt":{"type":"string"},"stopLogs":{"type":"string"},"stoppedAt":{"type":"string"},"updatedAt":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_jail.JailStats":{"type":"object","properties":{"cpuUsage":{"type":"number"},"createdAt":{"type":"string"},"ctId":{"type":"integer"},"id":{"type":"integer"},"memoryUsage":{"type":"number"}}},"github_com_alchemillahq_sylve_internal_db_models_jail.Network":{"type":"object","properties":{"ctId":{"type":"integer"},"dhcp":{"type":"boolean"},"id":{"type":"integer"},"ipv4GwId":{"type":"integer"},"ipv4GwObj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"ipv4Id":{"type":"integer"},"ipv4Obj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"ipv6GwId":{"type":"integer"},"ipv6GwObj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"ipv6Id":{"type":"integer"},"ipv6Obj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"macId":{"type":"integer"},"macObj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"slaac":{"type":"boolean"},"switchId":{"type":"integer"},"switchType":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_network.ManualSwitch":{"type":"object","properties":{"bridge":{"type":"string"},"createdAt":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"updatedAt":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_network.NetworkPort":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"switch":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.StandardSwitch"},"switchId":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models_network.Object":{"type":"object","properties":{"createdAt":{"type":"string"},"description":{"type":"string"},"entries":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.ObjectEntry"}},"id":{"type":"integer"},"isUsed":{"type":"boolean"},"name":{"type":"string"},"resolutions":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.ObjectResolution"}},"type":{"description":"\"Host\", \"Mac\", \"Network\", \"Port\", \"Country\", \"List\"","type":"string"},"updatedAt":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_network.ObjectEntry":{"type":"object","properties":{"createdAt":{"type":"string"},"id":{"type":"integer"},"objectId":{"type":"integer"},"updatedAt":{"type":"string"},"value":{"description":"IP, CIDR, port, country code, FQDN, etc.","type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_network.ObjectResolution":{"type":"object","properties":{"createdAt":{"type":"string"},"id":{"type":"integer"},"objectId":{"type":"integer"},"resolvedIp":{"description":"actual IP resolved only in the case of FQDN","type":"string"},"updatedAt":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_network.StandardSwitch":{"type":"object","properties":{"address":{"type":"string"},"address6":{"type":"string"},"address6Id":{"type":"integer"},"address6Obj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"addressId":{"type":"integer"},"addressObj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"bridgeName":{"type":"string"},"createdAt":{"type":"string"},"defaultRoute":{"type":"boolean"},"dhcp":{"type":"boolean"},"disableIPv6":{"type":"boolean"},"gateway6AddressId":{"type":"integer"},"gateway6AddressObj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"gatewayAddressId":{"type":"integer"},"gatewayAddressObj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"id":{"type":"integer"},"mtu":{"type":"integer"},"name":{"type":"string"},"network6Id":{"type":"integer"},"network6Obj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"networkId":{"type":"integer"},"networkObj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"ports":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.NetworkPort"}},"private":{"type":"boolean"},"slaac":{"type":"boolean"},"updatedAt":{"type":"string"},"vlan":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models_samba.SambaAuditLog":{"type":"object","properties":{"action":{"type":"string"},"createdAt":{"type":"string"},"folder":{"type":"string"},"id":{"type":"integer"},"ip":{"type":"string"},"path":{"type":"string"},"result":{"type":"string"},"share":{"type":"string"},"target":{"type":"string"},"user":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_samba.SambaSettings":{"type":"object","properties":{"bindInterfacesOnly":{"type":"boolean"},"id":{"type":"integer"},"interfaces":{"type":"string"},"serverString":{"type":"string"},"unixCharset":{"type":"string"},"workgroup":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_samba.SambaShare":{"type":"object","properties":{"createMask":{"type":"string"},"createdAt":{"type":"string"},"dataset":{"type":"string"},"directoryMask":{"type":"string"},"guestOk":{"type":"boolean"},"id":{"type":"integer"},"name":{"type":"string"},"readOnly":{"type":"boolean"},"readOnlyGroups":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models.Group"}},"updatedAt":{"type":"string"},"writeableGroups":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models.Group"}}}},"github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadedFile":{"type":"object","properties":{"download":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_utilities.Downloads"},"downloadId":{"type":"integer"},"id":{"type":"integer"},"name":{"type":"string"},"size":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models_utilities.Downloads":{"type":"object","properties":{"createdAt":{"type":"string"},"files":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadedFile"}},"id":{"type":"integer"},"name":{"type":"string"},"path":{"type":"string"},"progress":{"type":"integer"},"size":{"type":"integer"},"type":{"type":"string"},"updatedAt":{"type":"string"},"url":{"type":"string"},"uuid":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_db_models_vm.Network":{"type":"object","properties":{"emulation":{"type":"string"},"id":{"type":"integer"},"mac":{"type":"string"},"macId":{"type":"integer"},"macObj":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"},"switchId":{"type":"integer"},"switchType":{"type":"string"},"vmId":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models_vm.Storage":{"type":"object","properties":{"dataset":{"type":"string"},"emulation":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"size":{"type":"integer"},"type":{"type":"string"},"vmId":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models_vm.VM":{"type":"object","properties":{"cpuCores":{"type":"integer"},"cpuPinning":{"type":"array","items":{"type":"integer"}},"cpuSockets":{"type":"integer"},"cpuThreads":{"type":"integer"},"createdAt":{"type":"string"},"description":{"type":"string"},"id":{"type":"integer"},"iso":{"type":"string"},"name":{"type":"string"},"networks":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.Network"}},"pciDevices":{"type":"array","items":{"type":"integer"}},"ram":{"type":"integer"},"startAtBoot":{"type":"boolean"},"startOrder":{"type":"integer"},"startedAt":{"type":"string"},"state":{"type":"string"},"stoppedAt":{"type":"string"},"storages":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.Storage"}},"tpmEmulation":{"type":"boolean"},"updatedAt":{"type":"string"},"vmId":{"type":"integer"},"vncPassword":{"type":"string"},"vncPort":{"type":"integer"},"vncResolution":{"type":"string"},"vncWait":{"type":"boolean"},"wol":{"type":"boolean"}}},"github_com_alchemillahq_sylve_internal_db_models_vm.VMStats":{"type":"object","properties":{"cpuUsage":{"type":"number"},"createdAt":{"type":"string"},"id":{"type":"integer"},"memoryUsage":{"type":"number"},"memoryUsed":{"type":"number"},"vmId":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_db_models_zfs.PeriodicSnapshot":{"type":"object","properties":{"createdAt":{"type":"string"},"cronExpr":{"type":"string"},"guid":{"type":"string"},"id":{"type":"integer"},"interval":{"type":"integer"},"lastRunAt":{"type":"string"},"prefix":{"type":"string"},"recursive":{"type":"boolean"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_cluster.ClusterDetails":{"type":"object","properties":{"cluster":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_cluster.Cluster"},"leaderAddress":{"type":"string"},"leaderId":{"type":"string"},"nodeId":{"type":"string"},"nodes":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_cluster.RaftNode"}},"partial":{"type":"boolean"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_cluster.NodeResources":{"type":"object","properties":{"hostname":{"type":"string"},"jails":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.SimpleList"}},"nodeUUID":{"type":"string"},"vms":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.SimpleList"}}}},"github_com_alchemillahq_sylve_internal_interfaces_services_cluster.RaftNode":{"type":"object","properties":{"address":{"type":"string"},"id":{"type":"string"},"isLeader":{"type":"boolean"},"suffrage":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_cluster.Storages":{"type":"object","properties":{"s3":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_cluster.ClusterS3Config"}}}},"github_com_alchemillahq_sylve_internal_interfaces_services_disk.Disk":{"type":"object","properties":{"device":{"type":"string"},"gpt":{"type":"boolean"},"model":{"type":"string"},"partitions":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_disk.Partition"}},"serial":{"type":"string"},"size":{"type":"integer"},"smartData":{},"type":{"type":"string"},"usage":{"type":"string"},"uuid":{"type":"string"},"wearOut":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_disk.Partition":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"integer"},"usage":{"type":"string"},"uuid":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_info.BasicInfo":{"type":"object","properties":{"bootMode":{"type":"string"},"hostname":{"type":"string"},"loadAverage":{"type":"string"},"os":{"type":"string"},"sylveVersion":{"type":"string"},"uptime":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_info.CPUInfo":{"type":"object","properties":{"cache":{"type":"object","properties":{"l1d":{"type":"integer"},"l1i":{"type":"integer"},"l2":{"type":"integer"},"l3":{"type":"integer"}}},"cacheLine":{"type":"integer"},"family":{"type":"integer"},"features":{"type":"array","items":{"type":"string"}},"frequency":{"type":"integer"},"logicalCores":{"type":"integer"},"model":{"type":"integer"},"name":{"type":"string"},"physicalCores":{"type":"integer"},"threadsPerCore":{"type":"integer"},"usage":{"type":"number"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_info.HistoricalNetworkInterface":{"type":"object","properties":{"createdAt":{"type":"string"},"receivedBytes":{"type":"integer"},"sentBytes":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_info.RAMInfo":{"type":"object","properties":{"free":{"type":"integer"},"total":{"type":"integer"},"usedPercent":{"type":"number"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_info.SwapInfo":{"type":"object","properties":{"free":{"type":"integer"},"total":{"type":"integer"},"usedPercent":{"type":"number"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_jail.CreateJailRequest":{"type":"object","required":["ctId","name"],"properties":{"base":{"type":"string"},"cores":{"type":"integer"},"ctId":{"type":"integer"},"dataset":{"type":"string"},"description":{"type":"string"},"dhcp":{"type":"boolean"},"inheritIPv4":{"type":"boolean"},"inheritIPv6":{"type":"boolean"},"ipv4":{"type":"integer"},"ipv4Gw":{"type":"integer"},"ipv6":{"type":"integer"},"ipv6Gw":{"type":"integer"},"mac":{"type":"integer"},"memory":{"type":"integer"},"name":{"type":"string"},"resourceLimits":{"type":"boolean"},"slaac":{"type":"boolean"},"startAtBoot":{"type":"boolean"},"startOrder":{"type":"integer"},"switchName":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_jail.SimpleList":{"type":"object","properties":{"ctId":{"type":"integer"},"id":{"type":"integer"},"name":{"type":"string"},"state":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_jail.State":{"type":"object","properties":{"ctId":{"type":"integer"},"memory":{"type":"integer"},"pcpu":{"type":"number"},"state":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.CreateVMRequest":{"type":"object","required":["cpuCores","cpuPinning","cpuSockets","cpuThreads","name","ram","startAtBoot","storageDataset","storageSize","storageType","tpmEmulation","vmId","vncPort"],"properties":{"cpuCores":{"type":"integer"},"cpuPinning":{"type":"array","items":{"type":"integer"}},"cpuSockets":{"type":"integer"},"cpuThreads":{"type":"integer"},"description":{"type":"string"},"iso":{"type":"string"},"macId":{"type":"integer"},"name":{"type":"string"},"pciDevices":{"type":"array","items":{"type":"integer"}},"ram":{"type":"integer"},"startAtBoot":{"type":"boolean"},"startOrder":{"type":"integer"},"storageDataset":{"type":"string"},"storageEmulationType":{"type":"string"},"storageSize":{"type":"integer"},"storageType":{"type":"string"},"switchEmulationType":{"type":"string"},"switchName":{"type":"string"},"tpmEmulation":{"type":"boolean"},"vmId":{"type":"integer"},"vncPassword":{"type":"string"},"vncPort":{"type":"integer"},"vncResolution":{"type":"string"},"vncWait":{"type":"boolean"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.LvDomain":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"status":{"type":"string"},"uuid":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.SimpleList":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"state":{"type":"string"},"vmId":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_samba.AuditLogsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_samba.SambaAuditLog"}},"last_page":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_system.FileNode":{"type":"object","properties":{"date":{"type":"string"},"id":{"type":"string"},"lazy":{"type":"boolean"},"size":{"type":"integer"},"type":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.Dataset":{"type":"object","properties":{"aclinherit":{"type":"string"},"aclmode":{"type":"string"},"avail":{"type":"integer"},"checksum":{"type":"string"},"compression":{"type":"string"},"dedup":{"type":"string"},"guid":{"type":"string"},"logicalused":{"type":"integer"},"mounted":{"type":"string"},"mountpoint":{"type":"string"},"name":{"type":"string"},"origin":{"type":"string"},"primarycache":{"type":"string"},"quota":{"type":"integer"},"recordsize":{"type":"integer"},"referenced":{"type":"integer"},"type":{"type":"string"},"used":{"type":"integer"},"usedbydataset":{"type":"integer"},"volblocksize":{"type":"integer"},"volmode":{"type":"string"},"volsize":{"type":"integer"},"written":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.PoolStatPoint":{"type":"object","properties":{"allocated":{"type":"integer"},"dedupRatio":{"type":"number"},"free":{"type":"integer"},"size":{"type":"integer"},"time":{"type":"integer"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.ReplaceDevice":{"type":"object","required":["new","old"],"properties":{"new":{"type":"string","maxLength":24,"minLength":1},"old":{"type":"string","maxLength":24,"minLength":1}}},"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.Vdev":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}},"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.Zpool":{"type":"object","required":["name"],"properties":{"createForce":{"type":"boolean"},"name":{"type":"string","maxLength":24,"minLength":1},"properties":{"type":"object","additionalProperties":{"type":"string"}},"raidType":{"type":"string","enum":["mirror","raidz","raidz2","raidz3"]},"spares":{"type":"array","items":{"type":"string"}},"vdevs":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.Vdev"}}}},"github_com_alchemillahq_sylve_pkg_network_iface.BridgeMember":{"type":"object","properties":{"flags":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.Flags"},"ifmaxaddr":{"type":"integer"},"name":{"type":"string"},"pathCost":{"type":"integer"},"port":{"type":"integer"},"priority":{"type":"integer"},"state":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_network_iface.Capabilities":{"type":"object","properties":{"enabled":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.Flags"},"supported":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.Flags"}}},"github_com_alchemillahq_sylve_pkg_network_iface.Flags":{"type":"object","properties":{"desc":{"type":"array","items":{"type":"string"}},"raw":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_network_iface.IPv4":{"type":"object","properties":{"broadcast":{"type":"array","items":{"type":"integer"}},"ip":{"type":"array","items":{"type":"integer"}},"netmask":{"type":"string"}}},"github_com_alchemillahq_sylve_pkg_network_iface.IPv6":{"type":"object","properties":{"autoConf":{"type":"boolean"},"deprecated":{"type":"boolean"},"detached":{"type":"boolean"},"ip":{"type":"array","items":{"type":"integer"}},"lifeTimes":{"type":"object","properties":{"preferred":{"type":"integer"},"valid":{"type":"integer"}}},"prefixLength":{"type":"integer"},"scopeId":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_network_iface.Interface":{"type":"object","properties":{"bridgeId":{"type":"string"},"bridgeMembers":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.BridgeMember"}},"capabilities":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.Capabilities"},"description":{"type":"string"},"driver":{"type":"string"},"ether":{"type":"string"},"flags":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.Flags"},"groups":{"type":"array","items":{"type":"string"}},"ipv4":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.IPv4"}},"ipv6":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.IPv6"}},"maxaddr":{"type":"integer"},"media":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.Media"},"metric":{"type":"integer"},"model":{"type":"string"},"mtu":{"type":"integer"},"name":{"type":"string"},"nd6":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.ND6"},"stp":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.STP"},"timeout":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_network_iface.Media":{"type":"object","properties":{"mode":{"type":"string"},"options":{"type":"array","items":{"type":"string"}},"rawActive":{"type":"integer"},"rawCurrent":{"type":"integer"},"status":{"type":"string"},"subtype":{"type":"string"},"type":{"type":"string"}}},"github_com_alchemillahq_sylve_pkg_network_iface.ND6":{"type":"object","properties":{"desc":{"type":"array","items":{"type":"string"}},"raw":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_network_iface.STP":{"type":"object","properties":{"fwddelay":{"type":"integer"},"hellotime":{"type":"integer"},"holdcnt":{"type":"integer"},"ifcost":{"type":"integer"},"maxage":{"type":"integer"},"port":{"type":"integer"},"priority":{"type":"integer"},"proto":{"type":"string"},"rootId":{"type":"string"},"rootPriority":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_system_pciconf.PCIDevice":{"type":"object","properties":{"bus":{"type":"integer"},"class":{"type":"integer"},"device":{"type":"integer"},"domain":{"type":"integer"},"function":{"type":"integer"},"hdr":{"type":"integer"},"name":{"type":"string"},"names":{"type":"object","properties":{"class":{"type":"string"},"device":{"type":"string"},"subclass":{"type":"string"},"vendor":{"type":"string"}}},"rev":{"type":"integer"},"subdevice":{"type":"integer"},"subvendor":{"type":"integer"},"unit":{"type":"integer"},"vendor":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_zfs.CacheDevice":{"type":"object","properties":{"health":{"type":"string"},"name":{"type":"string"},"size":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_zfs.RW":{"type":"object","properties":{"read":{"type":"integer"},"write":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_zfs.ReplacingDevice":{"type":"object","properties":{"health":{"type":"string"},"name":{"type":"string"},"newDrive":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.VdevDevice"},"oldDrive":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.VdevDevice"}}},"github_com_alchemillahq_sylve_pkg_zfs.SpareDevice":{"type":"object","properties":{"health":{"type":"string"},"name":{"type":"string"},"size":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_zfs.Vdev":{"type":"object","properties":{"alloc":{"type":"integer"},"bandwidth":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.RW"},"devices":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.VdevDevice"}},"free":{"type":"integer"},"guid":{"type":"string"},"health":{"type":"string"},"name":{"type":"string"},"operations":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.RW"},"replacingDevices":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.ReplacingDevice"}},"size":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_zfs.VdevDevice":{"type":"object","properties":{"health":{"type":"string"},"name":{"type":"string"},"size":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_zfs.Zpool":{"type":"object","properties":{"allocated":{"type":"integer"},"cache":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.CacheDevice"}},"dedupRatio":{"type":"number"},"fragmentation":{"type":"integer"},"free":{"type":"integer"},"freeing":{"type":"integer"},"guid":{"type":"string"},"health":{"type":"string"},"id":{"description":"Same as GUID but for ease of use in Tabulator","type":"string"},"leaked":{"type":"integer"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.ZpoolProperty"}},"readOnly":{"type":"boolean"},"size":{"type":"integer"},"spares":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.SpareDevice"}},"status":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.ZpoolStatus"},"vdevs":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.Vdev"}}}},"github_com_alchemillahq_sylve_pkg_zfs.ZpoolDevice":{"type":"object","properties":{"children":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.ZpoolDevice"}},"cksum":{"type":"integer"},"name":{"type":"string"},"note":{"type":"string"},"read":{"type":"integer"},"state":{"type":"string"},"write":{"type":"integer"}}},"github_com_alchemillahq_sylve_pkg_zfs.ZpoolProperty":{"type":"object","properties":{"property":{"type":"string"},"source":{"type":"string"},"value":{"type":"string"}}},"github_com_alchemillahq_sylve_pkg_zfs.ZpoolStatus":{"type":"object","properties":{"action":{"type":"string"},"devices":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.ZpoolDevice"}},"errors":{"type":"string"},"name":{"type":"string"},"scan":{"type":"string"},"state":{"type":"string"},"status":{"type":"string"}}},"internal_handlers_auth.AddUsersToGroupRequest":{"type":"object","required":["group","usernames"],"properties":{"group":{"type":"string"},"usernames":{"type":"array","items":{"type":"string"}}}},"internal_handlers_auth.CreateGroupRequest":{"type":"object","required":["members","name"],"properties":{"members":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}},"internal_handlers_auth.CreateUserRequest":{"type":"object","required":["admin","password","username"],"properties":{"admin":{"type":"boolean"},"email":{"type":"string"},"password":{"type":"string","maxLength":128,"minLength":3},"username":{"type":"string","maxLength":128,"minLength":3}}},"internal_handlers_auth.LoginRequest":{"type":"object","required":["password","username"],"properties":{"authType":{"type":"string"},"password":{"type":"string","maxLength":128,"minLength":3},"remember":{"type":"boolean"},"username":{"type":"string","maxLength":128,"minLength":3}}},"internal_handlers_auth.SuccessfulLogin":{"type":"object","properties":{"clusterToken":{"type":"string"},"hostname":{"type":"string"},"nodeId":{"type":"string"},"token":{"type":"string"}}},"internal_handlers_cluster.AcceptJoinRequest":{"type":"object","required":["clusterKey","nodeId","nodeIp","nodePort"],"properties":{"clusterKey":{"type":"string"},"nodeId":{"type":"string"},"nodeIp":{"type":"string"},"nodePort":{"type":"integer","maximum":65535,"minimum":1024}}},"internal_handlers_cluster.CreateNoteRequest":{"type":"object","required":["content","title"],"properties":{"content":{"type":"string","minLength":3},"title":{"type":"string","minLength":3}}},"internal_handlers_cluster.CreateS3StorageRequest":{"type":"object","required":["accessKey","bucket","endpoint","name","region","secretKey"],"properties":{"accessKey":{"type":"string"},"bucket":{"type":"string"},"endpoint":{"type":"string"},"name":{"type":"string","minLength":3},"region":{"type":"string"},"secretKey":{"type":"string"}}},"internal_handlers_cluster.JoinClusterRequest":{"type":"object","required":["clusterKey","leaderApi","nodeId","nodeIp","nodePort"],"properties":{"clusterKey":{"type":"string"},"leaderApi":{"type":"string"},"nodeId":{"type":"string"},"nodeIp":{"type":"string"},"nodePort":{"type":"integer","maximum":65535,"minimum":1024}}},"internal_handlers_cluster.RemovePeerRequest":{"type":"object","required":["nodeId"],"properties":{"nodeId":{"type":"string"}}},"internal_handlers_disk.DiskActionRequest":{"type":"object","required":["device"],"properties":{"device":{"type":"string","minLength":2}}},"internal_handlers_disk.DiskPartitionRequest":{"type":"object","required":["device","sizes"],"properties":{"device":{"type":"string","minLength":2},"sizes":{"type":"array","items":{"type":"integer"}}}},"internal_handlers_info.HistoricalNetworkInterfaceResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_info.HistoricalNetworkInterface"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"internal_handlers_info.HistoricalRamInfoResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_info.RAM"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"internal_handlers_jail.AddNetworkRequest":{"type":"object","required":["ctId","switchName"],"properties":{"ctId":{"type":"integer"},"dhcp":{"type":"boolean"},"ip4":{"type":"integer"},"ip4gw":{"type":"integer"},"ip6":{"type":"integer"},"ip6gw":{"type":"integer"},"macId":{"type":"integer"},"slaac":{"type":"boolean"},"switchName":{"type":"string"}}},"internal_handlers_jail.JailEditDescRequest":{"type":"object","required":["id"],"properties":{"description":{"type":"string"},"id":{"type":"integer"}}},"internal_handlers_jail.JailInheritNetworkRequest":{"type":"object","required":["ctId"],"properties":{"ctId":{"type":"integer"},"ipv4":{"type":"boolean"},"ipv6":{"type":"boolean"}}},"internal_handlers_jail.JailUpdateCPURequest":{"type":"object","required":["cores","ctId"],"properties":{"cores":{"type":"integer"},"ctId":{"type":"integer"}}},"internal_handlers_jail.JailUpdateMemoryRequest":{"type":"object","required":["ctId","memory"],"properties":{"ctId":{"type":"integer"},"memory":{"type":"integer"}}},"internal_handlers_network.CreateManualSwitchRequest":{"type":"object","required":["bridge","name"],"properties":{"bridge":{"type":"string"},"name":{"type":"string"}}},"internal_handlers_network.CreateOrEditNetworkObjectRequest":{"type":"object","required":["name","type","values"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}}},"internal_handlers_network.CreateStandardSwitchRequest":{"type":"object","required":["name","ports","private"],"properties":{"defaultRoute":{"type":"boolean"},"dhcp":{"type":"boolean"},"disableIPv6":{"type":"boolean"},"gateway4":{"type":"integer"},"gateway6":{"type":"integer"},"mtu":{"type":"integer"},"name":{"type":"string"},"network4":{"type":"integer"},"network6":{"type":"integer"},"ports":{"type":"array","items":{"type":"string"}},"private":{"type":"boolean"},"slaac":{"type":"boolean"},"vlan":{"type":"integer"}}},"internal_handlers_network.InterfacesListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_network_iface.Interface"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"internal_handlers_network.ListSwitchResponse":{"type":"object","properties":{"manual":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.ManualSwitch"}},"standard":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.StandardSwitch"}}}},"internal_handlers_network.UpdateStandardSwitchRequest":{"type":"object","required":["id","ports","private"],"properties":{"defaultRoute":{"type":"boolean"},"dhcp":{"type":"boolean"},"disableIPv6":{"type":"boolean"},"gateway4":{"type":"integer"},"gateway6":{"type":"integer"},"id":{"type":"integer"},"mtu":{"type":"integer"},"network4":{"type":"integer"},"network6":{"type":"integer"},"ports":{"type":"array","items":{"type":"string"}},"private":{"type":"boolean"},"slaac":{"type":"boolean"},"vlan":{"type":"integer"}}},"internal_handlers_samba.CreateSambaShareRequest":{"type":"object","properties":{"createMask":{"type":"string"},"dataset":{"type":"string"},"directoryMask":{"type":"string"},"guestOk":{"type":"boolean"},"name":{"type":"string"},"readOnly":{"type":"boolean"},"readOnlyGroups":{"type":"array","items":{"type":"string"}},"writeableGroups":{"type":"array","items":{"type":"string"}}}},"internal_handlers_samba.SambaConfigRequest":{"type":"object","properties":{"bindInterfacesOnly":{"type":"boolean"},"interfaces":{"type":"string"},"serverString":{"type":"string"},"unixCharset":{"type":"string"},"workgroup":{"type":"string"}}},"internal_handlers_samba.UpdateSambaShareRequest":{"type":"object","properties":{"createMask":{"type":"string"},"dataset":{"type":"string"},"directoryMask":{"type":"string"},"guestOk":{"type":"boolean"},"id":{"type":"integer"},"name":{"type":"string"},"readOnly":{"type":"boolean"},"readOnlyGroups":{"type":"array","items":{"type":"string"}},"writeableGroups":{"type":"array","items":{"type":"string"}}}},"internal_handlers_system.AddFileOrFolderRequest":{"type":"object","required":["isFolder","name","path"],"properties":{"isFolder":{"type":"boolean"},"name":{"type":"string"},"path":{"type":"string"}}},"internal_handlers_system.AddPassthroughDeviceRequest":{"type":"object","required":["deviceId","domain"],"properties":{"deviceId":{"type":"string"},"domain":{"type":"string"}}},"internal_handlers_system.CopyOrMoveFileOrFolderRequest":{"type":"object","required":["cut","id","newPath"],"properties":{"cut":{"type":"boolean"},"id":{"type":"string"},"newPath":{"type":"string"}}},"internal_handlers_system.DeleteUploadRequest":{"type":"object","properties":{"data":{"type":"object","properties":{"path":{"type":"string"}}}}},"internal_handlers_vm.ModifyBootOrderRequest":{"type":"object","properties":{"bootOrder":{"type":"integer"},"startAtBoot":{"type":"boolean"}}},"internal_handlers_vm.ModifyCPURequest":{"type":"object","required":["cpuCores","cpuPinning","cpuSockets","cpuThreads"],"properties":{"cpuCores":{"type":"integer"},"cpuPinning":{"type":"array","items":{"type":"integer"}},"cpuSockets":{"type":"integer"},"cpuThreads":{"type":"integer"}}},"internal_handlers_vm.ModifyPassthroughRequest":{"type":"object","required":["pciDevices"],"properties":{"pciDevices":{"type":"array","items":{"type":"integer"}}}},"internal_handlers_vm.ModifyRAMRequest":{"type":"object","required":["ram"],"properties":{"ram":{"type":"integer"}}},"internal_handlers_vm.ModifyVNCRequest":{"type":"object","required":["vncPassword","vncPort","vncResolution","vncWait"],"properties":{"vncPassword":{"type":"string"},"vncPort":{"type":"integer"},"vncResolution":{"type":"string"},"vncWait":{"type":"boolean"}}},"internal_handlers_vm.ModifyWakeOnLanRequest":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"internal_handlers_vm.VMEditDescRequest":{"type":"object","required":["description","id"],"properties":{"description":{"type":"string"},"id":{"type":"integer"}}},"internal_handlers_zfs.AvgIODelayResponse":{"type":"object","properties":{"delay":{"type":"number"}}},"internal_handlers_zfs.BulkDeleteRequest":{"type":"object","required":["guids"],"properties":{"guids":{"type":"array","items":{"type":"string"}}}},"internal_handlers_zfs.CreateFilesystemRequest":{"type":"object","required":["name","parent"],"properties":{"name":{"type":"string"},"parent":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}}},"internal_handlers_zfs.CreatePeriodicSnapshotJobRequest":{"type":"object","required":["guid","interval","prefix"],"properties":{"cronExpr":{"type":"string"},"guid":{"type":"string"},"interval":{"type":"integer"},"prefix":{"type":"string"},"recursive":{"type":"boolean"}}},"internal_handlers_zfs.CreateSnapshotRequest":{"type":"object","required":["guid","name"],"properties":{"guid":{"type":"string"},"name":{"type":"string"},"recursive":{"type":"boolean"}}},"internal_handlers_zfs.CreateVolumeRequest":{"type":"object","required":["name","parent"],"properties":{"name":{"type":"string"},"parent":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}}},"internal_handlers_zfs.DatasetListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.Dataset"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"internal_handlers_zfs.EditFilesystemRequest":{"type":"object","required":["guid","properties"],"properties":{"guid":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}}},"internal_handlers_zfs.EditVolumeRequest":{"type":"object","required":["name","properties"],"properties":{"name":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}}},"internal_handlers_zfs.FlashVolumeRequest":{"type":"object","required":["guid","uuid"],"properties":{"guid":{"type":"string"},"uuid":{"type":"string"}}},"internal_handlers_zfs.PoolDisksUsageResponse":{"type":"object","properties":{"total":{"type":"number"},"usage":{"type":"number"}}},"internal_handlers_zfs.PoolEditRequest":{"type":"object","properties":{"name":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}},"spares":{"type":"array","items":{"type":"string"}}}},"internal_handlers_zfs.PoolStatPointResponse":{"type":"object","properties":{"intervalMap":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_db.IntervalOption"}},"poolStatPoint":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.PoolStatPoint"}}}}},"internal_handlers_zfs.RollbackSnapshotRequest":{"type":"object","required":["guid"],"properties":{"destroyMoreRecent":{"type":"boolean"},"guid":{"type":"string"}}},"internal_handlers_zfs.ZpoolListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/github_com_alchemillahq_sylve_pkg_zfs.Zpool"}},"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"}}},"map_string_string":{"type":"object","additionalProperties":{"type":"string"}},"time.Duration":{"type":"integer","enum":[-9223372036854775808,9223372036854775807,1,1000,1000000,1000000000,60000000000,3600000000000],"x-enum-varnames":["minDuration","maxDuration","Nanosecond","Microsecond","Millisecond","Second","Minute","Hour"]}},"securityDefinitions":{"BearerAuth":{"description":"Type \"Bearer\" followed by a space and JWT token.","type":"apiKey","name":"Authorization","in":"header"}}}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "0.0.1",
	Host:             "sylve.lan:8181",
	BasePath:         "/api",
	Schemes:          []string{},
	Title:            "Sylve API",
	Description:      "Sylve is a lightweight GUI for managing Bhyve, Jails, ZFS, networking, and more on FreeBSD.",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
