diff --git a/apiserver/controllers/controllers.go b/apiserver/controllers/controllers.go index 37da8f1a..a089db54 100644 --- a/apiserver/controllers/controllers.go +++ b/apiserver/controllers/controllers.go @@ -202,6 +202,13 @@ func (a *APIController) NotFoundHandler(w http.ResponseWriter, r *http.Request) } } +// swagger:route GET /metrics-token metrics-token MetricsToken +// +// Returns a JWT token that can be used to access the metrics endpoint. +// +// Responses: +// 200: JWTResponse +// 401: APIErrorResponse func (a *APIController) MetricsTokenHandler(w http.ResponseWriter, r *http.Request) { ctx := r.Context() @@ -350,6 +357,13 @@ func (a *APIController) ListProviders(w http.ResponseWriter, r *http.Request) { } } +// swagger:route GET /jobs jobs ListJobs +// +// List all jobs. +// +// Responses: +// 200: Jobs +// 400: APIErrorResponse func (a *APIController) ListAllJobs(w http.ResponseWriter, r *http.Request) { ctx := r.Context() jobs, err := a.r.ListAllJobs(ctx) diff --git a/apiserver/swagger-models.yaml b/apiserver/swagger-models.yaml index d64ce0c7..c3cddd1d 100644 --- a/apiserver/swagger-models.yaml +++ b/apiserver/swagger-models.yaml @@ -29,6 +29,22 @@ definitions: import: package: github.com/cloudbase/garm/params alias: garm_params + Jobs: + type: array + x-go-type: + type: Jobs + import: + package: github.com/cloudbase/garm/params + alias: garm_params + items: + $ref: '#/definitions/Job' + Job: + type: object + x-go-type: + type: Job + import: + package: github.com/cloudbase/garm/params + alias: garm_params Credentials: type: array x-go-type: diff --git a/params/params.go b/params/params.go index 4749c0a2..c6797fbd 100644 --- a/params/params.go +++ b/params/params.go @@ -491,3 +491,6 @@ type Job struct { CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } + +// used by swagger client generated code +type Jobs []Job