Something went wrong. Try again.
My PaaS for hosting multiple elasticsearch clusters in a Kubernetes environment.
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488//go:build go1.22
// Package api provides primitives to interact with the openapi HTTP API.//// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.8.0 DO NOT EDIT.package api
import ( "errors" "fmt" "net/http"
"github.com/oapi-codegen/runtime")
// ServerInterface represents all server handlers.type ServerInterface interface { // LoginUser Authenticate user and return token // (POST /v1/auth/login) LoginUser(w http.ResponseWriter, r *http.Request) // RegisterUser Register a new user // (POST /v1/auth/register) RegisterUser(w http.ResponseWriter, r *http.Request) // ListInstances List all Elasticsearch instances // (GET /v1/elasticsearch/instances) ListInstances(w http.ResponseWriter, r *http.Request) // CreateInstance Create a new Elasticsearch instance // (POST /v1/elasticsearch/instances) CreateInstance(w http.ResponseWriter, r *http.Request) // DeleteInstance Delete an Elasticsearch instance // (DELETE /v1/elasticsearch/instances/{instanceId}) DeleteInstance(w http.ResponseWriter, r *http.Request, instanceId string) // GetInstance Get details of a specific instance // (GET /v1/elasticsearch/instances/{instanceId}) GetInstance(w http.ResponseWriter, r *http.Request, instanceId string) // GetInstanceLogs Get operation logs for a specific instance // (GET /v1/elasticsearch/instances/{instanceId}/logs) GetInstanceLogs(w http.ResponseWriter, r *http.Request, instanceId string) // SearchDocs Search documents in an index // (GET /v1/search/{instanceId}/docs) SearchDocs(w http.ResponseWriter, r *http.Request, instanceId string, params SearchDocsParams) // IndexDoc Index a text document // (POST /v1/search/{instanceId}/docs) IndexDoc(w http.ResponseWriter, r *http.Request, instanceId string) // DeleteDoc Delete a document // (DELETE /v1/search/{instanceId}/docs/{docId}) DeleteDoc(w http.ResponseWriter, r *http.Request, instanceId string, docId string, params DeleteDocParams) // ListIndices List indices in an Elasticsearch instance // (GET /v1/search/{instanceId}/indices) ListIndices(w http.ResponseWriter, r *http.Request, instanceId string)}
// ServerInterfaceWrapper converts contexts to parameters.type ServerInterfaceWrapper struct { Handler ServerInterface HandlerMiddlewares []MiddlewareFunc ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)}
type MiddlewareFunc func(http.Handler) http.Handler
// LoginUser operation middlewarefunc (siw *ServerInterfaceWrapper) LoginUser(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.LoginUser(w, r) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// RegisterUser operation middlewarefunc (siw *ServerInterfaceWrapper) RegisterUser(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.RegisterUser(w, r) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// ListInstances operation middlewarefunc (siw *ServerInterfaceWrapper) ListInstances(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListInstances(w, r) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// CreateInstance operation middlewarefunc (siw *ServerInterfaceWrapper) CreateInstance(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateInstance(w, r) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// DeleteInstance operation middlewarefunc (siw *ServerInterfaceWrapper) DeleteInstance(w http.ResponseWriter, r *http.Request) {
var err error _ = err
// ------------- Path parameter "instanceId" ------------- var instanceId string
err = runtime.BindStyledParameterWithOptions("simple", "instanceId", r.PathValue("instanceId"), &instanceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "instanceId", Err: err}) return }
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteInstance(w, r, instanceId) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// GetInstance operation middlewarefunc (siw *ServerInterfaceWrapper) GetInstance(w http.ResponseWriter, r *http.Request) {
var err error _ = err
// ------------- Path parameter "instanceId" ------------- var instanceId string
err = runtime.BindStyledParameterWithOptions("simple", "instanceId", r.PathValue("instanceId"), &instanceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "instanceId", Err: err}) return }
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetInstance(w, r, instanceId) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// GetInstanceLogs operation middlewarefunc (siw *ServerInterfaceWrapper) GetInstanceLogs(w http.ResponseWriter, r *http.Request) {
var err error _ = err
// ------------- Path parameter "instanceId" ------------- var instanceId string
err = runtime.BindStyledParameterWithOptions("simple", "instanceId", r.PathValue("instanceId"), &instanceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "instanceId", Err: err}) return }
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetInstanceLogs(w, r, instanceId) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// SearchDocs operation middlewarefunc (siw *ServerInterfaceWrapper) SearchDocs(w http.ResponseWriter, r *http.Request) {
var err error _ = err
// ------------- Path parameter "instanceId" ------------- var instanceId string
err = runtime.BindStyledParameterWithOptions("simple", "instanceId", r.PathValue("instanceId"), &instanceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "instanceId", Err: err}) return }
// Parameter object where we will unmarshal all parameters from the context var params SearchDocsParams
// ------------- Required query parameter "q" -------------
err = runtime.BindQueryParameterWithOptions("form", true, true, "q", r.URL.Query(), ¶ms.Q, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { var requiredError *runtime.RequiredParameterError if errors.As(err, &requiredError) { siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "q"}) } else { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "q", Err: err}) } return }
// ------------- Optional query parameter "index" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "index", r.URL.Query(), ¶ms.Index, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { var requiredError *runtime.RequiredParameterError if errors.As(err, &requiredError) { siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "index"}) } else { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "index", Err: err}) } return }
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.SearchDocs(w, r, instanceId, params) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// IndexDoc operation middlewarefunc (siw *ServerInterfaceWrapper) IndexDoc(w http.ResponseWriter, r *http.Request) {
var err error _ = err
// ------------- Path parameter "instanceId" ------------- var instanceId string
err = runtime.BindStyledParameterWithOptions("simple", "instanceId", r.PathValue("instanceId"), &instanceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "instanceId", Err: err}) return }
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.IndexDoc(w, r, instanceId) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// DeleteDoc operation middlewarefunc (siw *ServerInterfaceWrapper) DeleteDoc(w http.ResponseWriter, r *http.Request) {
var err error _ = err
// ------------- Path parameter "instanceId" ------------- var instanceId string
err = runtime.BindStyledParameterWithOptions("simple", "instanceId", r.PathValue("instanceId"), &instanceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "instanceId", Err: err}) return }
// ------------- Path parameter "docId" ------------- var docId string
err = runtime.BindStyledParameterWithOptions("simple", "docId", r.PathValue("docId"), &docId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "docId", Err: err}) return }
// Parameter object where we will unmarshal all parameters from the context var params DeleteDocParams
// ------------- Required query parameter "index" -------------
err = runtime.BindQueryParameterWithOptions("form", true, true, "index", r.URL.Query(), ¶ms.Index, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { var requiredError *runtime.RequiredParameterError if errors.As(err, &requiredError) { siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "index"}) } else { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "index", Err: err}) } return }
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteDoc(w, r, instanceId, docId, params) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
// ListIndices operation middlewarefunc (siw *ServerInterfaceWrapper) ListIndices(w http.ResponseWriter, r *http.Request) {
var err error _ = err
// ------------- Path parameter "instanceId" ------------- var instanceId string
err = runtime.BindStyledParameterWithOptions("simple", "instanceId", r.PathValue("instanceId"), &instanceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "instanceId", Err: err}) return }
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListIndices(w, r, instanceId) }))
for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) }
handler.ServeHTTP(w, r)}
type UnescapedCookieParamError struct { ParamName string Err error}
func (e *UnescapedCookieParamError) Error() string { return fmt.Sprintf("error unescaping cookie parameter '%s'", e.ParamName)}
func (e *UnescapedCookieParamError) Unwrap() error { return e.Err}
type UnmarshalingParamError struct { ParamName string Err error}
func (e *UnmarshalingParamError) Error() string { return fmt.Sprintf("Error unmarshaling parameter %s as JSON: %s", e.ParamName, e.Err.Error())}
func (e *UnmarshalingParamError) Unwrap() error { return e.Err}
type RequiredParamError struct { ParamName string}
func (e *RequiredParamError) Error() string { return fmt.Sprintf("Query argument %s is required, but not found", e.ParamName)}
type RequiredHeaderError struct { ParamName string Err error}
func (e *RequiredHeaderError) Error() string { return fmt.Sprintf("Header parameter %s is required, but not found", e.ParamName)}
func (e *RequiredHeaderError) Unwrap() error { return e.Err}
type InvalidParamFormatError struct { ParamName string Err error}
func (e *InvalidParamFormatError) Error() string { return fmt.Sprintf("Invalid format for parameter %s: %s", e.ParamName, e.Err.Error())}
func (e *InvalidParamFormatError) Unwrap() error { return e.Err}
type TooManyValuesForParamError struct { ParamName string Count int}
func (e *TooManyValuesForParamError) Error() string { return fmt.Sprintf("Expected one value for %s, got %d", e.ParamName, e.Count)}
// Handler creates http.Handler with routing matching OpenAPI spec.func Handler(si ServerInterface) http.Handler { return HandlerWithOptions(si, StdHTTPServerOptions{})}
// ServeMux is an abstraction of [http.ServeMux].type ServeMux interface { HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request)) http.Handler}
type StdHTTPServerOptions struct { BaseURL string BaseRouter ServeMux Middlewares []MiddlewareFunc ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)}
// HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.func HandlerFromMux(si ServerInterface, m ServeMux) http.Handler { return HandlerWithOptions(si, StdHTTPServerOptions{ BaseRouter: m, })}
func HandlerFromMuxWithBaseURL(si ServerInterface, m ServeMux, baseURL string) http.Handler { return HandlerWithOptions(si, StdHTTPServerOptions{ BaseURL: baseURL, BaseRouter: m, })}
// HandlerWithOptions creates http.Handler with additional optionsfunc HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.Handler { m := options.BaseRouter
if m == nil { m = http.NewServeMux() } if options.ErrorHandlerFunc == nil { options.ErrorHandlerFunc = func(w http.ResponseWriter, r *http.Request, err error) { http.Error(w, err.Error(), http.StatusBadRequest) } }
wrapper := ServerInterfaceWrapper{ Handler: si, HandlerMiddlewares: options.Middlewares, ErrorHandlerFunc: options.ErrorHandlerFunc, }
m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/v1/auth/register", wrapper.RegisterUser) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/v1/auth/login", wrapper.LoginUser) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/v1/elasticsearch/instances", wrapper.ListInstances) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/v1/elasticsearch/instances", wrapper.CreateInstance) m.HandleFunc(http.MethodDelete+" "+options.BaseURL+"/v1/elasticsearch/instances/{instanceId}", wrapper.DeleteInstance) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/v1/elasticsearch/instances/{instanceId}", wrapper.GetInstance) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/v1/elasticsearch/instances/{instanceId}/logs", wrapper.GetInstanceLogs) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/v1/search/{instanceId}/docs", wrapper.SearchDocs) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/v1/search/{instanceId}/docs", wrapper.IndexDoc) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/v1/search/{instanceId}/indices", wrapper.ListIndices) m.HandleFunc(http.MethodDelete+" "+options.BaseURL+"/v1/search/{instanceId}/docs/{docId}", wrapper.DeleteDoc)
return m}