bunnyshell.com/sdk@v0.16.0/api_pipeline.go (about)

     1  /*
     2  API Bunnyshell Environments
     3  
     4  Interact with Bunnyshell Platform
     5  
     6  API version: 1.1.0
     7  Contact: osi+support@bunnyshell.com
     8  */
     9  
    10  // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
    11  
    12  package sdk
    13  
    14  import (
    15  	"bytes"
    16  	"context"
    17  	"io"
    18  	"net/http"
    19  	"net/url"
    20  	"strings"
    21  )
    22  
    23  // PipelineAPIService PipelineAPI service
    24  type PipelineAPIService service
    25  
    26  type ApiPipelineListRequest struct {
    27  	ctx          context.Context
    28  	ApiService   *PipelineAPIService
    29  	page         *int32
    30  	event        *string
    31  	environment  *string
    32  	organization *string
    33  	status       *string
    34  }
    35  
    36  // The collection page number
    37  func (r ApiPipelineListRequest) Page(page int32) ApiPipelineListRequest {
    38  	r.page = &page
    39  	return r
    40  }
    41  
    42  // Filter by event
    43  func (r ApiPipelineListRequest) Event(event string) ApiPipelineListRequest {
    44  	r.event = &event
    45  	return r
    46  }
    47  
    48  // Filter by environment
    49  func (r ApiPipelineListRequest) Environment(environment string) ApiPipelineListRequest {
    50  	r.environment = &environment
    51  	return r
    52  }
    53  
    54  // Filter by organization
    55  func (r ApiPipelineListRequest) Organization(organization string) ApiPipelineListRequest {
    56  	r.organization = &organization
    57  	return r
    58  }
    59  
    60  // Filter by status
    61  func (r ApiPipelineListRequest) Status(status string) ApiPipelineListRequest {
    62  	r.status = &status
    63  	return r
    64  }
    65  
    66  func (r ApiPipelineListRequest) Execute() (*PaginatedPipelineCollection, *http.Response, error) {
    67  	return r.ApiService.PipelineListExecute(r)
    68  }
    69  
    70  /*
    71  PipelineList List pipelines matching any selected filters.
    72  
    73  List pipelines matching any selected filters.
    74  
    75  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    76  	@return ApiPipelineListRequest
    77  
    78  Deprecated
    79  */
    80  func (a *PipelineAPIService) PipelineList(ctx context.Context) ApiPipelineListRequest {
    81  	return ApiPipelineListRequest{
    82  		ApiService: a,
    83  		ctx:        ctx,
    84  	}
    85  }
    86  
    87  // Execute executes the request
    88  //
    89  //	@return PaginatedPipelineCollection
    90  //
    91  // Deprecated
    92  func (a *PipelineAPIService) PipelineListExecute(r ApiPipelineListRequest) (*PaginatedPipelineCollection, *http.Response, error) {
    93  	var (
    94  		localVarHTTPMethod  = http.MethodGet
    95  		localVarPostBody    interface{}
    96  		formFiles           []formFile
    97  		localVarReturnValue *PaginatedPipelineCollection
    98  	)
    99  
   100  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "PipelineAPIService.PipelineList")
   101  	if err != nil {
   102  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   103  	}
   104  
   105  	localVarPath := localBasePath + "/v1/pipelines"
   106  
   107  	localVarHeaderParams := make(map[string]string)
   108  	localVarQueryParams := url.Values{}
   109  	localVarFormParams := url.Values{}
   110  
   111  	if r.page != nil {
   112  		parameterAddToHeaderOrQuery(localVarQueryParams, "page", r.page, "")
   113  	} else {
   114  		var defaultValue int32 = 1
   115  		r.page = &defaultValue
   116  	}
   117  	if r.event != nil {
   118  		parameterAddToHeaderOrQuery(localVarQueryParams, "event", r.event, "")
   119  	}
   120  	if r.environment != nil {
   121  		parameterAddToHeaderOrQuery(localVarQueryParams, "environment", r.environment, "")
   122  	}
   123  	if r.organization != nil {
   124  		parameterAddToHeaderOrQuery(localVarQueryParams, "organization", r.organization, "")
   125  	}
   126  	if r.status != nil {
   127  		parameterAddToHeaderOrQuery(localVarQueryParams, "status", r.status, "")
   128  	}
   129  	// to determine the Content-Type header
   130  	localVarHTTPContentTypes := []string{}
   131  
   132  	// set Content-Type header
   133  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   134  	if localVarHTTPContentType != "" {
   135  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   136  	}
   137  
   138  	// to determine the Accept header
   139  	localVarHTTPHeaderAccepts := []string{"application/hal+json", "application/problem+json"}
   140  
   141  	// set Accept header
   142  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   143  	if localVarHTTPHeaderAccept != "" {
   144  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   145  	}
   146  	if r.ctx != nil {
   147  		// API Key Authentication
   148  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   149  			if apiKey, ok := auth["JWT"]; ok {
   150  				var key string
   151  				if apiKey.Prefix != "" {
   152  					key = apiKey.Prefix + " " + apiKey.Key
   153  				} else {
   154  					key = apiKey.Key
   155  				}
   156  				localVarHeaderParams["Authorization"] = key
   157  			}
   158  		}
   159  	}
   160  	if r.ctx != nil {
   161  		// API Key Authentication
   162  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   163  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   164  				var key string
   165  				if apiKey.Prefix != "" {
   166  					key = apiKey.Prefix + " " + apiKey.Key
   167  				} else {
   168  					key = apiKey.Key
   169  				}
   170  				localVarHeaderParams["X-Auth-Token"] = key
   171  			}
   172  		}
   173  	}
   174  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   175  	if err != nil {
   176  		return localVarReturnValue, nil, err
   177  	}
   178  
   179  	localVarHTTPResponse, err := a.client.callAPI(req)
   180  	if err != nil || localVarHTTPResponse == nil {
   181  		return localVarReturnValue, localVarHTTPResponse, err
   182  	}
   183  
   184  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   185  	localVarHTTPResponse.Body.Close()
   186  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   187  	if err != nil {
   188  		return localVarReturnValue, localVarHTTPResponse, err
   189  	}
   190  
   191  	if localVarHTTPResponse.StatusCode >= 300 {
   192  		newErr := &GenericOpenAPIError{
   193  			body:  localVarBody,
   194  			error: localVarHTTPResponse.Status,
   195  		}
   196  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   197  			var v ProblemGeneric
   198  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   199  			if err != nil {
   200  				newErr.error = err.Error()
   201  				return localVarReturnValue, localVarHTTPResponse, newErr
   202  			}
   203  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   204  			newErr.model = v
   205  		}
   206  		return localVarReturnValue, localVarHTTPResponse, newErr
   207  	}
   208  
   209  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   210  	if err != nil {
   211  		newErr := &GenericOpenAPIError{
   212  			body:  localVarBody,
   213  			error: err.Error(),
   214  		}
   215  		return localVarReturnValue, localVarHTTPResponse, newErr
   216  	}
   217  
   218  	return localVarReturnValue, localVarHTTPResponse, nil
   219  }
   220  
   221  type ApiPipelineViewRequest struct {
   222  	ctx        context.Context
   223  	ApiService *PipelineAPIService
   224  	id         string
   225  }
   226  
   227  func (r ApiPipelineViewRequest) Execute() (*PipelineItem, *http.Response, error) {
   228  	return r.ApiService.PipelineViewExecute(r)
   229  }
   230  
   231  /*
   232  PipelineView View a specific Pipeline.
   233  
   234  View a specific Pipeline.
   235  
   236  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   237  	@param id Resource identifier
   238  	@return ApiPipelineViewRequest
   239  
   240  Deprecated
   241  */
   242  func (a *PipelineAPIService) PipelineView(ctx context.Context, id string) ApiPipelineViewRequest {
   243  	return ApiPipelineViewRequest{
   244  		ApiService: a,
   245  		ctx:        ctx,
   246  		id:         id,
   247  	}
   248  }
   249  
   250  // Execute executes the request
   251  //
   252  //	@return PipelineItem
   253  //
   254  // Deprecated
   255  func (a *PipelineAPIService) PipelineViewExecute(r ApiPipelineViewRequest) (*PipelineItem, *http.Response, error) {
   256  	var (
   257  		localVarHTTPMethod  = http.MethodGet
   258  		localVarPostBody    interface{}
   259  		formFiles           []formFile
   260  		localVarReturnValue *PipelineItem
   261  	)
   262  
   263  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "PipelineAPIService.PipelineView")
   264  	if err != nil {
   265  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   266  	}
   267  
   268  	localVarPath := localBasePath + "/v1/pipelines/{id}"
   269  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
   270  
   271  	localVarHeaderParams := make(map[string]string)
   272  	localVarQueryParams := url.Values{}
   273  	localVarFormParams := url.Values{}
   274  
   275  	// to determine the Content-Type header
   276  	localVarHTTPContentTypes := []string{}
   277  
   278  	// set Content-Type header
   279  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   280  	if localVarHTTPContentType != "" {
   281  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   282  	}
   283  
   284  	// to determine the Accept header
   285  	localVarHTTPHeaderAccepts := []string{"application/hal+json", "application/problem+json"}
   286  
   287  	// set Accept header
   288  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   289  	if localVarHTTPHeaderAccept != "" {
   290  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   291  	}
   292  	if r.ctx != nil {
   293  		// API Key Authentication
   294  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   295  			if apiKey, ok := auth["JWT"]; ok {
   296  				var key string
   297  				if apiKey.Prefix != "" {
   298  					key = apiKey.Prefix + " " + apiKey.Key
   299  				} else {
   300  					key = apiKey.Key
   301  				}
   302  				localVarHeaderParams["Authorization"] = key
   303  			}
   304  		}
   305  	}
   306  	if r.ctx != nil {
   307  		// API Key Authentication
   308  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   309  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   310  				var key string
   311  				if apiKey.Prefix != "" {
   312  					key = apiKey.Prefix + " " + apiKey.Key
   313  				} else {
   314  					key = apiKey.Key
   315  				}
   316  				localVarHeaderParams["X-Auth-Token"] = key
   317  			}
   318  		}
   319  	}
   320  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   321  	if err != nil {
   322  		return localVarReturnValue, nil, err
   323  	}
   324  
   325  	localVarHTTPResponse, err := a.client.callAPI(req)
   326  	if err != nil || localVarHTTPResponse == nil {
   327  		return localVarReturnValue, localVarHTTPResponse, err
   328  	}
   329  
   330  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   331  	localVarHTTPResponse.Body.Close()
   332  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   333  	if err != nil {
   334  		return localVarReturnValue, localVarHTTPResponse, err
   335  	}
   336  
   337  	if localVarHTTPResponse.StatusCode >= 300 {
   338  		newErr := &GenericOpenAPIError{
   339  			body:  localVarBody,
   340  			error: localVarHTTPResponse.Status,
   341  		}
   342  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   343  			var v ProblemGeneric
   344  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   345  			if err != nil {
   346  				newErr.error = err.Error()
   347  				return localVarReturnValue, localVarHTTPResponse, newErr
   348  			}
   349  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   350  			newErr.model = v
   351  		}
   352  		return localVarReturnValue, localVarHTTPResponse, newErr
   353  	}
   354  
   355  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   356  	if err != nil {
   357  		newErr := &GenericOpenAPIError{
   358  			body:  localVarBody,
   359  			error: err.Error(),
   360  		}
   361  		return localVarReturnValue, localVarHTTPResponse, newErr
   362  	}
   363  
   364  	return localVarReturnValue, localVarHTTPResponse, nil
   365  }