mirror of
https://github.com/AlchemillaHQ/Sylve.git
synced 2026-06-14 00:46:34 +03:00
15351 lines
524 KiB
Go
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)
|
|
}
|