v2

package
v0.0.0-...-25dbdef Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2026 License: MIT Imports: 43 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrAuthInfoNotAvailable is returned when the auth info is not available
	ErrAuthInfoNotAvailable = fmt.Errorf("auth info not available")
	// ErrAuthInfoSetupFailed is returned when the auth info setup failed
	ErrAuthInfoSetupFailed = fmt.Errorf("auth info setup failed")
	// ErrInternal is returned when an internal error occurs.
	// This is a generic error that should not be returned in the API, but rather logged
	ErrInternal = fmt.Errorf("internal error")
	// ErrNoAvailableGpu is returned when there are no available GPUs.
	// This is normally caused by all GPUs being leased
	ErrNoAvailableGpu = fmt.Errorf("no available GPUs")
	// ErrGpuNotAvailable is returned when the GPU is not available.
	// This is normally caused by the host being down
	ErrGpuNotAvailable = fmt.Errorf("GPU not available")
	// ErrHostNotAvailable is returned when the host is not available.
	// This is normally caused by the host being down or disabled/in maintenance
	ErrHostNotAvailable = fmt.Errorf("host not available")
	// ErrVmToLargeForHost is returned when the VM is too large for the host.
	// This is normally caused by the VM requesting more resources than the host has available
	ErrVmToLargeForHost = fmt.Errorf("VM too large for host")
	// ErrVmNotReady is returned when the VM is not ready.
	// This is normally caused by the internal CloudStack VM not being created yet
	ErrVmNotReady = fmt.Errorf("VM not ready")
	// ErrCouldNotGetGpuClaims is returned when getting gpu claims fails
	ErrCouldNotGetGpuClaims = fmt.Errorf("could not get gpu claims")
)

Functions

func CreateApiKey

func CreateApiKey(c *gin.Context)

CreateApiKey @Summary Create API key @Description Create API key @Tags User @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param userId path string true "User ID" @Param body body body.ApiKeyCreate true "API key create body" @Success 200 {object} body.ApiKeyCreated @Failure 400 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/users/{userId}/apiKeys [post]

func CreateBindingError

func CreateBindingError(err error) *body.BindingError

CreateBindingError creates a binding error from a validator error This is useful for returning a binding error from a gin handler

func CreateDeployment

func CreateDeployment(c *gin.Context)

CreateDeployment @Summary Create deployment @Description Create deployment @Tags Deployment @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param body body body.DeploymentCreate true "Deployment body" @Success 200 {object} body.DeploymentRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 403 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/deployments [post]

func CreateGpuClaim

func CreateGpuClaim(c *gin.Context)

CreateGpuClaim @Summary Create GpuClaim @Description Create GpuClaim @Tags GpuClaim @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param body body body.GpuClaimCreate true "GpuClaim body" @Success 200 {object} body.GpuClaimCreated @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 403 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuClaims [post]

func CreateGpuLease

func CreateGpuLease(c *gin.Context)

CreateGpuLease @Summary Create GPU Lease @Description Create GPU lease @Tags GpuLease @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param body body body.GpuLeaseCreate true "GPU lease" @Success 200 {object} body.GpuLeaseCreated @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuLeases [post]

func CreateResourceMigration

func CreateResourceMigration(c *gin.Context)

CreateResourceMigration @Summary Create resource migration @Description Create resource migration @Tags ResourceMigration @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param body body body.ResourceMigrationCreate true "Resource Migration Create" @Success 200 {object} body.ResourceMigrationCreated @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/resourceMigrations [post]

func CreateSnapshot

func CreateSnapshot(c *gin.Context)

CreateSnapshot @Summary Create snapshot @Description Create snapshot @Tags Snapshot @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param vmId path string true "VM ID" @Success 200 {object} body.VmSnapshotCreated @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/snapshots/{vmId} [post]

func CreateTeam

func CreateTeam(c *gin.Context)

CreateTeam @Summary Create team @Description Create team @Tags Team @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param body body body.TeamCreate true "Team" @Success 200 {object} body.TeamRead @Failure 400 {object} body.BindingError @Failure 500 {object} sys.ErrorResponse @Router /v2/teams [post]

func CreateVM

func CreateVM(c *gin.Context)

CreateVM @Summary Create VM @Description Create VM @Tags VM @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param body body body.VmCreate true "VM body" @Success 200 {object} body.VmCreated @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 403 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/vms [post]

func CreateVmAction

func CreateVmAction(c *gin.Context)

