Add more swagger annotations for apiserver

Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
This commit is contained in:
Mihaela Balutoiu 2023-07-18 20:34:09 +03:00
parent ddd6976115
commit 802c7527fe
4 changed files with 206 additions and 0 deletions

View file

@ -26,6 +26,20 @@ import (
"github.com/gorilla/mux"
)
// swagger:route POST /enterprises enterprises CreateEnterprise
//
// Create enterprise with the given parameters.
//
// Parameters:
// + name: Body
// description: Parameters used to create the enterprise.
// type: CreateEnterpriseParams
// in: body
// required: true
//
// Responses:
// 200: Enterprise
// default: APIErrorResponse
func (a *APIController) CreateEnterpriseHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
@ -48,6 +62,13 @@ func (a *APIController) CreateEnterpriseHandler(w http.ResponseWriter, r *http.R
}
}
// swagger:route GET /enterprises enterprises ListEnterprises
//
// List all enterprises.
//
// Responses:
// 200: Enterprises
// default: APIErrorResponse
func (a *APIController) ListEnterprisesHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
@ -64,6 +85,20 @@ func (a *APIController) ListEnterprisesHandler(w http.ResponseWriter, r *http.Re
}
}
// swagger:route GET /enterprises/{enterpriseID} enterprises GetEnterprise
//
// Get enterprise by ID.
//
// Parameters:
// + name: enterpriseID
// description: The ID of the enterprise to fetch.
// type: string
// in: path
// required: true
//
// Responses:
// 200: Enterprise
// default: APIErrorResponse
func (a *APIController) GetEnterpriseByIDHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
@ -93,6 +128,19 @@ func (a *APIController) GetEnterpriseByIDHandler(w http.ResponseWriter, r *http.
}
}
// swagger:route DELETE /enterprises/{enterpriseID} enterprises DeleteEnterprise
//
// Delete enterprise by ID.
//
// Parameters:
// + name: enterpriseID
// description: ID of the enterprise to delete.
// type: string
// in: path
// required: true
//
// Responses:
// default: APIErrorResponse
func (a *APIController) DeleteEnterpriseHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
@ -120,6 +168,25 @@ func (a *APIController) DeleteEnterpriseHandler(w http.ResponseWriter, r *http.R
}
// swagger:route PUT /enterprises/{enterpriseID} enterprises UpdateEnterprise
//
// Update enterprise with the given parameters.
//
// Parameters:
// + name: enterpriseID
// description: The ID of the enterprise to update.
// type: string
// in: path
// required: true
// + name: Body
// description: Parameters used when updating the enterprise.
// type: UpdateEntityParams
// in: body
// required: true
//
// Responses:
// 200: Enterprise
// default: APIErrorResponse
func (a *APIController) UpdateEnterpriseHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
@ -155,6 +222,26 @@ func (a *APIController) UpdateEnterpriseHandler(w http.ResponseWriter, r *http.R
}
}
// swagger:route POST /enterprises/{enterpriseID}/pools enterprises pools CreateEnterprisePool
//
// Create enterprise pool with the parameters given.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// + name: Body
// description: Parameters used when creating the enterprise pool.
// type: CreatePoolParams
// in: body
// required: true
//
// Responses:
// 200: Pool
// default: APIErrorResponse
func (a *APIController) CreateEnterprisePoolHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
@ -191,6 +278,20 @@ func (a *APIController) CreateEnterprisePoolHandler(w http.ResponseWriter, r *ht
}
}
// swagger:route GET /enterprises/{enterpriseID}/pools enterprises pools ListEnterprisePools
//
// List enterprise pools.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// Responses:
// 200: Pools
// default: APIErrorResponse
func (a *APIController) ListEnterprisePoolsHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
vars := mux.Vars(r)
@ -220,6 +321,26 @@ func (a *APIController) ListEnterprisePoolsHandler(w http.ResponseWriter, r *htt
}
// swagger:route GET /enterprises/{enterpriseID}/pools/{poolID} enterprises pools GetEnterprisePool
//
// Get enterprise pool by ID.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// + name: poolID
// description: Pool ID.
// type: string
// in: path
// required: true
//
// Responses:
// 200: Pool
// default: APIErrorResponse
func (a *APIController) GetEnterprisePoolHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
vars := mux.Vars(r)
@ -249,6 +370,25 @@ func (a *APIController) GetEnterprisePoolHandler(w http.ResponseWriter, r *http.
}
}
// swagger:route DELETE /enterprises/{enterpriseID}/pools/{poolID} enterprises pools DeleteEnterprisePool
//
// Delete enterprise pool by ID.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// + name: poolID
// description: ID of the enterprise pool to delete.
// type: string
// in: path
// required: true
//
// Responses:
// default: APIErrorResponse
func (a *APIController) DeleteEnterprisePoolHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
@ -277,6 +417,32 @@ func (a *APIController) DeleteEnterprisePoolHandler(w http.ResponseWriter, r *ht
}
// swagger:route PUT /enterprises/{enterpriseID}/pools/{poolID} enterprises pools UpdateEnterprisePool
//
// Update enterprise pool with the parameters given.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// + name: poolID
// description: ID of the enterprise pool to update.
// type: string
// in: path
// required: true
//
// + name: Body
// description: Parameters used when updating the enterprise pool.
// type: UpdatePoolParams
// in: body
// required: true
//
// Responses:
// 200: Pool
// default: APIErrorResponse
func (a *APIController) UpdateEnterprisePoolHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()

View file

@ -232,6 +232,20 @@ func (a *APIController) ListOrgInstancesHandler(w http.ResponseWriter, r *http.R
}
}
// swagger:route GET /enterprises/{enterpriseID}/instances enterprises instances ListEnterpriseInstances
//
// List enterprise instances.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// Responses:
// 200: Instances
// default: APIErrorResponse
func (a *APIController) ListEnterpriseInstancesHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
vars := mux.Vars(r)

View file

@ -155,6 +155,29 @@ definitions:
import:
package: github.com/cloudbase/garm/params
alias: garm_params
Enterprises:
type: array
x-go-type:
type: Enterprises
import:
package: github.com/cloudbase/garm/params
alias: garm_params
items:
$ref: '#/definitions/Enterprise'
Enterprise:
type: object
x-go-type:
type: Enterprise
import:
package: github.com/cloudbase/garm/params
alias: garm_params
CreateEnterpriseParams:
type: object
x-go-type:
type: CreateEnterpriseParams
import:
package: github.com/cloudbase/garm/params
alias: garm_params
UpdateEntityParams:
type: object
x-go-type:

View file

@ -371,6 +371,9 @@ func (e Enterprise) GetID() string {
return e.ID
}
// used by swagger client generated code
type Enterprises []Enterprise
// Users holds information about a particular user
type User struct {
ID string `json:"id"`