Files

15351 lines
524 KiB
Go

// Package swagger Code generated by swaggo/swag. DO NOT EDIT
package swagger
import "github.com/swaggo/swag"
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/members": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Update the members of a specified group",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Groups"
],
"summary": "Update Group Members",
"parameters": [
{
"description": "Update group members request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_auth.AddUsersToGroupRequest"
}
}
],
"responses": {
"200": {
"description": "Group members updated 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"
}
}
}
}
},
"/basic/initialize": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Initialize Sylve with the provided configuration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Health"
],
"summary": "Initialize Sylve",
"parameters": [
{
"description": "Initialization Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_system.InitializeRequest"
}
}
],
"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"
}
}
}
}
},
"/basic/reboot": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Initiate a system reboot",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Health"
],
"summary": "Initiate System Reboot",
"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"
}
}
}
}
},
"/basic/settings": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve the basic settings of Sylve",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Health"
],
"summary": "Get Basic Settings",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_db_models_BasicSettings"
}
},
"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 node IP",
"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/resync-state": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Replays current cluster-backed state through Raft and forces a snapshot from the leader",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Cluster"
],
"summary": "Resync Cluster State",
"responses": {
"200": {
"description": "Success",
"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"
}
}
}
}
},
"/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/:rid": {
"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/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.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/:rid": {
"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/:rid": {
"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/:rid": {
"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/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.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/node": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Get the node information about the system (mainly for cluster stuff)",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Info"
],
"summary": "Get Node 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/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}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Update an existing note in the cluster",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Cluster"
],
"summary": "Update a Cluster Note",
"parameters": [
{
"type": "integer",
"description": "Note ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Update Note Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_cluster.NoteRequest"
}
}
],
"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"
}
}
}
},
"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"
}
}
}
}
},
"/intra-cluster/sync-health": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Internal endpoint used by the Raft Leader to broadcast cluster health to followers",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Cluster Internal"
],
"summary": "Sync Cluster Health",
"parameters": [
{
"description": "Array of node health states",
"name": "payload",
"in": "body",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_cluster.NodeHealthSync"
}
}
}
],
"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": {
"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": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve a jail by its CTID or ID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Get a Jail by an Identifier",
"parameters": [
{
"type": "string",
"description": "Jail CTID or ID",
"name": "identifier",
"in": "path",
"required": true
},
{
"enum": [
"ctid",
"id"
],
"type": "string",
"default": "ctid",
"description": "Type of identifier (ctid or id)",
"name": "type",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_db_models_jail_Jail"
}
},
"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"
}
}
}
}
},
"/jail/:id/logs": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve Console log 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
}
],
"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/bootstrap": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Start a pkgbase bootstrap for the given pool, version, and type. Returns immediately; bootstrap runs asynchronously.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Create bootstrap",
"parameters": [
{
"description": "Bootstrap Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.BootstrapRequest"
}
}
],
"responses": {
"202": {
"description": "Accepted",
"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"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "Destroy a completed pkgbase bootstrap dataset and remove its DB record",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Delete bootstrap",
"parameters": [
{
"type": "string",
"description": "Pool name",
"name": "pool",
"in": "query",
"required": true
},
{
"type": "string",
"description": "Bootstrap name (e.g. 15-0-Base)",
"name": "name",
"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"
}
},
"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"
}
}
}
}
},
"/jail/bootstraps": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "List all supported pkgbase bootstrap entries for a pool, with their current install status",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "List bootstraps",
"parameters": [
{
"type": "string",
"description": "Pool name",
"name": "pool",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_jail_BootstrapEntry"
}
},
"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/name": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Update the name of a jail by its ID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Edit a Jail's name",
"parameters": [
{
"description": "Edit Jail Name Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_jail.JailEditNameRequest"
}
}
],
"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": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Edit a network switch on a jail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Edit Network Switch for Jail",
"parameters": [
{
"description": "Edit Network Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.EditJailNetworkRequest"
}
}
],
"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"
}
}
}
},
"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/github_com_alchemillahq_sylve_internal_interfaces_services_jail.AddJailNetworkRequest"
}
}
],
"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/:ctId": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Set network inheritance for a jail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Set Network Inheritance",
"parameters": [
{
"description": "Set Inheritance Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_jail.SetInheritanceRequest"
}
}
],
"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/simple/:id": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve a simple jail by its CTID or ID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Get a Jail by CTID or ID (Simple)",
"parameters": [
{
"type": "string",
"description": "Jail CTID or ID",
"name": "identifier",
"in": "path",
"required": true
},
{
"enum": [
"ctid",
"id"
],
"type": "string",
"default": "ctid",
"description": "Type of identifier (ctid or id)",
"name": "type",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_jail_SimpleList"
}
},
"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"
}
}
}
}
},
"/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/state/:id": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve the state of a specific jail by CTID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Get Jail State",
"parameters": [
{
"type": "integer",
"description": "Jail CTID",
"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_jail_State"
}
},
"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/stats/:ctid/:step": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve statistics for a jail by CTID and GFS step",
"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/dhcp/config": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve the current DHCP configuration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Get DHCP Config",
"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"
}
}
}
},
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the DHCP configuration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Modify DHCP Config",
"parameters": [
{
"description": "Modify DHCP Config Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_network.ModifyDHCPConfigRequest"
}
}
],
"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/dhcp/lease": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve both active (file-based) and static (DB-based) DHCP leases",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Get DHCP Leases",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_network_Leases"
}
},
"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 an existing static DHCP lease by ID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Update DHCP Lease",
"parameters": [
{
"description": "Request Body",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_network.ModifyStaticMapRequest"
}
}
],
"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"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Create a new static DHCP lease",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Create DHCP Lease",
"parameters": [
{
"description": "Request Body",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_network.CreateStaticMapRequest"
}
}
],
"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/dhcp/lease/dynamic": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Delete an active DHCP lease by identifier (MAC or DUID) and IP",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Delete Dynamic DHCP Lease",
"parameters": [
{
"description": "Request Body",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_network.DeleteDynamicLeaseRequest"
}
}
],
"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/dhcp/lease/{id}": {
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "Delete a static DHCP lease by ID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Delete DHCP Lease",
"parameters": [
{
"type": "integer",
"description": "Lease 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/dhcp/range": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve the current DHCP ranges",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Get DHCP Ranges",
"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"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Create a new DHCP range",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Create DHCP Range",
"parameters": [
{
"description": "Request Body",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_network.CreateDHCPRangeRequest"
}
}
],
"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/dhcp/range/{id}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify an existing DHCP range",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Modify DHCP Range",
"parameters": [
{
"type": "integer",
"description": "DHCP Range ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Request Body",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_network.ModifyDHCPRangeRequest"
}
}
],
"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"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "Delete an existing DHCP range",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Delete DHCP Range",
"parameters": [
{
"type": "integer",
"description": "DHCP Range 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/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": "ID of the created network object",
"schema": {
"type": "uint"
}
},
"400": {
"description": "Invalid request",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal server error",
"schema": {
"type": "string"
}
}
}
}
},
"/network/object/bulk-delete": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Delete multiple network objects by their IDs; fails if any object is in use",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Network"
],
"summary": "Bulk Delete Network Objects",
"parameters": [
{
"description": "Bulk Delete Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_network.BulkDeleteNetworkObjectsRequest"
}
}
],
"responses": {
"200": {
"description": "Objects deleted successfully",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"
}
},
"400": {
"description": "Invalid 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/{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"
}
}
}
}
},
"/network/update": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Update a network interface attached to a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Update Network Switch for 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"
}
}
}
}
},
"/options/additional-options/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the Additional Options configuration of a jail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Modify Additional Options of a Jail",
"parameters": [
{
"description": "Modify Additional Options Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_jail.ModifyAdditionalOptionsRequest"
}
}
],
"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/allowed-options/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify allowed options configuration of a jail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Modify Allowed Options of a Jail",
"parameters": [
{
"description": "Modify Allowed Options Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_jail.ModifyAllowedOptionsRequest"
}
}
],
"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/:rid": {
"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/boot-rom/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the Boot ROM mode of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Modify Boot ROM of a Virtual Machine",
"parameters": [
{
"description": "Modify Boot ROM Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.ModifyBootROMRequest"
}
}
],
"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/clock/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the Clock configuration of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Modify Clock of a Virtual Machine",
"parameters": [
{
"description": "Modify Clock Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.ModifyClockRequest"
}
}
],
"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/cloud-init/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the Cloud-Init Data and Metadata of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Modify Cloud-Init Data of a Virtual Machine",
"parameters": [
{
"description": "Modify Cloud-Init Data Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.ModifyCloudInitDataRequest"
}
}
],
"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/devfs-rules/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the DevFS rules configuration of a jail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Modify DevFS rules of a Jail",
"parameters": [
{
"description": "Modify DevFS Rules Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_jail.ModifyDevFSRulesRequest"
}
}
],
"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/extra-bhyve-options/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify custom bhyve arguments (one argument per line) of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Modify Extra Bhyve Options of a Virtual Machine",
"parameters": [
{
"description": "Modify Extra Bhyve Options Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.ModifyExtraBhyveOptionsRequest"
}
}
],
"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/fstab/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the Fstab configuration of a jail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Modify Fstab of a Jail",
"parameters": [
{
"description": "Modify Fstab Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_jail.ModifyFstabRequest"
}
}
],
"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/ignore-umsrs/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the Ignore UMSRs configuration of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Modify Ignore UMSRs of a Virtual Machine",
"parameters": [
{
"description": "Modify Ignore UMSRs Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.ModifyIgnoreUMSRsRequest"
}
}
],
"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/lifecycle-hooks/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify jail exec.* lifecycle hooks in one request",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Modify Lifecycle Hooks of a Jail",
"parameters": [
{
"description": "Modify Lifecycle Hooks Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_jail.ModifyLifecycleHooksRequest"
}
}
],
"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/metadata/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the Metadata configuration of a jail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Modify Metadata of a Jail",
"parameters": [
{
"description": "Modify Metadata Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_jail.ModifyMetadataRequest"
}
}
],
"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/qemu-guest-agent/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the QEMU Guest Agent configuration of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Modify QEMU Guest Agent of a Virtual Machine",
"parameters": [
{
"description": "Modify QEMU Guest Agent Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.ModifyQemuGuestAgentRequest"
}
}
],
"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/resolv-conf/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify /etc/resolv.conf content for a jail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Jail"
],
"summary": "Modify resolv.conf of a Jail",
"parameters": [
{
"description": "Modify resolv.conf Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_jail.ModifyResolvConfRequest"
}
}
],
"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/serial-console/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the Serial Console Access configuration of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Modify Serial Console Access of a Virtual Machine",
"parameters": [
{
"description": "Modify Serial Console Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.ModifySerialConsoleRequest"
}
}
],
"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/shutdown-wait-time/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the Shutdown Wait Time configuration of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Modify Shutdown Wait Time of a Virtual Machine",
"parameters": [
{
"description": "Modify Shutdown Wait Time Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.ModifyShutdownWaitTimeRequest"
}
}
],
"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/tpm/:rid": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify the TPM configuration of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Modify TPM of a Virtual Machine",
"parameters": [
{
"description": "Modify TPM Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.ModifyTPMRequest"
}
}
],
"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/:rid": {
"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"
}
}
}
}
},
"/qga/:rid": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve QEMU Guest Agent OS and network info of a virtual machine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Get QEMU Guest Agent info of 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"
}
}
}
}
},
"/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_internal_handlers_samba_SambaShareResponse"
}
},
"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"
}
}
}
}
},
"/storage/update": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Update properties of a virtual machine's storage volume",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Update Virtual Machine Storage",
"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/basic-settings": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Get basic system settings information",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"System"
],
"summary": "Get Basic System Settings",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_db_models_BasicSettings"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"
}
}
}
}
},
"/system/basic-settings/pools": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Add usable ZFS pools to the system settings",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"System"
],
"summary": "Add Usable ZFS Pools",
"parameters": [
{
"description": "List of ZFS Pools to add",
"name": "pools",
"in": "body",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"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/basic-settings/toggle-service/:service": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Enable or disable a specific service in the system settings",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"System"
],
"summary": "Toggle Service",
"parameters": [
{
"type": "string",
"description": "Service name to toggle",
"name": "service",
"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"
}
}
}
}
},
"/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/import": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Import an existing ppt device into Sylve passthrough management",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"System"
],
"summary": "Import 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/prepare": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Add a device to loader.conf for passthrough on next boot",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"System"
],
"summary": "Prepare 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/cloud-init/templates": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "List all Cloud-Init templates",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Utilities"
],
"summary": "List Cloud-Init Templates",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_db_models_utilities_CloudInitTemplate"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-any"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Add a new Cloud-Init template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Utilities"
],
"summary": "Add Cloud-Init Template",
"parameters": [
{
"description": "Add Template Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_utilities.AddTemplateRequest"
}
}
],
"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/cloud-init/templates/:id": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Edit an existing Cloud-Init template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Utilities"
],
"summary": "Edit Cloud-Init Template",
"parameters": [
{
"description": "Edit Template Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_utilities.EditTemplateRequest"
}
}
],
"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"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "Delete a Cloud-Init template by ID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Utilities"
],
"summary": "Delete Cloud-Init Template",
"parameters": [
{
"type": "integer",
"description": "Template ID",
"name": "id",
"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"
}
}
}
}
},
"/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/paths": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Get configured filesystem paths used by downloader for HTTP and Path downloads",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Utilities"
],
"summary": "Get Download Paths",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-internal_handlers_utilities_DownloadPathsResponse"
}
}
}
}
},
"/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/utype": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "List downloads grouped by their type",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Utilities"
],
"summary": "List Downloads Grouped by Type",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-array_github_com_alchemillahq_sylve_internal_interfaces_services_utilities_UTypeGroupedDownload"
}
},
"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/:id": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve a virtual machine by its RID or ID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Get a Virtual Machine by RID or ID",
"parameters": [
{
"type": "string",
"description": "Virtual Machine RID or ID",
"name": "rid",
"in": "path",
"required": true
},
{
"enum": [
"rid",
"id"
],
"type": "string",
"default": "rid",
"description": "Type of identifier (rid or id)",
"name": "type",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_db_models_vm_VM"
}
},
"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/description": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Update the description of a virtual machine by its RID",
"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/:rid": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve the domain information of a virtual machine by its RID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Get a Virtual Machine's Domain",
"parameters": [
{
"type": "string",
"description": "Virtual Machine RID",
"name": "rid",
"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/logs/:rid": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve console log for a specific VM by RID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Get VM Logs",
"parameters": [
{
"type": "integer",
"description": "VM RID",
"name": "rid",
"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"
}
},
"404": {
"description": "VM 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/name": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "Update the name of a virtual machine by its RID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Edit a Virtual Machine's name",
"parameters": [
{
"description": "Edit Virtual Machine Name Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_vm.VMEditNameRequest"
}
}
],
"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/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/simple/:id": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve a simple virtual machine object by its RID or ID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Get a simple Virtual Machine by RID or ID",
"parameters": [
{
"type": "string",
"description": "Virtual Machine RID or ID",
"name": "id",
"in": "path",
"required": true
},
{
"enum": [
"rid",
"id"
],
"type": "string",
"default": "rid",
"description": "Type of identifier (rid or id)",
"name": "type",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_interfaces_services_libvirt_SimpleList"
}
},
"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/stats/:rid/:step": {
"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}/:rid": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Perform a specified action (start, stop, reboot) on a virtual machine by its RID",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"VM"
],
"summary": "Perform an action on a Virtual Machine",
"parameters": [
{
"type": "string",
"description": "Virtual Machine RID",
"name": "rid",
"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/bulk-delete-by-name": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "Bulk delete ZFS datasets by their names",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"ZFS"
],
"summary": "Bulk Delete Datasets By Name",
"parameters": [
{
"description": "Bulk Delete Datasets By Name Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handlers_zfs.BulkDeleteByNameRequest"
}
}
],
"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/paginated": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Get all ZFS Datasets with Pagination",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"ZFS"
],
"summary": "Get all ZFS Datasets with Pagination",
"parameters": [
{
"description": "Paginated Datasets Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.PaginatedDatasetsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.PaginatedDatasetsResponse"
}
},
"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": {
"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/github_com_alchemillahq_sylve_internal_interfaces_services_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"
}
}
}
},
"patch": {
"security": [
{
"BearerAuth": []
}
],
"description": "Modify retention of a periodic ZFS snapshot job",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"ZFS"
],
"summary": "Modify retention of a periodic ZFS snapshot job",
"parameters": [
{
"description": "Modify Periodic Snapshot Retention Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.ModifyPeriodicSnapshotRetentionRequest"
}
}
],
"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/github_com_alchemillahq_sylve_internal_interfaces_services_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/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.CreateZPoolRequest"
}
}
],
"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-github_com_alchemillahq_sylve_internal_interfaces_services_zfs_SimpleZFSDiskUsage"
}
},
"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"
}
}
}
}
},
"/zfs/pools/{guid}/status": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Get the status of a ZFS pool",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"ZFS"
],
"summary": "Get Pool Status",
"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-gzfs_ZPoolStatusPool"
}
},
"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_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_utilities_CloudInitTemplate": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_utilities.CloudInitTemplate"
}
},
"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_BootstrapEntry": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.BootstrapEntry"
}
},
"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_internal_interfaces_services_utilities_UTypeGroupedDownload": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_utilities.UTypeGroupedDownload"
}
},
"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-array_internal_handlers_samba_SambaShareResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/internal_handlers_samba.SambaShareResponse"
}
},
"error": {
"type": "string"
},
"message": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal.APIResponse-github_com_alchemillahq_sylve_internal_db_models_BasicSettings": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models.BasicSettings"
},
"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_db_models_jail_Jail": {
"type": "object",
"properties": {
"data": {
"$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-github_com_alchemillahq_sylve_internal_db_models_vm_VM": {
"type": "object",
"properties": {
"data": {
"$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-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_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_jail_SimpleList": {
"type": "object",
"properties": {
"data": {
"$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-github_com_alchemillahq_sylve_internal_interfaces_services_jail_State": {
"type": "object",
"properties": {
"data": {
"$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-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_libvirt_SimpleList": {
"type": "object",
"properties": {
"data": {
"$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-github_com_alchemillahq_sylve_internal_interfaces_services_network_Leases": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_network.Leases"
},
"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-github_com_alchemillahq_sylve_internal_interfaces_services_zfs_SimpleZFSDiskUsage": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.SimpleZFSDiskUsage"
},
"error": {
"type": "string"
},
"message": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal.APIResponse-gzfs_ZPoolStatusPool": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/gzfs.ZPoolStatusPool"
},
"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_utilities_DownloadPathsResponse": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/internal_handlers_utilities.DownloadPathsResponse"
},
"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.AvailableService": {
"type": "string",
"enum": [
"dhcp-server",
"jails",
"samba-server",
"virtualization",
"wol-server",
"firewall",
"wireguard",
"iscsi"
],
"x-enum-varnames": [
"DHCPServer",
"Jails",
"SambaServer",
"Virtualization",
"WoLServer",
"Firewall",
"WireGuard",
"ISCSI"
]
},
"github_com_alchemillahq_sylve_internal_db_models.BasicSettings": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"initialized": {
"type": "boolean"
},
"pools": {
"type": "array",
"items": {
"type": "string"
}
},
"restarted": {
"type": "boolean"
},
"services": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models.AvailableService"
}
}
}
},
"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"
},
"disablePassword": {
"type": "boolean"
},
"doasEnabled": {
"type": "boolean"
},
"email": {
"type": "string"
},
"fullName": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models.Group"
}
},
"homeDirPerms": {
"type": "integer"
},
"homeDirectory": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastLoginTime": {
"type": "string"
},
"locked": {
"type": "boolean"
},
"notes": {
"type": "string"
},
"primaryGroupId": {
"type": "integer"
},
"shell": {
"type": "string"
},
"sshPublicKey": {
"type": "string"
},
"tokens": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models.Token"
}
},
"totp": {
"type": "string"
},
"uid": {
"type": "integer"
},
"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"
},
"guestIDs": {
"type": "array",
"items": {
"type": "integer"
}
},
"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_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.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": {
"additionalOptions": {
"type": "string"
},
"allowedOptions": {
"type": "array",
"items": {
"type": "string"
}
},
"cleanEnvironment": {
"type": "boolean"
},
"cores": {
"type": "integer"
},
"cpuSet": {
"type": "array",
"items": {
"type": "integer"
}
},
"createdAt": {
"type": "string"
},
"ctId": {
"type": "integer"
},
"description": {
"type": "string"
},
"devfsRuleset": {
"type": "string"
},
"fstab": {
"type": "string"
},
"hostname": {
"type": "string"
},
"id": {
"type": "integer"
},
"inheritIPv4": {
"type": "boolean"
},
"inheritIPv6": {
"type": "boolean"
},
"jailHooks": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.JailHooks"
}
},
"memory": {
"type": "integer"
},
"metadataEnv": {
"type": "string"
},
"metadataMeta": {
"type": "string"
},
"name": {
"type": "string"
},
"networks": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.Network"
}
},
"resolvConf": {
"type": "string"
},
"resourceLimits": {
"type": "boolean"
},
"snapshots": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.JailSnapshot"
}
},
"startAtBoot": {
"type": "boolean"
},
"startLogs": {
"type": "string"
},
"startOrder": {
"type": "integer"
},
"startedAt": {
"type": "string"
},
"stopLogs": {
"type": "string"
},
"stoppedAt": {
"type": "string"
},
"storages": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.Storage"
}
},
"type": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.JailType"
},
"updatedAt": {
"type": "string"
},
"wol": {
"type": "boolean"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_jail.JailHookPhase": {
"type": "string",
"enum": [
"prestart",
"start",
"poststart",
"prestop",
"stop",
"poststop"
],
"x-enum-varnames": [
"JailHookPhasePreStart",
"JailHookPhaseStart",
"JailHookPhasePostStart",
"JailHookPhasePreStop",
"JailHookPhaseStop",
"JailHookPhasePostStop"
]
},
"github_com_alchemillahq_sylve_internal_db_models_jail.JailHooks": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"id": {
"type": "integer"
},
"jid": {
"type": "integer"
},
"phase": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.JailHookPhase"
},
"script": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_jail.JailSnapshot": {
"type": "object",
"properties": {
"createdAt": {
"type": "string"
},
"ctId": {
"type": "integer"
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"jid": {
"type": "integer"
},
"name": {
"type": "string"
},
"parentSnapshotId": {
"type": "integer"
},
"rootDataset": {
"type": "string"
},
"snapshotName": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_jail.JailStats": {
"type": "object",
"properties": {
"cpuUsage": {
"type": "number"
},
"createdAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"jid": {
"type": "integer"
},
"memoryUsage": {
"type": "number"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_jail.JailType": {
"type": "string",
"enum": [
"freebsd",
"linux"
],
"x-enum-varnames": [
"JailTypeFreeBSD",
"JailTypeLinux"
]
},
"github_com_alchemillahq_sylve_internal_db_models_jail.Network": {
"type": "object",
"properties": {
"defaultGateway": {
"type": "boolean"
},
"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"
},
"jid": {
"type": "integer"
},
"macId": {
"type": "integer"
},
"macObj": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"
},
"manualSwitch": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.ManualSwitch"
},
"name": {
"type": "string"
},
"slaac": {
"type": "boolean"
},
"standardSwitch": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.StandardSwitch"
},
"switchId": {
"type": "integer"
},
"switchType": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_jail.Storage": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"id": {
"type": "integer"
},
"isBase": {
"type": "boolean"
},
"jid": {
"type": "integer"
},
"name": {
"type": "string"
},
"pool": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_network.DHCPRange": {
"type": "object",
"properties": {
"createdAt": {
"type": "string"
},
"endIp": {
"type": "string"
},
"expiry": {
"type": "integer"
},
"id": {
"type": "integer"
},
"manualSwitch": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.ManualSwitch"
},
"manualSwitchId": {
"type": "integer"
},
"raOnly": {
"type": "boolean"
},
"slaac": {
"type": "boolean"
},
"standardSwitch": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.StandardSwitch"
},
"standardSwitchId": {
"type": "integer"
},
"startIp": {
"type": "string"
},
"type": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_network.DHCPStaticLease": {
"type": "object",
"properties": {
"comments": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"dhcpRange": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.DHCPRange"
},
"dhcpRangeId": {
"type": "integer"
},
"duidObject": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"
},
"duidObjectId": {
"type": "integer"
},
"expiry": {
"type": "integer"
},
"hostname": {
"type": "string"
},
"id": {
"type": "integer"
},
"ipObject": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"
},
"ipObjectId": {
"description": "Per-range uniqueness on each object reference (Postgres \u0026 MySQL allow multiple NULLs)",
"type": "integer"
},
"macObject": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.Object"
},
"macObjectId": {
"type": "integer"
},
"updatedAt": {
"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": {
"autoUpdate": {
"type": "boolean"
},
"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"
},
"isUsedBy": {
"description": "\"\", \"dhcp\" for now",
"type": "string"
},
"lastRefreshAt": {
"type": "string"
},
"lastRefreshError": {
"type": "string"
},
"name": {
"type": "string"
},
"refreshIntervalSeconds": {
"type": "integer"
},
"resolutionChecksum": {
"type": "string"
},
"resolutions": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.ObjectResolution"
}
},
"sourceChecksum": {
"type": "string"
},
"type": {
"description": "\"Host\", \"Mac\", \"Network\", \"Port\", \"Country\", \"List\", \"FQDN\", \"DUID\"",
"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": "deprecated mirror for resolved IP entries",
"type": "string"
},
"resolvedValue": {
"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": {
"appleExtensions": {
"type": "boolean"
},
"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_utilities.CloudInitTemplate": {
"type": "object",
"properties": {
"createdAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"type": "string"
},
"name": {
"type": "string"
},
"networkConfig": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"user": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadStatus": {
"type": "string",
"enum": [
"pending",
"processing",
"done",
"failed"
],
"x-enum-varnames": [
"DownloadStatusPending",
"DownloadStatusProcessing",
"DownloadStatusDone",
"DownloadStatusFailed"
]
},
"github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadType": {
"type": "string",
"enum": [
"http",
"torrent",
"path"
],
"x-enum-varnames": [
"DownloadTypeHTTP",
"DownloadTypeTorrent",
"DownloadTypePath"
]
},
"github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadUType": {
"type": "string",
"enum": [
"base-rootfs",
"cloud-init",
"uncategoried"
],
"x-enum-varnames": [
"DownloadUTypeBase",
"DownloadUTypeCloudInit",
"DownloadUTypeOther"
]
},
"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": {
"automaticExtraction": {
"type": "boolean"
},
"automaticRawConversion": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"error": {
"type": "string"
},
"extractedPath": {
"type": "string"
},
"files": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadedFile"
}
},
"id": {
"type": "integer"
},
"ignoreTLS": {
"type": "boolean"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"progress": {
"type": "integer"
},
"size": {
"type": "integer"
},
"status": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadStatus"
},
"type": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadType"
},
"uType": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadUType"
},
"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"
},
"manualSwitch": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.ManualSwitch"
},
"standardSwitch": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.StandardSwitch"
},
"switchId": {
"type": "integer"
},
"switchType": {
"type": "string"
},
"vmId": {
"type": "integer"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_vm.Storage": {
"type": "object",
"properties": {
"bootOrder": {
"type": "integer"
},
"dataset": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.VMStorageDataset"
},
"datasetId": {
"type": "integer"
},
"emulation": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.VMStorageEmulationType"
},
"enable": {
"type": "boolean"
},
"filesystemTarget": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"pool": {
"type": "string"
},
"readOnly": {
"type": "boolean"
},
"recordSize": {
"type": "integer"
},
"size": {
"type": "integer"
},
"type": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.VMStorageType"
},
"uuid": {
"type": "string"
},
"vmId": {
"type": "integer"
},
"volBlockSize": {
"type": "integer"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_vm.TimeOffset": {
"type": "string",
"enum": [
"utc",
"localtime"
],
"x-enum-varnames": [
"TimeOffsetUTC",
"TimeOffsetLocal"
]
},
"github_com_alchemillahq_sylve_internal_db_models_vm.VM": {
"type": "object",
"properties": {
"acpi": {
"type": "boolean"
},
"apic": {
"type": "boolean"
},
"bootRom": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.VMBootROM"
},
"cloudInitData": {
"type": "string"
},
"cloudInitMetaData": {
"type": "string"
},
"cloudInitNetworkConfig": {
"type": "string"
},
"cpuCores": {
"type": "integer"
},
"cpuPinning": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.VMCPUPinning"
}
},
"cpuSockets": {
"type": "integer"
},
"cpuThreads": {
"type": "integer"
},
"createdAt": {
"type": "string"
},
"description": {
"type": "string"
},
"extraBhyveOptions": {
"type": "array",
"items": {
"type": "string"
}
},
"id": {
"type": "integer"
},
"ignoreUMSR": {
"type": "boolean"
},
"name": {
"type": "string"
},
"networks": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.Network"
}
},
"pciDevices": {
"type": "array",
"items": {
"type": "integer"
}
},
"qemuGuestAgent": {
"type": "boolean"
},
"ram": {
"type": "integer"
},
"rid": {
"type": "integer"
},
"serial": {
"type": "boolean"
},
"shutdownWaitTime": {
"type": "integer"
},
"snapshots": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.VMSnapshot"
}
},
"startAtBoot": {
"type": "boolean"
},
"startOrder": {
"type": "integer"
},
"startedAt": {
"type": "string"
},
"state": {
"$ref": "#/definitions/libvirt.DomainState"
},
"stoppedAt": {
"type": "string"
},
"storages": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.Storage"
}
},
"timeOffset": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.TimeOffset"
},
"tpmEmulation": {
"type": "boolean"
},
"updatedAt": {
"type": "string"
},
"vncBind": {
"type": "string"
},
"vncEnabled": {
"type": "boolean"
},
"vncPassword": {
"type": "string"
},
"vncPort": {
"type": "integer"
},
"vncResolution": {
"type": "string"
},
"vncWait": {
"type": "boolean"
},
"wol": {
"type": "boolean"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_vm.VMBootROM": {
"type": "string",
"enum": [
"uefi",
"none"
],
"x-enum-varnames": [
"VMBootROMUEFI",
"VMBootROMNone"
]
},
"github_com_alchemillahq_sylve_internal_db_models_vm.VMCPUPinning": {
"type": "object",
"properties": {
"hostCpu": {
"type": "array",
"items": {
"type": "integer"
}
},
"hostSocket": {
"type": "integer"
},
"id": {
"type": "integer"
},
"vmId": {
"type": "integer"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_vm.VMSnapshot": {
"type": "object",
"properties": {
"createdAt": {
"type": "string"
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"parentSnapshotId": {
"type": "integer"
},
"rid": {
"type": "integer"
},
"rootDatasets": {
"type": "array",
"items": {
"type": "string"
}
},
"snapshotName": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"vmId": {
"type": "integer"
}
}
},
"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_vm.VMStorageDataset": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"pool": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_db_models_vm.VMStorageEmulationType": {
"type": "string",
"enum": [
"virtio-blk",
"virtio-9p",
"ahci-hd",
"ahci-cd",
"nvme"
],
"x-enum-varnames": [
"VirtIOStorageEmulation",
"VirtIO9PStorageEmulation",
"AHCIHDStorageEmulation",
"AHCICDStorageEmulation",
"NVMEStorageEmulation"
]
},
"github_com_alchemillahq_sylve_internal_db_models_vm.VMStorageType": {
"type": "string",
"enum": [
"raw",
"zvol",
"image",
"filesystem"
],
"x-enum-varnames": [
"VMStorageTypeRaw",
"VMStorageTypeZVol",
"VMStorageTypeDiskImage",
"VMStorageTypeFilesystem"
]
},
"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"
},
"keepDaily": {
"description": "e.g., keep 7 daily",
"type": "integer"
},
"keepHourly": {
"description": "GFS Retention",
"type": "integer"
},
"keepLast": {
"description": "Simple Retention",
"type": "integer"
},
"keepMonthly": {
"description": "e.g., keep 12 monthly",
"type": "integer"
},
"keepWeekly": {
"description": "e.g., keep 4 weekly",
"type": "integer"
},
"keepYearly": {
"description": "e.g., keep 3 yearly",
"type": "integer"
},
"lastRunAt": {
"type": "string"
},
"maxAgeDays": {
"description": "e.g., 30 (delete older than 30 days)",
"type": "integer"
},
"pool": {
"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.NodeHealthSync": {
"type": "object",
"properties": {
"api": {
"type": "string"
},
"cpu": {
"type": "integer"
},
"cpuUsage": {
"type": "number"
},
"disk": {
"type": "integer"
},
"diskUsage": {
"type": "number"
},
"guestIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"hostname": {
"type": "string"
},
"memory": {
"type": "integer"
},
"memoryUsage": {
"type": "number"
},
"nodeUuid": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_cluster.NodeResources": {
"type": "object",
"properties": {
"hostname": {
"type": "string"
},
"jailTemplates": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.SimpleTemplateList"
}
},
"jails": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.SimpleList"
}
},
"nodeUUID": {
"type": "string"
},
"vmTemplates": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.SimpleTemplateList"
}
},
"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"
},
"guestIDs": {
"type": "array",
"items": {
"type": "integer"
}
},
"id": {
"type": "string"
},
"isLeader": {
"type": "boolean"
},
"suffrage": {
"type": "string"
}
}
},
"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.Architecture": {
"type": "string",
"enum": [
"amd64",
"386",
"arm",
"arm64",
"riscv64",
"ppc64",
"ppc64le",
"s390x",
"wasm",
"loong64"
],
"x-enum-varnames": [
"ArchAMD64",
"Arch386",
"ArchARM",
"ArchARM64",
"ArchRISCV64",
"ArchPPC64",
"ArchPPC64LE",
"ArchS390X",
"ArchWASM",
"ArchLOONG64"
]
},
"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": {
"architecture": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_info.Architecture"
},
"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"
},
"sockets": {
"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.AddJailNetworkRequest": {
"type": "object",
"required": [
"ctId",
"name",
"switchName"
],
"properties": {
"ctId": {
"type": "integer"
},
"defaultGateway": {
"type": "boolean"
},
"dhcp": {
"type": "boolean"
},
"ip4": {
"type": "integer"
},
"ip4gw": {
"type": "integer"
},
"ip6": {
"type": "integer"
},
"ip6gw": {
"type": "integer"
},
"macId": {
"type": "integer"
},
"name": {
"type": "string"
},
"slaac": {
"type": "boolean"
},
"switchName": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_jail.BootstrapEntry": {
"type": "object",
"properties": {
"dataset": {
"type": "string"
},
"error": {
"type": "string"
},
"exists": {
"type": "boolean"
},
"label": {
"type": "string"
},
"major": {
"type": "integer"
},
"minor": {
"type": "integer"
},
"mountPoint": {
"type": "string"
},
"name": {
"type": "string"
},
"phase": {
"type": "string"
},
"pool": {
"type": "string"
},
"status": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_jail.BootstrapRequest": {
"type": "object",
"required": [
"major",
"pool",
"type"
],
"properties": {
"major": {
"type": "integer"
},
"minor": {
"type": "integer"
},
"pool": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_jail.CreateJailRequest": {
"type": "object",
"required": [
"ctId",
"name",
"pool",
"type"
],
"properties": {
"additionalOptions": {
"type": "string"
},
"allowedOptions": {
"type": "array",
"items": {
"type": "string"
}
},
"base": {
"type": "string"
},
"bootstrapName": {
"type": "string"
},
"cleanEnvironment": {
"type": "boolean"
},
"cores": {
"type": "integer"
},
"ctId": {
"type": "integer"
},
"description": {
"type": "string"
},
"devfsRuleset": {
"type": "string"
},
"dhcp": {
"type": "boolean"
},
"fstab": {
"type": "string"
},
"hooks": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.Hooks"
},
"hostname": {
"type": "string"
},
"inheritIPv4": {
"type": "boolean"
},
"inheritIPv6": {
"type": "boolean"
},
"ipv4": {
"type": "integer"
},
"ipv4Gw": {
"type": "integer"
},
"ipv6": {
"type": "integer"
},
"ipv6Gw": {
"type": "integer"
},
"mac": {
"type": "integer"
},
"memory": {
"type": "integer"
},
"metadataEnv": {
"type": "string"
},
"metadataMeta": {
"type": "string"
},
"name": {
"type": "string"
},
"pool": {
"type": "string"
},
"resolvConf": {
"type": "string"
},
"resourceLimits": {
"type": "boolean"
},
"slaac": {
"type": "boolean"
},
"startAtBoot": {
"type": "boolean"
},
"startOrder": {
"type": "integer"
},
"switchName": {
"type": "string"
},
"type": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_jail.JailType"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_jail.EditJailNetworkRequest": {
"type": "object",
"required": [
"name",
"networkId",
"switchName"
],
"properties": {
"defaultGateway": {
"type": "boolean"
},
"dhcp": {
"type": "boolean"
},
"ip4": {
"type": "integer"
},
"ip4gw": {
"type": "integer"
},
"ip6": {
"type": "integer"
},
"ip6gw": {
"type": "integer"
},
"macId": {
"type": "integer"
},
"name": {
"type": "string"
},
"networkId": {
"type": "integer"
},
"slaac": {
"type": "boolean"
},
"switchName": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_jail.HookPhase": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"script": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_jail.Hooks": {
"type": "object",
"properties": {
"poststart": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.HookPhase"
},
"poststop": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.HookPhase"
},
"prestart": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.HookPhase"
},
"prestop": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.HookPhase"
},
"start": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.HookPhase"
},
"stop": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.HookPhase"
}
}
},
"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.SimpleTemplateList": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"sourceJailName": {
"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.CPUPinning": {
"type": "object",
"required": [
"cores",
"socket"
],
"properties": {
"cores": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"socket": {
"type": "integer",
"minimum": 0
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.CreateVMRequest": {
"type": "object",
"required": [
"cpuCores",
"cpuSockets",
"cpuThreads",
"name",
"ram",
"rid",
"timeOffset",
"vncPort"
],
"properties": {
"acpi": {
"type": "boolean"
},
"apic": {
"type": "boolean"
},
"bootRom": {
"type": "string"
},
"cloudInit": {
"type": "boolean"
},
"cloudInitData": {
"type": "string"
},
"cloudInitMetaData": {
"type": "string"
},
"cloudInitNetworkConfig": {
"type": "string"
},
"cpuCores": {
"type": "integer"
},
"cpuPinning": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.CPUPinning"
}
},
"cpuSockets": {
"type": "integer"
},
"cpuThreads": {
"type": "integer"
},
"description": {
"type": "string"
},
"extraBhyveOptions": {
"type": "array",
"items": {
"type": "string"
}
},
"ignoreUMSR": {
"type": "boolean"
},
"iso": {
"type": "string"
},
"macId": {
"type": "integer"
},
"name": {
"type": "string"
},
"pciDevices": {
"type": "array",
"items": {
"type": "integer"
}
},
"qemuGuestAgent": {
"type": "boolean"
},
"ram": {
"type": "integer"
},
"rid": {
"type": "integer"
},
"serial": {
"type": "boolean"
},
"startAtBoot": {
"type": "boolean"
},
"startOrder": {
"type": "integer"
},
"storageEmulationType": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.StorageEmulationType"
},
"storagePool": {
"type": "string"
},
"storageSize": {
"type": "integer"
},
"storageType": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.StorageType"
},
"switchEmulationType": {
"type": "string"
},
"switchName": {
"type": "string"
},
"timeOffset": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.TimeOffset"
},
"tpmEmulation": {
"type": "boolean"
},
"vncBind": {
"type": "string"
},
"vncEnabled": {
"type": "boolean"
},
"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.ModifyCPURequest": {
"type": "object",
"required": [
"cpuCores",
"cpuSockets",
"cpuThreads"
],
"properties": {
"cpuCores": {
"type": "integer"
},
"cpuPinning": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.CPUPinning"
}
},
"cpuSockets": {
"type": "integer"
},
"cpuThreads": {
"type": "integer"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.ModifyVNCRequest": {
"type": "object",
"required": [
"vncPassword",
"vncPort",
"vncResolution"
],
"properties": {
"vncBind": {
"type": "string"
},
"vncEnabled": {
"type": "boolean"
},
"vncPassword": {
"type": "string"
},
"vncPort": {
"type": "integer"
},
"vncResolution": {
"type": "string"
},
"vncWait": {
"type": "boolean"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.SimpleList": {
"type": "object",
"properties": {
"cpuPinning": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_vm.VMCPUPinning"
}
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"rid": {
"type": "integer"
},
"state": {
"$ref": "#/definitions/libvirt.DomainState"
},
"vncPort": {
"type": "integer"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.SimpleTemplateList": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"sourceVmName": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.StorageEmulationType": {
"type": "string",
"enum": [
"virtio-blk",
"virtio-9p",
"ahci-hd",
"ahci-cd",
"nvme"
],
"x-enum-varnames": [
"VirtIOStorageEmulation",
"VirtIO9PStorageEmulation",
"AHCIHDStorageEmulation",
"AHCICDStorageEmulation",
"NVMEStorageEmulation"
]
},
"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.StorageType": {
"type": "string",
"enum": [
"raw",
"zvol",
"image",
"filesystem",
"none"
],
"x-enum-varnames": [
"StorageTypeRaw",
"StorageTypeZVOL",
"StorageTypeDiskImage",
"StorageTypeFilesystem",
"StorageTypeNone"
]
},
"github_com_alchemillahq_sylve_internal_interfaces_services_libvirt.TimeOffset": {
"type": "string",
"enum": [
"utc",
"localtime"
],
"x-enum-varnames": [
"TimeOffsetUTC",
"TimeOffsetLocal"
]
},
"github_com_alchemillahq_sylve_internal_interfaces_services_network.CreateDHCPRangeRequest": {
"type": "object",
"required": [
"type"
],
"properties": {
"endIp": {
"type": "string"
},
"expiry": {
"type": "integer"
},
"manualSwitch": {
"type": "integer"
},
"raOnly": {
"type": "boolean"
},
"slaac": {
"type": "boolean"
},
"standardSwitch": {
"type": "integer"
},
"startIp": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"ipv4",
"ipv6"
]
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_network.CreateStaticMapRequest": {
"type": "object",
"required": [
"dhcpRangeId"
],
"properties": {
"comments": {
"type": "string"
},
"dhcpRangeId": {
"type": "integer"
},
"duidId": {
"type": "integer"
},
"hostname": {
"type": "string"
},
"ipId": {
"type": "integer"
},
"macId": {
"type": "integer"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_network.DeleteDynamicLeaseRequest": {
"type": "object",
"required": [
"identifier",
"ip"
],
"properties": {
"identifier": {
"type": "string"
},
"ip": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_network.FileLeases": {
"type": "object",
"properties": {
"clientId": {
"type": "string"
},
"duid": {
"type": "string"
},
"expiry": {
"type": "integer"
},
"hostname": {
"type": "string"
},
"iaid": {
"type": "string"
},
"ip": {
"type": "string"
},
"mac": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_network.Leases": {
"type": "object",
"properties": {
"db": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_network.DHCPStaticLease"
}
},
"file": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_network.FileLeases"
}
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_network.ModifyDHCPConfigRequest": {
"type": "object",
"properties": {
"dnsServers": {
"type": "array",
"items": {
"type": "string"
}
},
"domain": {
"type": "string"
},
"expandHosts": {
"type": "boolean"
},
"manualSwitches": {
"type": "array",
"items": {
"type": "integer"
}
},
"standardSwitches": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_network.ModifyDHCPRangeRequest": {
"type": "object",
"required": [
"type"
],
"properties": {
"endIp": {
"type": "string"
},
"expiry": {
"type": "integer"
},
"id": {
"type": "integer"
},
"manualSwitch": {
"type": "integer"
},
"raOnly": {
"type": "boolean"
},
"slaac": {
"type": "boolean"
},
"standardSwitch": {
"type": "integer"
},
"startIp": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"ipv4",
"ipv6"
]
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_network.ModifyStaticMapRequest": {
"type": "object",
"required": [
"dhcpRangeId",
"id"
],
"properties": {
"comments": {
"type": "string"
},
"dhcpRangeId": {
"type": "integer"
},
"duidId": {
"type": "integer"
},
"hostname": {
"type": "string"
},
"id": {
"type": "integer"
},
"ipId": {
"type": "integer"
},
"macId": {
"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_system.InitializeRequest": {
"type": "object",
"required": [
"services"
],
"properties": {
"pools": {
"type": "array",
"items": {
"type": "string"
}
},
"services": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models.AvailableService"
}
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_utilities.AddTemplateRequest": {
"type": "object",
"required": [
"meta",
"name",
"user"
],
"properties": {
"meta": {
"type": "string"
},
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"networkConfig": {
"type": "string"
},
"user": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_utilities.EditTemplateRequest": {
"type": "object",
"properties": {
"meta": {
"type": "string"
},
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"networkConfig": {
"type": "string"
},
"user": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_utilities.UTypeGroupedDownload": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"uType": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models_utilities.DownloadUType"
},
"uuid": {
"type": "string"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.CreatePeriodicSnapshotJobRequest": {
"type": "object",
"required": [
"guid",
"interval",
"prefix"
],
"properties": {
"cronExpr": {
"type": "string"
},
"guid": {
"type": "string"
},
"interval": {
"type": "integer"
},
"keepDaily": {
"type": "integer"
},
"keepHourly": {
"type": "integer"
},
"keepLast": {
"type": "integer"
},
"keepMonthly": {
"type": "integer"
},
"keepWeekly": {
"type": "integer"
},
"keepYearly": {
"type": "integer"
},
"maxAgeDays": {
"type": "integer"
},
"prefix": {
"type": "string"
},
"recursive": {
"type": "boolean"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.CreateZPoolRequest": {
"type": "object",
"required": [
"name",
"raidType"
],
"properties": {
"createForce": {
"type": "boolean"
},
"name": {
"type": "string",
"maxLength": 24,
"minLength": 1
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"raidType": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.RaidType"
},
"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_internal_interfaces_services_zfs.EditVolumeRequest": {
"type": "object",
"required": [
"guid",
"properties"
],
"properties": {
"guid": {
"type": "string"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.ModifyPeriodicSnapshotRetentionRequest": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
},
"keepDaily": {
"type": "integer"
},
"keepHourly": {
"type": "integer"
},
"keepLast": {
"type": "integer"
},
"keepMonthly": {
"type": "integer"
},
"keepWeekly": {
"type": "integer"
},
"keepYearly": {
"type": "integer"
},
"maxAgeDays": {
"type": "integer"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.PaginatedDatasetsRequest": {
"type": "object",
"required": [
"datasetType"
],
"properties": {
"-": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_zfs.SortParam"
}
},
"datasetType": {
"$ref": "#/definitions/gzfs.DatasetType"
},
"nameFilter": {
"type": "string"
},
"page": {
"type": "integer"
},
"search": {
"type": "string"
},
"size": {
"type": "integer"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.PaginatedDatasetsResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/gzfs.Dataset"
}
},
"last_page": {
"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.RaidType": {
"type": "string",
"enum": [
"stripe",
"mirror",
"raidz",
"raidz2",
"raidz3"
],
"x-enum-varnames": [
"RaidTypeStripe",
"RaidTypeMirror",
"RaidTypeRaidZ",
"RaidTypeRaidZ2",
"RaidTypeRaidZ3"
]
},
"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.SimpleZFSDiskUsage": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"usage": {
"type": "number"
}
}
},
"github_com_alchemillahq_sylve_internal_interfaces_services_zfs.SortParam": {
"type": "object",
"properties": {
"dir": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
"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_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"
}
},
"hwaddr": {
"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"
}
}
},
"gzfs.Dataset": {
"type": "object",
"properties": {
"available": {
"type": "integer"
},
"compressratio": {
"type": "number"
},
"createtxg": {
"type": "string"
},
"guid": {
"type": "string"
},
"mountpoint": {
"type": "string"
},
"name": {
"type": "string"
},
"pool": {
"type": "string"
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZFSProperty"
}
},
"referenced": {
"type": "integer"
},
"type": {
"$ref": "#/definitions/gzfs.DatasetType"
},
"used": {
"type": "integer"
}
}
},
"gzfs.DatasetType": {
"type": "string",
"enum": [
"ALL",
"FILESYSTEM",
"VOLUME",
"SNAPSHOT"
],
"x-enum-varnames": [
"DatasetTypeAll",
"DatasetTypeFilesystem",
"DatasetTypeVolume",
"DatasetTypeSnapshot"
]
},
"gzfs.ZFSProperty": {
"type": "object",
"properties": {
"source": {
"$ref": "#/definitions/gzfs.ZFSPropertySource"
},
"value": {
"type": "string"
}
}
},
"gzfs.ZFSPropertySource": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"gzfs.ZPool": {
"type": "object",
"properties": {
"allocated": {
"type": "integer"
},
"dedup_ratio": {
"type": "number"
},
"fragmentation": {
"type": "number"
},
"free": {
"type": "integer"
},
"l2cache": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZPoolVDEV"
}
},
"logs": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZPoolVDEV"
}
},
"name": {
"type": "string"
},
"pool_guid": {
"type": "string"
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZFSProperty"
}
},
"size": {
"type": "integer"
},
"spa_version": {
"type": "string"
},
"spares": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZPoolVDEV"
}
},
"state": {
"$ref": "#/definitions/gzfs.ZPoolState"
},
"txg": {
"type": "string"
},
"type": {
"type": "string"
},
"zpl_version": {
"type": "string"
}
}
},
"gzfs.ZPoolState": {
"type": "string",
"enum": [
"ONLINE",
"DEGRADED",
"FAULTED",
"OFFLINE",
"REMOVED",
"UNAVAIL",
"CORRUPT_DATA",
"UNKNOWN"
],
"x-enum-varnames": [
"ZPoolStateOnline",
"ZPoolStateDegraded",
"ZPoolStateFaulted",
"ZPoolStateOffline",
"ZPoolStateRemoved",
"ZPoolStateUnavailible",
"ZPoolStateCorruptData",
"ZPoolStateUnknown"
]
},
"gzfs.ZPoolStatusPool": {
"type": "object",
"properties": {
"action": {
"type": "string"
},
"l2cache": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZPoolStatusVDEV"
}
},
"logs": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZPoolStatusVDEV"
}
},
"name": {
"type": "string"
},
"pool_guid": {
"type": "string"
},
"scan_stats": {
"$ref": "#/definitions/gzfs.ZPoolStatusScanStats"
},
"spa_version": {
"type": "string"
},
"spares": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZPoolStatusVDEV"
}
},
"state": {
"type": "string"
},
"status": {
"type": "string"
},
"txg": {
"type": "string"
},
"vdevs": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZPoolStatusVDEV"
}
},
"zpl_version": {
"type": "string"
}
}
},
"gzfs.ZPoolStatusScanStats": {
"type": "object",
"properties": {
"bytes_per_scan": {
"type": "string"
},
"end_time": {
"type": "string"
},
"errors": {
"type": "string"
},
"examined": {
"type": "string"
},
"function": {
"type": "string"
},
"issued": {
"type": "string"
},
"issued_bytes_per_scan": {
"type": "string"
},
"pass_start": {
"type": "string"
},
"processed": {
"type": "string"
},
"scrub_pause": {
"type": "string"
},
"scrub_spent_paused": {
"type": "string"
},
"skipped": {
"type": "string"
},
"start_time": {
"type": "string"
},
"state": {
"type": "string"
},
"to_examine": {
"type": "string"
}
}
},
"gzfs.ZPoolStatusVDEV": {
"type": "object",
"properties": {
"alloc_space": {
"type": "string"
},
"checksum_errors": {
"type": "string"
},
"class": {
"type": "string"
},
"def_space": {
"type": "string"
},
"guid": {
"type": "string"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"read_errors": {
"type": "string"
},
"rep_dev_size": {
"type": "string"
},
"state": {
"type": "string"
},
"total_space": {
"type": "string"
},
"vdev_type": {
"type": "string"
},
"vdevs": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZPoolStatusVDEV"
}
},
"write_errors": {
"type": "string"
}
}
},
"gzfs.ZPoolVDEV": {
"type": "object",
"properties": {
"allocated": {
"type": "integer"
},
"class": {
"type": "string"
},
"fragmentation": {
"type": "number"
},
"free": {
"type": "integer"
},
"guid": {
"type": "string"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"phys_path": {
"type": "string"
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZFSProperty"
}
},
"size": {
"type": "integer"
},
"state": {
"type": "string"
},
"vdev_type": {
"type": "string"
},
"vdevs": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/gzfs.ZPoolVDEV"
}
}
}
},
"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",
"username"
],
"properties": {
"admin": {
"type": "boolean"
},
"auxGroupIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"disablePassword": {
"type": "boolean"
},
"doasEnabled": {
"type": "boolean"
},
"email": {
"type": "string"
},
"fullName": {
"type": "string"
},
"homeDirPerms": {
"type": "integer"
},
"homeDirectory": {
"type": "string"
},
"locked": {
"type": "boolean"
},
"newPrimaryGroup": {
"type": "boolean"
},
"password": {
"type": "string"
},
"primaryGroupId": {
"type": "integer"
},
"shell": {
"type": "string"
},
"sshPublicKey": {
"type": "string"
},
"uid": {
"type": "integer"
},
"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": {
"basicSettings": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_db_models.BasicSettings"
},
"clusterToken": {
"type": "string"
},
"hostname": {
"type": "string"
},
"nodeId": {
"type": "string"
},
"token": {
"type": "string"
}
}
},
"internal_handlers_cluster.AcceptJoinRequest": {
"type": "object",
"required": [
"clusterKey",
"nodeId",
"nodeIp",
"nodeVersion"
],
"properties": {
"clusterKey": {
"type": "string"
},
"nodeId": {
"type": "string"
},
"nodeIp": {
"type": "string"
},
"nodeVersion": {
"type": "string"
}
}
},
"internal_handlers_cluster.JoinClusterRequest": {
"type": "object",
"required": [
"clusterKey",
"leaderIp",
"nodeId",
"nodeIp"
],
"properties": {
"clusterKey": {
"type": "string"
},
"leaderIp": {
"type": "string"
},
"nodeId": {
"type": "string"
},
"nodeIp": {
"type": "string"
}
}
},
"internal_handlers_cluster.NoteRequest": {
"type": "object",
"required": [
"content",
"title"
],
"properties": {
"content": {
"type": "string",
"minLength": 3
},
"title": {
"type": "string",
"minLength": 3
}
}
},
"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.JailEditDescRequest": {
"type": "object",
"required": [
"id"
],
"properties": {
"description": {
"type": "string"
},
"id": {
"type": "integer"
}
}
},
"internal_handlers_jail.JailEditNameRequest": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
}
},
"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_jail.ModifyAdditionalOptionsRequest": {
"type": "object",
"properties": {
"additionalOptions": {
"type": "string"
}
}
},
"internal_handlers_jail.ModifyAllowedOptionsRequest": {
"type": "object",
"properties": {
"allowedOptions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"internal_handlers_jail.ModifyBootOrderRequest": {
"type": "object",
"properties": {
"bootOrder": {
"type": "integer"
},
"startAtBoot": {
"type": "boolean"
}
}
},
"internal_handlers_jail.ModifyDevFSRulesRequest": {
"type": "object",
"properties": {
"devFSRules": {
"type": "string"
}
}
},
"internal_handlers_jail.ModifyFstabRequest": {
"type": "object",
"properties": {
"fstab": {
"type": "string"
}
}
},
"internal_handlers_jail.ModifyLifecycleHooksRequest": {
"type": "object",
"properties": {
"hooks": {
"$ref": "#/definitions/github_com_alchemillahq_sylve_internal_interfaces_services_jail.Hooks"
}
}
},
"internal_handlers_jail.ModifyMetadataRequest": {
"type": "object",
"properties": {
"env": {
"type": "string"
},
"metadata": {
"type": "string"
}
}
},
"internal_handlers_jail.ModifyResolvConfRequest": {
"type": "object",
"properties": {
"resolvConf": {
"type": "string"
}
}
},
"internal_handlers_jail.ModifyWakeOnLanRequest": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"internal_handlers_jail.SetInheritanceRequest": {
"type": "object",
"properties": {
"ipv4": {
"type": "boolean"
},
"ipv6": {
"type": "boolean"
}
}
},
"internal_handlers_network.BulkDeleteNetworkObjectsRequest": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"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"
},
"guest": {
"$ref": "#/definitions/internal_handlers_samba.SambaGuestRequest"
},
"name": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/internal_handlers_samba.SambaPermissionsRequest"
},
"timeMachine": {
"type": "boolean"
},
"timeMachineMaxSize": {
"type": "integer"
}
}
},
"internal_handlers_samba.SambaConfigRequest": {
"type": "object",
"properties": {
"appleExtensions": {
"type": "boolean"
},
"bindInterfacesOnly": {
"type": "boolean"
},
"interfaces": {
"type": "string"
},
"serverString": {
"type": "string"
},
"unixCharset": {
"type": "string"
},
"workgroup": {
"type": "string"
}
}
},
"internal_handlers_samba.SambaGuestRequest": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"writeable": {
"type": "boolean"
}
}
},
"internal_handlers_samba.SambaGuestResponse": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"writeable": {
"type": "boolean"
}
}
},
"internal_handlers_samba.SambaPermissionsRequest": {
"type": "object",
"properties": {
"read": {
"$ref": "#/definitions/internal_handlers_samba.SambaPrincipalIDsRequest"
},
"write": {
"$ref": "#/definitions/internal_handlers_samba.SambaPrincipalIDsRequest"
}
}
},
"internal_handlers_samba.SambaPermissionsResponse": {
"type": "object",
"properties": {
"read": {
"$ref": "#/definitions/internal_handlers_samba.SambaPrincipalSetResponse"
},
"write": {
"$ref": "#/definitions/internal_handlers_samba.SambaPrincipalSetResponse"
}
}
},
"internal_handlers_samba.SambaPrincipalGroupResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
}
},
"internal_handlers_samba.SambaPrincipalIDsRequest": {
"type": "object",
"properties": {
"groupIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"userIds": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"internal_handlers_samba.SambaPrincipalSetResponse": {
"type": "object",
"properties": {
"groups": {
"type": "array",
"items": {
"$ref": "#/definitions/internal_handlers_samba.SambaPrincipalGroupResponse"
}
},
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/internal_handlers_samba.SambaPrincipalUserResponse"
}
}
}
},
"internal_handlers_samba.SambaPrincipalUserResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"username": {
"type": "string"
}
}
},
"internal_handlers_samba.SambaShareResponse": {
"type": "object",
"properties": {
"createMask": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"dataset": {
"type": "string"
},
"directoryMask": {
"type": "string"
},
"guest": {
"$ref": "#/definitions/internal_handlers_samba.SambaGuestResponse"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/internal_handlers_samba.SambaPermissionsResponse"
},
"timeMachine": {
"type": "boolean"
},
"timeMachineMaxSize": {
"type": "integer"
},
"updatedAt": {
"type": "string"
}
}
},
"internal_handlers_samba.UpdateSambaShareRequest": {
"type": "object",
"properties": {
"createMask": {
"type": "string"
},
"dataset": {
"type": "string"
},
"directoryMask": {
"type": "string"
},
"guest": {
"$ref": "#/definitions/internal_handlers_samba.SambaGuestRequest"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/internal_handlers_samba.SambaPermissionsRequest"
},
"timeMachine": {
"type": "boolean"
},
"timeMachineMaxSize": {
"type": "integer"
}
}
},
"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_utilities.DownloadPathsResponse": {
"type": "object",
"properties": {
"http": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"internal_handlers_vm.ModifyBootOrderRequest": {
"type": "object",
"properties": {
"bootOrder": {
"type": "integer"
},
"startAtBoot": {
"type": "boolean"
}
}
},
"internal_handlers_vm.ModifyBootROMRequest": {
"type": "object",
"properties": {
"bootRom": {
"type": "string"
}
}
},
"internal_handlers_vm.ModifyClockRequest": {
"type": "object",
"properties": {
"timeOffset": {
"type": "string"
}
}
},
"internal_handlers_vm.ModifyCloudInitDataRequest": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"metadata": {
"type": "string"
},
"networkConfig": {
"type": "string"
}
}
},
"internal_handlers_vm.ModifyExtraBhyveOptionsRequest": {
"type": "object",
"properties": {
"extraBhyveOptions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"internal_handlers_vm.ModifyIgnoreUMSRsRequest": {
"type": "object",
"properties": {
"ignoreUMSRs": {
"type": "boolean"
}
}
},
"internal_handlers_vm.ModifyPassthroughRequest": {
"type": "object",
"required": [
"pciDevices"
],
"properties": {
"pciDevices": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"internal_handlers_vm.ModifyQemuGuestAgentRequest": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"internal_handlers_vm.ModifyRAMRequest": {
"type": "object",
"required": [
"ram"
],
"properties": {
"ram": {
"type": "integer"
}
}
},
"internal_handlers_vm.ModifySerialConsoleRequest": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"internal_handlers_vm.ModifyShutdownWaitTimeRequest": {
"type": "object",
"properties": {
"waitTime": {
"type": "integer"
}
}
},
"internal_handlers_vm.ModifyTPMRequest": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"internal_handlers_vm.ModifyWakeOnLanRequest": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"internal_handlers_vm.VMEditDescRequest": {
"type": "object",
"required": [
"rid"
],
"properties": {
"description": {
"type": "string"
},
"rid": {
"type": "integer"
}
}
},
"internal_handlers_vm.VMEditNameRequest": {
"type": "object",
"required": [
"name",
"rid"
],
"properties": {
"name": {
"type": "string"
},
"rid": {
"type": "integer"
}
}
},
"internal_handlers_zfs.BulkDeleteByNameRequest": {
"type": "object",
"required": [
"names"
],
"properties": {
"names": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"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.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/gzfs.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.FlashVolumeRequest": {
"type": "object",
"required": [
"guid",
"uuid"
],
"properties": {
"guid": {
"type": "string"
},
"uuid": {
"type": "string"
}
}
},
"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/gzfs.ZPool"
}
},
"error": {
"type": "string"
},
"message": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"libvirt.DomainState": {
"type": "integer",
"format": "int32",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7
],
"x-enum-varnames": [
"DomainNostate",
"DomainRunning",
"DomainBlocked",
"DomainPaused",
"DomainShutdown",
"DomainShutoff",
"DomainCrashed",
"DomainPmsuspended"
]
},
"map_string_string": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"time.Duration": {
"type": "integer",
"format": "int64",
"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.2.3",
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)
}