CreateVmAction @Summary Creates a new action @Description Creates a new action @Tags VmAction @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param vmId path string true "VM ID" @Param body body body.VmActionCreate true "actions body" @Success 200 {object} body.VmActionCreated @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/vmActions/{vmId} [post]

func DeleteDeployment

func DeleteDeployment(c *gin.Context)

DeleteDeployment @Summary Delete deployment @Description Delete deployment @Tags Deployment @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param deploymentId path string true "Deployment ID" @Success 200 {object} body.DeploymentCreated @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 403 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/deployments/{deploymentId} [delete]

func DeleteGpuClaim

func DeleteGpuClaim(c *gin.Context)

DeleteGpuClaim @Summary Delete GpuClaim @Description Delete GpuClaim @Tags GpuClaim @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param gpuClaimId path string true "GpuClaim ID" @Success 200 {object} body.GpuClaimCreated @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 403 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuClaims/{gpuClaimId} [delete]

func DeleteGpuLease

func DeleteGpuLease(c *gin.Context)

DeleteGpuLease @Summary Delete GPU lease @Description Delete GPU lease @Tags GpuLease @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param gpuLeaseId path string true "GPU lease ID" @Success 200 {object} body.GpuLeaseDeleted @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuLeases/{gpuLeaseId} [delete]

func DeleteNotification

func DeleteNotification(c *gin.Context)

DeleteNotification godoc @Summary Delete notification @Description Delete notification @Tags Notification @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param notificationId path string true "Notification ID" @Success 200 @Failure 400 {object} sys.ErrorResponse @Router /v2/notifications/{notificationId} [delete]

func DeleteResourceMigration

func DeleteResourceMigration(c *gin.Context)

DeleteResourceMigration @Summary Delete resource migration @Description Delete resource migration @Tags ResourceMigration @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param resourceMigrationId path string true "Resource Migration ID" @Success 204 "No Content" @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/resourceMigrations/{resourceMigrationId} [delete]

func DeleteSM

func DeleteSM(c *gin.Context)

DeleteSM @Summary Delete storage manager @Description Delete storage manager @Tags StorageManager @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param storageManagerId path string true "Storage manager ID" @Success 200 {object} body.SmDeleted @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/storageManagers/{storageManagerId} [delete]

func DeleteSnapshot

func DeleteSnapshot(c *gin.Context)

DeleteSnapshot @Summary Delete snapshot @Description Delete snapshot @Tags Snapshot @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param vmId path string true "VM ID" @Param snapshotId path string true "Snapshot ID" @Success 200 {object} body.VmSnapshotDeleted @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/vms/{vmId}/snapshot/{snapshotId} [delete]

func DeleteTeam

func DeleteTeam(c *gin.Context)

DeleteTeam @Summary Delete team @Description Delete team @Tags Team @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param teamId path string true "Team ID" @Success 204 "No Content" @Failure 400 {object} body.BindingError @Failure 500 {object} sys.ErrorResponse @Router /v2/teams/{teamId} [delete]

func DeleteVM

func DeleteVM(c *gin.Context)

DeleteVM @Summary Delete VM @Description Delete VM @Tags VM @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param vmId path string true "VM ID" @Success 200 {object} body.VmDeleted @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/vms/{vmId} [delete]

func Discover

func Discover(c *gin.Context)

Discover @Summary Discover @Description Discover @Tags Discover @Produce json @Success 200 {object} body.DiscoverRead @Failure 500 {object} sys.ErrorResponse @Router /v2/discover [get]

func DoDeploymentCommand

func DoDeploymentCommand(c *gin.Context)

DoDeploymentCommand @Summary Do command @Description Do command @Tags Deployment @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param deploymentId path string true "Deployment ID" @Param body body body.DeploymentCommand true "Command body" @Success 204 "No Content" @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 423 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/deployments/{deploymentId}/command [post]

func GetCiConfig

func GetCiConfig(c *gin.Context)

GetCiConfig @Summary Get CI config @Description Get CI config @Tags Deployment @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param deploymentId path string true "Deployment ID" @Success 200 {object} body.CiConfig @Failure 400 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/deployments/{deploymentId}/ciConfig [get]

func GetDeployment

func GetDeployment(c *gin.Context)

GetDeployment @Summary Get deployment @Description Get deployment @Tags Deployment @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param deploymentId path string true "Deployment ID" @Success 200 {object} body.DeploymentRead @Failure 400 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/deployments/{deploymentId} [get]

func GetGpuClaim

func GetGpuClaim(c *gin.Context)

