239 lines
7.5 KiB
Go
239 lines
7.5 KiB
Go
|
/*
|
||
|
Garage Administration API v0+garage-v0.8.0
|
||
|
|
||
|
Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!*
|
||
|
|
||
|
API version: v0.8.0
|
||
|
*/
|
||
|
|
||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||
|
|
||
|
package garage
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"context"
|
||
|
"io/ioutil"
|
||
|
"net/http"
|
||
|
"net/url"
|
||
|
)
|
||
|
|
||
|
|
||
|
// NodesApiService NodesApi service
|
||
|
type NodesApiService service
|
||
|
|
||
|
type ApiAddNodeRequest struct {
|
||
|
ctx context.Context
|
||
|
ApiService *NodesApiService
|
||
|
requestBody *[]string
|
||
|
}
|
||
|
|
||
|
func (r ApiAddNodeRequest) RequestBody(requestBody []string) ApiAddNodeRequest {
|
||
|
r.requestBody = &requestBody
|
||
|
return r
|
||
|
}
|
||
|
|
||
|
func (r ApiAddNodeRequest) Execute() ([]AddNode200ResponseInner, *http.Response, error) {
|
||
|
return r.ApiService.AddNodeExecute(r)
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
AddNode Connect target node to other Garage nodes
|
||
|
|
||
|
Instructs this Garage node to connect to other Garage nodes at specified `<node_id>@<net_address>`. `node_id` is generated automatically on node start.
|
||
|
|
||
|
|
||
|
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
|
@return ApiAddNodeRequest
|
||
|
*/
|
||
|
func (a *NodesApiService) AddNode(ctx context.Context) ApiAddNodeRequest {
|
||
|
return ApiAddNodeRequest{
|
||
|
ApiService: a,
|
||
|
ctx: ctx,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Execute executes the request
|
||
|
// @return []AddNode200ResponseInner
|
||
|
func (a *NodesApiService) AddNodeExecute(r ApiAddNodeRequest) ([]AddNode200ResponseInner, *http.Response, error) {
|
||
|
var (
|
||
|
localVarHTTPMethod = http.MethodPost
|
||
|
localVarPostBody interface{}
|
||
|
formFiles []formFile
|
||
|
localVarReturnValue []AddNode200ResponseInner
|
||
|
)
|
||
|
|
||
|
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "NodesApiService.AddNode")
|
||
|
if err != nil {
|
||
|
return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
|
||
|
}
|
||
|
|
||
|
localVarPath := localBasePath + "/connect"
|
||
|
|
||
|
localVarHeaderParams := make(map[string]string)
|
||
|
localVarQueryParams := url.Values{}
|
||
|
localVarFormParams := url.Values{}
|
||
|
if r.requestBody == nil {
|
||
|
return localVarReturnValue, nil, reportError("requestBody is required and must be specified")
|
||
|
}
|
||
|
|
||
|
// to determine the Content-Type header
|
||
|
localVarHTTPContentTypes := []string{"application/json"}
|
||
|
|
||
|
// set Content-Type header
|
||
|
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
||
|
if localVarHTTPContentType != "" {
|
||
|
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
||
|
}
|
||
|
|
||
|
// to determine the Accept header
|
||
|
localVarHTTPHeaderAccepts := []string{"application/json"}
|
||
|
|
||
|
// set Accept header
|
||
|
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
||
|
if localVarHTTPHeaderAccept != "" {
|
||
|
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
||
|
}
|
||
|
// body params
|
||
|
localVarPostBody = r.requestBody
|
||
|
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
|
||
|
if err != nil {
|
||
|
return localVarReturnValue, nil, err
|
||
|
}
|
||
|
|
||
|
localVarHTTPResponse, err := a.client.callAPI(req)
|
||
|
if err != nil || localVarHTTPResponse == nil {
|
||
|
return localVarReturnValue, localVarHTTPResponse, err
|
||
|
}
|
||
|
|
||
|
localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
|
||
|
localVarHTTPResponse.Body.Close()
|
||
|
localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
|
||
|
if err != nil {
|
||
|
return localVarReturnValue, localVarHTTPResponse, err
|
||
|
}
|
||
|
|
||
|
if localVarHTTPResponse.StatusCode >= 300 {
|
||
|
newErr := &GenericOpenAPIError{
|
||
|
body: localVarBody,
|
||
|
error: localVarHTTPResponse.Status,
|
||
|
}
|
||
|
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
|
}
|
||
|
|
||
|
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
|
if err != nil {
|
||
|
newErr := &GenericOpenAPIError{
|
||
|
body: localVarBody,
|
||
|
error: err.Error(),
|
||
|
}
|
||
|
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
|
}
|
||
|
|
||
|
return localVarReturnValue, localVarHTTPResponse, nil
|
||
|
}
|
||
|
|
||
|
type ApiGetNodesRequest struct {
|
||
|
ctx context.Context
|
||
|
ApiService *NodesApiService
|
||
|
}
|
||
|
|
||
|
func (r ApiGetNodesRequest) Execute() (*GetNodes200Response, *http.Response, error) {
|
||
|
return r.ApiService.GetNodesExecute(r)
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
GetNodes Status of this node and other nodes in the cluster
|
||
|
|
||
|
Returns the cluster's current status, including:
|
||
|
- ID of the node being queried and its version of the Garage daemon
|
||
|
- Live nodes
|
||
|
- Currently configured cluster layout
|
||
|
- Staged changes to the cluster layout
|
||
|
|
||
|
|
||
|
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
|
@return ApiGetNodesRequest
|
||
|
*/
|
||
|
func (a *NodesApiService) GetNodes(ctx context.Context) ApiGetNodesRequest {
|
||
|
return ApiGetNodesRequest{
|
||
|
ApiService: a,
|
||
|
ctx: ctx,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Execute executes the request
|
||
|
// @return GetNodes200Response
|
||
|
func (a *NodesApiService) GetNodesExecute(r ApiGetNodesRequest) (*GetNodes200Response, *http.Response, error) {
|
||
|
var (
|
||
|
localVarHTTPMethod = http.MethodGet
|
||
|
localVarPostBody interface{}
|
||
|
formFiles []formFile
|
||
|
localVarReturnValue *GetNodes200Response
|
||
|
)
|
||
|
|
||
|
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "NodesApiService.GetNodes")
|
||
|
if err != nil {
|
||
|
return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
|
||
|
}
|
||
|
|
||
|
localVarPath := localBasePath + "/status"
|
||
|
|
||
|
localVarHeaderParams := make(map[string]string)
|
||
|
localVarQueryParams := url.Values{}
|
||
|
localVarFormParams := url.Values{}
|
||
|
|
||
|
// to determine the Content-Type header
|
||
|
localVarHTTPContentTypes := []string{}
|
||
|
|
||
|
// set Content-Type header
|
||
|
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
||
|
if localVarHTTPContentType != "" {
|
||
|
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
||
|
}
|
||
|
|
||
|
// to determine the Accept header
|
||
|
localVarHTTPHeaderAccepts := []string{"application/json"}
|
||
|
|
||
|
// set Accept header
|
||
|
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
||
|
if localVarHTTPHeaderAccept != "" {
|
||
|
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
||
|
}
|
||
|
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
|
||
|
if err != nil {
|
||
|
return localVarReturnValue, nil, err
|
||
|
}
|
||
|
|
||
|
localVarHTTPResponse, err := a.client.callAPI(req)
|
||
|
if err != nil || localVarHTTPResponse == nil {
|
||
|
return localVarReturnValue, localVarHTTPResponse, err
|
||
|
}
|
||
|
|
||
|
localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
|
||
|
localVarHTTPResponse.Body.Close()
|
||
|
localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
|
||
|
if err != nil {
|
||
|
return localVarReturnValue, localVarHTTPResponse, err
|
||
|
}
|
||
|
|
||
|
if localVarHTTPResponse.StatusCode >= 300 {
|
||
|
newErr := &GenericOpenAPIError{
|
||
|
body: localVarBody,
|
||
|
error: localVarHTTPResponse.Status,
|
||
|
}
|
||
|
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
|
}
|
||
|
|
||
|
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
|
if err != nil {
|
||
|
newErr := &GenericOpenAPIError{
|
||
|
body: localVarBody,
|
||
|
error: err.Error(),
|
||
|
}
|
||
|
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
|
}
|
||
|
|
||
|
return localVarReturnValue, localVarHTTPResponse, nil
|
||
|
}
|