GetGpuClaim @Summary Get GPU claim @Description Get GPU claim @Tags GpuClaim @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param gpuClaimId path string true "GPU claim ID" @Success 200 {object} body.GpuClaimRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 423 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuClaims/{gpuClaimId} [get]

func GetGpuGroup

func GetGpuGroup(c *gin.Context)

GetGpuGroup @Summary Get GPU group @Description Get GPU group @Tags GpuGroup @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param gpuGroupId path string true "GPU group ID" @Success 200 {object} body.GpuGroupRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 423 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuGroups/{gpuGroupId} [get]

func GetGpuLease

func GetGpuLease(c *gin.Context)

GetGpuLease @Summary Get GPU lease @Description Get GPU lease @Tags GpuLease @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param gpuLeaseId path string true "GPU lease ID" @Success 200 {object} body.GpuLeaseRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 423 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuLeases/{gpuLeaseId} [get]

func GetJob

func GetJob(c *gin.Context)

GetJob @Summary GetJob job by id @Description GetJob job by id @Tags Job @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param jobId path string true "Job ID" @Success 200 {object} body.JobRead @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/jobs/{jobId} [get]

func GetLogs

func GetLogs(c *gin.Context)

GetLogs @Summary Get logs using Server-Sent Events @Description Get logs using Server-Sent Events @Tags Deployment @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param deploymentId path string true "Deployment ID" @Success 200 {string} string @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/deployments/{deploymentId}/logs [get]

func GetNotification

func GetNotification(c *gin.Context)

GetNotification godoc @Summary Get notification @Description Get notification @Tags Notification @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param notificationId path string true "Notification ID" @Success 200 {object} body.NotificationRead @Failure 400 {object} sys.ErrorResponse @Router /v2/notifications/{notificationId} [get]

func GetResourceMigration

func GetResourceMigration(c *gin.Context)

GetResourceMigration @Summary Get resource migration @Description Get resource migration @Tags ResourceMigration @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param resourceMigrationId path string true "Resource Migration ID" @Success 200 {object} body.ResourceMigrationRead @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/resourceMigrations/{resourceMigrationId} [get]

func GetSM

func GetSM(c *gin.Context)

GetSM @Summary Get storage manager @Description Get storage manager @Tags StorageManager @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param storageManagerId path string true "Storage manager ID" @Success 200 {object} body.SmDeleted @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/storageManagers/{storageManagerId} [get]

func GetSnapshot

func GetSnapshot(c *gin.Context)

GetSnapshot @Summary Get snapshot @Description Get snapshot @Tags Snapshot @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param vmId path string true "VM ID" @Param snapshotId path string true "Snapshot ID" @Success 200 {object} body.VmSnapshotRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/vms/{vmId}/snapshot/{snapshotId} [post]

func GetTeam

func GetTeam(c *gin.Context)

GetTeam @Summary Get team @Description Get team @Tags Team @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param teamId path string true "Team ID" @Success 200 {object} body.TeamRead @Failure 400 {object} body.BindingError @Failure 500 {object} sys.ErrorResponse @Router /v2/teams/{teamId} [get]

func GetUser

func GetUser(c *gin.Context)

GetUser @Summary Get user @Description Get user @Tags User @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param userId path string true "User ID" @Param discover query bool false "Discovery mode" @Success 200 {object} body.UserRead @Failure 400 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/users/{userId} [get]

func GetVM

func GetVM(c *gin.Context)

GetVM @Summary Get VM @Description Get VM @Tags VM @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param vmId path string true "VM ID" @Success 200 {object} body.VmRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/vms/{vmId} [get]

func HandleHarborHook

func HandleHarborHook(c *gin.Context)

HandleHarborHook @Summary Handle Harbor hook @Description Handle Harbor hook @Tags Deployment @Accept json @Param Authorization header string false "Basic auth token" @Param body body body.HarborWebhook true "Harbor webhook body" @Produce json @Success 204 "No Content" @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/hooks/harbor [post]

func ListDeployments

func ListDeployments(c *gin.Context)

ListDeployments @Summary List deployments @Description List deployments @Tags Deployment @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param all query bool false "List all" @Param userId query string false "Filter by user ID" @Param shared query bool false "Include shared" @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.DeploymentRead @Failure 400 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/deployments [get]

func ListGpuClaims

func ListGpuClaims(c *gin.Context)

ListGpuClaims @Summary List GPU claims @Description List GPU claims @Tags GpuClaim @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Param detailed query bool false "Admin detailed list" @Success 200 {array} body.GpuClaimRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 423 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuClaims [get]

func ListGpuGroups

func ListGpuGroups(c *gin.Context)

ListGpuGroups @Summary List GPU groups @Description List GPU groups @Tags GpuGroup @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.GpuGroupRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 423 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuGroups [get]

func ListGpuLeases

func ListGpuLeases(c *gin.Context)

ListGpuLeases @Summary List GPU leases @Description List GPU leases @Tags GpuLease @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param all query bool false "List all" @Param vmId query string false "Filter by VM ID" @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.GpuLeaseRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 423 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuLeases [get]

func ListHosts

func ListHosts(c *gin.Context)

ListHosts @Summary List Hosts @Description List Hosts @Tags Host @Produce json @Success 200 {array} body.HostRead @Failure 500 {object} sys.ErrorResponse @Router /v2/hosts [get]

func ListJobs

func ListJobs(c *gin.Context)

ListJobs @Summary List jobs @Description List jobs @Tags Job @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param all query bool false "List all" @Param userId query string false "Filter by user ID" @Param type query string false "Filter by type" @Param status query string false "Filter by status" @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.JobRead @Router /v2/jobs [get]

func ListNotifications

func ListNotifications(c *gin.Context)

ListNotifications godoc @Summary List notifications @Description List notifications @Tags Notification @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param all query bool false "List all notifications" @Param userId query string false "Filter by user ID" @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.NotificationRead @Failure 400 {object} sys.ErrorResponse @Router /v2/notifications [get]

func ListResourceMigrations

func ListResourceMigrations(c *gin.Context)

ListResourceMigrations @Summary List resource migrations @Description List resource migrations @Tags ResourceMigration @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.ResourceMigrationRead @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/resourceMigrations [get]

func ListSMs

func ListSMs(c *gin.Context)

ListSMs @Summary Get storage manager list @Description Get storage manager list @Tags StorageManager @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param all query bool false "List all" @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.SmRead @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/storageManagers [get]storageManager

func ListSnapshots

func ListSnapshots(c *gin.Context)

ListSnapshots @Summary List snapshots @Description List snapshots @Tags Snapshot @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param vmId path string true "Filter by VM ID" @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.VmSnapshotRead @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 423 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/snapshots/{vmId} [get]

func ListSystemCapacities

func ListSystemCapacities(c *gin.Context)

ListSystemCapacities @Summary List system capacities @Description List system capacities @Tags System @Produce json @Param n query int false "n" @Success 200 {array} body.TimestampedSystemCapacities @Failure 400 {object} body.BindingError @Failure 500 {object} sys.ErrorResponse @Router /v2/systemCapacities [get]

func ListSystemStats

func ListSystemStats(c *gin.Context)

ListSystemStats @Summary List system stats @Description List system stats @Tags System @Produce json @Param n query int false "n" @Success 200 {array} body.TimestampedSystemStats @Failure 400 {object} body.BindingError @Failure 500 {object} sys.ErrorResponse @Router /v2/systemStats [get]

func ListSystemStatus

func ListSystemStatus(c *gin.Context)

ListSystemStatus @Summary List system stats @Description List system stats @Tags System @Produce json @Param n query int false "n" @Success 200 {array} body.TimestampedSystemStatus @Failure 400 {object} body.BindingError @Failure 500 {object} sys.ErrorResponse @Router /v2/systemStatus [get]

func ListTeams

func ListTeams(c *gin.Context)

ListTeams @Summary List teams @Description List teams @Tags Team @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param all query bool false "List all" @Param userId query string false "Filter by user ID" @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.TeamRead @Failure 400 {object} body.BindingError @Failure 500 {object} sys.ErrorResponse @Router /v2/teams [get]

func ListUsers

func ListUsers(c *gin.Context)

ListUsers @Summary List users @Description List users @Tags User @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param all query bool false "List all" @Param discover query bool false "Discovery mode" @Param search query string false "Search query" @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.UserRead @Failure 400 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/users [get]

func ListVMs

func ListVMs(c *gin.Context)

ListVMs @Summary List VMs @Description List VMs @Tags VM @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param all query bool false "List all" @Param userId query string false "Filter by user ID" @Param page query int false "Page number" @Param pageSize query int false "Number of items per page" @Success 200 {array} body.VmRead @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/vms [get]

func ListWorkerStatus

func ListWorkerStatus(c *gin.Context)

ListWorkerStatus @Summary List worker status @Description List of worker status @Tags Status @Produce json @Success 200 {array} body.WorkerStatusRead @Failure 400 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/workerStatus [get]

func ListZones

func ListZones(c *gin.Context)

ListZones @Summary List zones @Description List zones @Tags Zone @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Success 200 {array} body.ZoneRead @Failure 400 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/zones [get]

func MakeVmToLargeForHostErr

func MakeVmToLargeForHostErr(cpuAvailable, ramAvailable int) error

MakeVmToLargeForHostErr creates a ErrVmToLargeForHost with the available CPU and RAM

func Metrics

func Metrics(c *gin.Context)

Metrics @Summary Get metrics @Description Get metrics @Tags Metrics @Produce json @Success 200 {object} string @Failure 500 {object} sys.ErrorResponse @Router /v2/metrics [get]

func Register

func Register(c *gin.Context)

Register @Summary Register resource @Description Register resource @Tags Register @Produce json @Success 204 @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/register [get]

func UpdateDeployment

func UpdateDeployment(c *gin.Context)

UpdateDeployment @Summary Update deployment @Description Update deployment @Tags Deployment @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param deploymentId path string true "Deployment ID" @Param body body body.DeploymentUpdate true "Deployment update" @Success 200 {object} body.DeploymentUpdated @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 403 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/deployments/{deploymentId} [post]

func UpdateGpuLease

func UpdateGpuLease(c *gin.Context)

UpdateGpuLease @Summary Update GPU lease @Description Update GPU lease @Tags GpuLease @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param gpuLeaseId path string true "GPU lease ID" @Param body body body.GpuLeaseUpdate true "GPU lease" @Success 200 {object} body.GpuLeaseUpdated @Failure 400 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/gpuLeases/{gpuLeaseId} [post]

func UpdateJob

func UpdateJob(c *gin.Context)

UpdateJob @Summary Update job @Description Update job. Only allowed for admins. @Tags Job @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param jobId path string true "Job ID" @Param body body body.JobUpdate true "Job update" @Success 200 {object} body.JobRead @Router /v2/jobs/{jobId} [post]

func UpdateNotification

func UpdateNotification(c *gin.Context)

UpdateNotification godoc @Summary Update notification @Description Update notification @Tags Notification @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param notificationId path string true "Notification ID" @Param body body body.NotificationUpdate true "Notification update" @Success 200 @Failure 400 {object} sys.ErrorResponse @Router /v2/notifications/{notificationId} [post]

func UpdateResourceMigration

func UpdateResourceMigration(c *gin.Context)

UpdateResourceMigration @Summary Update resource migration @Description Update resource migration @Tags ResourceMigration @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param resourceMigrationId path string true "Resource Migration ID" @Param body body body.ResourceMigrationUpdate true "Resource Migration Update" @Success 200 {object} body.ResourceMigrationUpdated @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/resourceMigrations/{resourceMigrationId} [post]

func UpdateTeam

func UpdateTeam(c *gin.Context)

UpdateTeam godoc @Summary Update team @Description Update team @Tags Team @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param teamId path string true "Team ID" @Param body body body.TeamUpdate true "Team" @Success 200 {object} body.TeamRead @Failure 400 {object} body.BindingError @Failure 500 {object} sys.ErrorResponse @Router /v2/teams/{teamId} [post]

func UpdateUser

func UpdateUser(c *gin.Context)

UpdateUser @Summary Update user @Description Update user @Tags User @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param userId path string true "User ID" @Param body body body.UserUpdate true "User update" @Success 200 {object} body.UserRead @Failure 400 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/users/{userId} [post]

func UpdateVM

func UpdateVM(c *gin.Context)

UpdateVM @Summary Update VM @Description Update VM @Tags VM @Accept json @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Param vmId path string true "VM ID" @Param body body body.VmUpdate true "VM update" @Success 200 {object} body.VmUpdated @Failure 400 {object} sys.ErrorResponse @Failure 401 {object} sys.ErrorResponse @Failure 403 {object} sys.ErrorResponse @Failure 404 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/vms/{vmId} [post]

func VerboseListHosts

func VerboseListHosts(c *gin.Context)

VerboseListHosts @Summary List Hosts verbose @Description List Hosts verbose @Tags Host @Produce json @Security ApiKeyAuth @Security KeycloakOAuth @Success 200 {array} body.HostVerboseRead @Failure 403 {object} sys.ErrorResponse @Failure 500 {object} sys.ErrorResponse @Router /v2/hosts/verbose [get]

func WithAuth

func WithAuth(context *sys.ClientContext) (*core.AuthInfo, error)

WithAuth returns the auth info for the current request. This includes all user info necessary to perform authorization checks

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL