bunnyshell.com/sdk@v0.16.0/api_component.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  // ComponentAPIService ComponentAPI service
    24  type ComponentAPIService service
    25  
    26  type ApiComponentListRequest struct {
    27  	ctx             context.Context
    28  	ApiService      *ComponentAPIService
    29  	page            *int32
    30  	name            *string
    31  	environment     *string
    32  	operationStatus *string
    33  	clusterStatus   *string
    34  	organization    *string
    35  	project         *string
    36  }
    37  
    38  // The collection page number
    39  func (r ApiComponentListRequest) Page(page int32) ApiComponentListRequest {
    40  	r.page = &page
    41  	return r
    42  }
    43  
    44  // Filter by name
    45  func (r ApiComponentListRequest) Name(name string) ApiComponentListRequest {
    46  	r.name = &name
    47  	return r
    48  }
    49  
    50  // Filter by environment
    51  func (r ApiComponentListRequest) Environment(environment string) ApiComponentListRequest {
    52  	r.environment = &environment
    53  	return r
    54  }
    55  
    56  // Filter by operationStatus
    57  func (r ApiComponentListRequest) OperationStatus(operationStatus string) ApiComponentListRequest {
    58  	r.operationStatus = &operationStatus
    59  	return r
    60  }
    61  
    62  // Filter by clusterStatus
    63  func (r ApiComponentListRequest) ClusterStatus(clusterStatus string) ApiComponentListRequest {
    64  	r.clusterStatus = &clusterStatus
    65  	return r
    66  }
    67  
    68  // Filter by organization
    69  func (r ApiComponentListRequest) Organization(organization string) ApiComponentListRequest {
    70  	r.organization = &organization
    71  	return r
    72  }
    73  
    74  // Filter by project
    75  func (r ApiComponentListRequest) Project(project string) ApiComponentListRequest {
    76  	r.project = &project
    77  	return r
    78  }
    79  
    80  func (r ApiComponentListRequest) Execute() (*PaginatedComponentCollection, *http.Response, error) {
    81  	return r.ApiService.ComponentListExecute(r)
    82  }
    83  
    84  /*
    85  ComponentList List service components matching any selected filters
    86  
    87  List service components matching any selected filters
    88  
    89  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    90  	@return ApiComponentListRequest
    91  */
    92  func (a *ComponentAPIService) ComponentList(ctx context.Context) ApiComponentListRequest {
    93  	return ApiComponentListRequest{
    94  		ApiService: a,
    95  		ctx:        ctx,
    96  	}
    97  }
    98  
    99  // Execute executes the request
   100  //
   101  //	@return PaginatedComponentCollection
   102  func (a *ComponentAPIService) ComponentListExecute(r ApiComponentListRequest) (*PaginatedComponentCollection, *http.Response, error) {
   103  	var (
   104  		localVarHTTPMethod  = http.MethodGet
   105  		localVarPostBody    interface{}
   106  		formFiles           []formFile
   107  		localVarReturnValue *PaginatedComponentCollection
   108  	)
   109  
   110  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ComponentAPIService.ComponentList")
   111  	if err != nil {
   112  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   113  	}
   114  
   115  	localVarPath := localBasePath + "/v1/components"
   116  
   117  	localVarHeaderParams := make(map[string]string)
   118  	localVarQueryParams := url.Values{}
   119  	localVarFormParams := url.Values{}
   120  
   121  	if r.page != nil {
   122  		parameterAddToHeaderOrQuery(localVarQueryParams, "page", r.page, "")
   123  	} else {
   124  		var defaultValue int32 = 1
   125  		r.page = &defaultValue
   126  	}
   127  	if r.name != nil {
   128  		parameterAddToHeaderOrQuery(localVarQueryParams, "name", r.name, "")
   129  	}
   130  	if r.environment != nil {
   131  		parameterAddToHeaderOrQuery(localVarQueryParams, "environment", r.environment, "")
   132  	}
   133  	if r.operationStatus != nil {
   134  		parameterAddToHeaderOrQuery(localVarQueryParams, "operationStatus", r.operationStatus, "")
   135  	}
   136  	if r.clusterStatus != nil {
   137  		parameterAddToHeaderOrQuery(localVarQueryParams, "clusterStatus", r.clusterStatus, "")
   138  	}
   139  	if r.organization != nil {
   140  		parameterAddToHeaderOrQuery(localVarQueryParams, "organization", r.organization, "")
   141  	}
   142  	if r.project != nil {
   143  		parameterAddToHeaderOrQuery(localVarQueryParams, "project", r.project, "")
   144  	}
   145  	// to determine the Content-Type header
   146  	localVarHTTPContentTypes := []string{}
   147  
   148  	// set Content-Type header
   149  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   150  	if localVarHTTPContentType != "" {
   151  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   152  	}
   153  
   154  	// to determine the Accept header
   155  	localVarHTTPHeaderAccepts := []string{"application/hal+json", "application/problem+json"}
   156  
   157  	// set Accept header
   158  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   159  	if localVarHTTPHeaderAccept != "" {
   160  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   161  	}
   162  	if r.ctx != nil {
   163  		// API Key Authentication
   164  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   165  			if apiKey, ok := auth["JWT"]; ok {
   166  				var key string
   167  				if apiKey.Prefix != "" {
   168  					key = apiKey.Prefix + " " + apiKey.Key
   169  				} else {
   170  					key = apiKey.Key
   171  				}
   172  				localVarHeaderParams["Authorization"] = key
   173  			}
   174  		}
   175  	}
   176  	if r.ctx != nil {
   177  		// API Key Authentication
   178  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   179  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   180  				var key string
   181  				if apiKey.Prefix != "" {
   182  					key = apiKey.Prefix + " " + apiKey.Key
   183  				} else {
   184  					key = apiKey.Key
   185  				}
   186  				localVarHeaderParams["X-Auth-Token"] = key
   187  			}
   188  		}
   189  	}
   190  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   191  	if err != nil {
   192  		return localVarReturnValue, nil, err
   193  	}
   194  
   195  	localVarHTTPResponse, err := a.client.callAPI(req)
   196  	if err != nil || localVarHTTPResponse == nil {
   197  		return localVarReturnValue, localVarHTTPResponse, err
   198  	}
   199  
   200  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   201  	localVarHTTPResponse.Body.Close()
   202  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   203  	if err != nil {
   204  		return localVarReturnValue, localVarHTTPResponse, err
   205  	}
   206  
   207  	if localVarHTTPResponse.StatusCode >= 300 {
   208  		newErr := &GenericOpenAPIError{
   209  			body:  localVarBody,
   210  			error: localVarHTTPResponse.Status,
   211  		}
   212  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   213  			var v ProblemGeneric
   214  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   215  			if err != nil {
   216  				newErr.error = err.Error()
   217  				return localVarReturnValue, localVarHTTPResponse, newErr
   218  			}
   219  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   220  			newErr.model = v
   221  		}
   222  		return localVarReturnValue, localVarHTTPResponse, newErr
   223  	}
   224  
   225  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   226  	if err != nil {
   227  		newErr := &GenericOpenAPIError{
   228  			body:  localVarBody,
   229  			error: err.Error(),
   230  		}
   231  		return localVarReturnValue, localVarHTTPResponse, newErr
   232  	}
   233  
   234  	return localVarReturnValue, localVarHTTPResponse, nil
   235  }
   236  
   237  type ApiComponentRemoteDevConfigRequest struct {
   238  	ctx        context.Context
   239  	ApiService *ComponentAPIService
   240  	id         string
   241  }
   242  
   243  func (r ApiComponentRemoteDevConfigRequest) Execute() (*ComponentConfigItem, *http.Response, error) {
   244  	return r.ApiService.ComponentRemoteDevConfigExecute(r)
   245  }
   246  
   247  /*
   248  ComponentRemoteDevConfig Get remote dev config
   249  
   250  Get remote dev config
   251  
   252  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   253  	@param id Resource identifier
   254  	@return ApiComponentRemoteDevConfigRequest
   255  */
   256  func (a *ComponentAPIService) ComponentRemoteDevConfig(ctx context.Context, id string) ApiComponentRemoteDevConfigRequest {
   257  	return ApiComponentRemoteDevConfigRequest{
   258  		ApiService: a,
   259  		ctx:        ctx,
   260  		id:         id,
   261  	}
   262  }
   263  
   264  // Execute executes the request
   265  //
   266  //	@return ComponentConfigItem
   267  func (a *ComponentAPIService) ComponentRemoteDevConfigExecute(r ApiComponentRemoteDevConfigRequest) (*ComponentConfigItem, *http.Response, error) {
   268  	var (
   269  		localVarHTTPMethod  = http.MethodGet
   270  		localVarPostBody    interface{}
   271  		formFiles           []formFile
   272  		localVarReturnValue *ComponentConfigItem
   273  	)
   274  
   275  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ComponentAPIService.ComponentRemoteDevConfig")
   276  	if err != nil {
   277  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   278  	}
   279  
   280  	localVarPath := localBasePath + "/v1/components/{id}/remotedev/config"
   281  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
   282  
   283  	localVarHeaderParams := make(map[string]string)
   284  	localVarQueryParams := url.Values{}
   285  	localVarFormParams := url.Values{}
   286  
   287  	// to determine the Content-Type header
   288  	localVarHTTPContentTypes := []string{}
   289  
   290  	// set Content-Type header
   291  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   292  	if localVarHTTPContentType != "" {
   293  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   294  	}
   295  
   296  	// to determine the Accept header
   297  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
   298  
   299  	// set Accept header
   300  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   301  	if localVarHTTPHeaderAccept != "" {
   302  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   303  	}
   304  	if r.ctx != nil {
   305  		// API Key Authentication
   306  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   307  			if apiKey, ok := auth["JWT"]; ok {
   308  				var key string
   309  				if apiKey.Prefix != "" {
   310  					key = apiKey.Prefix + " " + apiKey.Key
   311  				} else {
   312  					key = apiKey.Key
   313  				}
   314  				localVarHeaderParams["Authorization"] = key
   315  			}
   316  		}
   317  	}
   318  	if r.ctx != nil {
   319  		// API Key Authentication
   320  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   321  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   322  				var key string
   323  				if apiKey.Prefix != "" {
   324  					key = apiKey.Prefix + " " + apiKey.Key
   325  				} else {
   326  					key = apiKey.Key
   327  				}
   328  				localVarHeaderParams["X-Auth-Token"] = key
   329  			}
   330  		}
   331  	}
   332  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   333  	if err != nil {
   334  		return localVarReturnValue, nil, err
   335  	}
   336  
   337  	localVarHTTPResponse, err := a.client.callAPI(req)
   338  	if err != nil || localVarHTTPResponse == nil {
   339  		return localVarReturnValue, localVarHTTPResponse, err
   340  	}
   341  
   342  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   343  	localVarHTTPResponse.Body.Close()
   344  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   345  	if err != nil {
   346  		return localVarReturnValue, localVarHTTPResponse, err
   347  	}
   348  
   349  	if localVarHTTPResponse.StatusCode >= 300 {
   350  		newErr := &GenericOpenAPIError{
   351  			body:  localVarBody,
   352  			error: localVarHTTPResponse.Status,
   353  		}
   354  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   355  			var v ProblemGeneric
   356  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   357  			if err != nil {
   358  				newErr.error = err.Error()
   359  				return localVarReturnValue, localVarHTTPResponse, newErr
   360  			}
   361  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   362  			newErr.model = v
   363  		}
   364  		return localVarReturnValue, localVarHTTPResponse, newErr
   365  	}
   366  
   367  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   368  	if err != nil {
   369  		newErr := &GenericOpenAPIError{
   370  			body:  localVarBody,
   371  			error: err.Error(),
   372  		}
   373  		return localVarReturnValue, localVarHTTPResponse, newErr
   374  	}
   375  
   376  	return localVarReturnValue, localVarHTTPResponse, nil
   377  }
   378  
   379  type ApiComponentRemoteDevProfileRequest struct {
   380  	ctx        context.Context
   381  	ApiService *ComponentAPIService
   382  	id         string
   383  	body       *interface{}
   384  }
   385  
   386  // No Request Body
   387  func (r ApiComponentRemoteDevProfileRequest) Body(body interface{}) ApiComponentRemoteDevProfileRequest {
   388  	r.body = &body
   389  	return r
   390  }
   391  
   392  func (r ApiComponentRemoteDevProfileRequest) Execute() (*ComponentProfileItem, *http.Response, error) {
   393  	return r.ApiService.ComponentRemoteDevProfileExecute(r)
   394  }
   395  
   396  /*
   397  ComponentRemoteDevProfile Parse, validate and interpolate the provided remoteDevProfile
   398  
   399  Parse, validate and interpolate the provided remoteDevProfile
   400  
   401  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   402  	@param id Resource identifier
   403  	@return ApiComponentRemoteDevProfileRequest
   404  */
   405  func (a *ComponentAPIService) ComponentRemoteDevProfile(ctx context.Context, id string) ApiComponentRemoteDevProfileRequest {
   406  	return ApiComponentRemoteDevProfileRequest{
   407  		ApiService: a,
   408  		ctx:        ctx,
   409  		id:         id,
   410  	}
   411  }
   412  
   413  // Execute executes the request
   414  //
   415  //	@return ComponentProfileItem
   416  func (a *ComponentAPIService) ComponentRemoteDevProfileExecute(r ApiComponentRemoteDevProfileRequest) (*ComponentProfileItem, *http.Response, error) {
   417  	var (
   418  		localVarHTTPMethod  = http.MethodPost
   419  		localVarPostBody    interface{}
   420  		formFiles           []formFile
   421  		localVarReturnValue *ComponentProfileItem
   422  	)
   423  
   424  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ComponentAPIService.ComponentRemoteDevProfile")
   425  	if err != nil {
   426  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   427  	}
   428  
   429  	localVarPath := localBasePath + "/v1/components/{id}/remotedev/profile"
   430  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
   431  
   432  	localVarHeaderParams := make(map[string]string)
   433  	localVarQueryParams := url.Values{}
   434  	localVarFormParams := url.Values{}
   435  
   436  	// to determine the Content-Type header
   437  	localVarHTTPContentTypes := []string{"application/x+yaml"}
   438  
   439  	// set Content-Type header
   440  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   441  	if localVarHTTPContentType != "" {
   442  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   443  	}
   444  
   445  	// to determine the Accept header
   446  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
   447  
   448  	// set Accept header
   449  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   450  	if localVarHTTPHeaderAccept != "" {
   451  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   452  	}
   453  	// body params
   454  	localVarPostBody = r.body
   455  	if r.ctx != nil {
   456  		// API Key Authentication
   457  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   458  			if apiKey, ok := auth["JWT"]; ok {
   459  				var key string
   460  				if apiKey.Prefix != "" {
   461  					key = apiKey.Prefix + " " + apiKey.Key
   462  				} else {
   463  					key = apiKey.Key
   464  				}
   465  				localVarHeaderParams["Authorization"] = key
   466  			}
   467  		}
   468  	}
   469  	if r.ctx != nil {
   470  		// API Key Authentication
   471  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   472  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   473  				var key string
   474  				if apiKey.Prefix != "" {
   475  					key = apiKey.Prefix + " " + apiKey.Key
   476  				} else {
   477  					key = apiKey.Key
   478  				}
   479  				localVarHeaderParams["X-Auth-Token"] = key
   480  			}
   481  		}
   482  	}
   483  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   484  	if err != nil {
   485  		return localVarReturnValue, nil, err
   486  	}
   487  
   488  	localVarHTTPResponse, err := a.client.callAPI(req)
   489  	if err != nil || localVarHTTPResponse == nil {
   490  		return localVarReturnValue, localVarHTTPResponse, err
   491  	}
   492  
   493  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   494  	localVarHTTPResponse.Body.Close()
   495  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   496  	if err != nil {
   497  		return localVarReturnValue, localVarHTTPResponse, err
   498  	}
   499  
   500  	if localVarHTTPResponse.StatusCode >= 300 {
   501  		newErr := &GenericOpenAPIError{
   502  			body:  localVarBody,
   503  			error: localVarHTTPResponse.Status,
   504  		}
   505  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   506  			var v ProblemGeneric
   507  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   508  			if err != nil {
   509  				newErr.error = err.Error()
   510  				return localVarReturnValue, localVarHTTPResponse, newErr
   511  			}
   512  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   513  			newErr.model = v
   514  		}
   515  		return localVarReturnValue, localVarHTTPResponse, newErr
   516  	}
   517  
   518  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   519  	if err != nil {
   520  		newErr := &GenericOpenAPIError{
   521  			body:  localVarBody,
   522  			error: err.Error(),
   523  		}
   524  		return localVarReturnValue, localVarHTTPResponse, newErr
   525  	}
   526  
   527  	return localVarReturnValue, localVarHTTPResponse, nil
   528  }
   529  
   530  type ApiComponentResourcesRequest struct {
   531  	ctx        context.Context
   532  	ApiService *ComponentAPIService
   533  	id         string
   534  }
   535  
   536  func (r ApiComponentResourcesRequest) Execute() ([]ComponentResourceItem, *http.Response, error) {
   537  	return r.ApiService.ComponentResourcesExecute(r)
   538  }
   539  
   540  /*
   541  ComponentResources Get kubernetes resources
   542  
   543  Get kubernetes resources
   544  
   545  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   546  	@param id Resource identifier
   547  	@return ApiComponentResourcesRequest
   548  */
   549  func (a *ComponentAPIService) ComponentResources(ctx context.Context, id string) ApiComponentResourcesRequest {
   550  	return ApiComponentResourcesRequest{
   551  		ApiService: a,
   552  		ctx:        ctx,
   553  		id:         id,
   554  	}
   555  }
   556  
   557  // Execute executes the request
   558  //
   559  //	@return []ComponentResourceItem
   560  func (a *ComponentAPIService) ComponentResourcesExecute(r ApiComponentResourcesRequest) ([]ComponentResourceItem, *http.Response, error) {
   561  	var (
   562  		localVarHTTPMethod  = http.MethodGet
   563  		localVarPostBody    interface{}
   564  		formFiles           []formFile
   565  		localVarReturnValue []ComponentResourceItem
   566  	)
   567  
   568  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ComponentAPIService.ComponentResources")
   569  	if err != nil {
   570  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   571  	}
   572  
   573  	localVarPath := localBasePath + "/v1/components/{id}/resources"
   574  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
   575  
   576  	localVarHeaderParams := make(map[string]string)
   577  	localVarQueryParams := url.Values{}
   578  	localVarFormParams := url.Values{}
   579  
   580  	// to determine the Content-Type header
   581  	localVarHTTPContentTypes := []string{}
   582  
   583  	// set Content-Type header
   584  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   585  	if localVarHTTPContentType != "" {
   586  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   587  	}
   588  
   589  	// to determine the Accept header
   590  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
   591  
   592  	// set Accept header
   593  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   594  	if localVarHTTPHeaderAccept != "" {
   595  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   596  	}
   597  	if r.ctx != nil {
   598  		// API Key Authentication
   599  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   600  			if apiKey, ok := auth["JWT"]; ok {
   601  				var key string
   602  				if apiKey.Prefix != "" {
   603  					key = apiKey.Prefix + " " + apiKey.Key
   604  				} else {
   605  					key = apiKey.Key
   606  				}
   607  				localVarHeaderParams["Authorization"] = key
   608  			}
   609  		}
   610  	}
   611  	if r.ctx != nil {
   612  		// API Key Authentication
   613  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   614  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   615  				var key string
   616  				if apiKey.Prefix != "" {
   617  					key = apiKey.Prefix + " " + apiKey.Key
   618  				} else {
   619  					key = apiKey.Key
   620  				}
   621  				localVarHeaderParams["X-Auth-Token"] = key
   622  			}
   623  		}
   624  	}
   625  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   626  	if err != nil {
   627  		return localVarReturnValue, nil, err
   628  	}
   629  
   630  	localVarHTTPResponse, err := a.client.callAPI(req)
   631  	if err != nil || localVarHTTPResponse == nil {
   632  		return localVarReturnValue, localVarHTTPResponse, err
   633  	}
   634  
   635  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   636  	localVarHTTPResponse.Body.Close()
   637  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   638  	if err != nil {
   639  		return localVarReturnValue, localVarHTTPResponse, err
   640  	}
   641  
   642  	if localVarHTTPResponse.StatusCode >= 300 {
   643  		newErr := &GenericOpenAPIError{
   644  			body:  localVarBody,
   645  			error: localVarHTTPResponse.Status,
   646  		}
   647  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   648  			var v ProblemGeneric
   649  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   650  			if err != nil {
   651  				newErr.error = err.Error()
   652  				return localVarReturnValue, localVarHTTPResponse, newErr
   653  			}
   654  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   655  			newErr.model = v
   656  		}
   657  		return localVarReturnValue, localVarHTTPResponse, newErr
   658  	}
   659  
   660  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   661  	if err != nil {
   662  		newErr := &GenericOpenAPIError{
   663  			body:  localVarBody,
   664  			error: err.Error(),
   665  		}
   666  		return localVarReturnValue, localVarHTTPResponse, newErr
   667  	}
   668  
   669  	return localVarReturnValue, localVarHTTPResponse, nil
   670  }
   671  
   672  type ApiComponentViewRequest struct {
   673  	ctx        context.Context
   674  	ApiService *ComponentAPIService
   675  	id         string
   676  }
   677  
   678  func (r ApiComponentViewRequest) Execute() (*ComponentItem, *http.Response, error) {
   679  	return r.ApiService.ComponentViewExecute(r)
   680  }
   681  
   682  /*
   683  ComponentView View a specific service component
   684  
   685  View a specific service component
   686  
   687  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   688  	@param id Resource identifier
   689  	@return ApiComponentViewRequest
   690  */
   691  func (a *ComponentAPIService) ComponentView(ctx context.Context, id string) ApiComponentViewRequest {
   692  	return ApiComponentViewRequest{
   693  		ApiService: a,
   694  		ctx:        ctx,
   695  		id:         id,
   696  	}
   697  }
   698  
   699  // Execute executes the request
   700  //
   701  //	@return ComponentItem
   702  func (a *ComponentAPIService) ComponentViewExecute(r ApiComponentViewRequest) (*ComponentItem, *http.Response, error) {
   703  	var (
   704  		localVarHTTPMethod  = http.MethodGet
   705  		localVarPostBody    interface{}
   706  		formFiles           []formFile
   707  		localVarReturnValue *ComponentItem
   708  	)
   709  
   710  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ComponentAPIService.ComponentView")
   711  	if err != nil {
   712  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   713  	}
   714  
   715  	localVarPath := localBasePath + "/v1/components/{id}"
   716  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
   717  
   718  	localVarHeaderParams := make(map[string]string)
   719  	localVarQueryParams := url.Values{}
   720  	localVarFormParams := url.Values{}
   721  
   722  	// to determine the Content-Type header
   723  	localVarHTTPContentTypes := []string{}
   724  
   725  	// set Content-Type header
   726  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   727  	if localVarHTTPContentType != "" {
   728  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   729  	}
   730  
   731  	// to determine the Accept header
   732  	localVarHTTPHeaderAccepts := []string{"application/hal+json", "application/problem+json"}
   733  
   734  	// set Accept header
   735  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   736  	if localVarHTTPHeaderAccept != "" {
   737  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   738  	}
   739  	if r.ctx != nil {
   740  		// API Key Authentication
   741  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   742  			if apiKey, ok := auth["JWT"]; ok {
   743  				var key string
   744  				if apiKey.Prefix != "" {
   745  					key = apiKey.Prefix + " " + apiKey.Key
   746  				} else {
   747  					key = apiKey.Key
   748  				}
   749  				localVarHeaderParams["Authorization"] = key
   750  			}
   751  		}
   752  	}
   753  	if r.ctx != nil {
   754  		// API Key Authentication
   755  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   756  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   757  				var key string
   758  				if apiKey.Prefix != "" {
   759  					key = apiKey.Prefix + " " + apiKey.Key
   760  				} else {
   761  					key = apiKey.Key
   762  				}
   763  				localVarHeaderParams["X-Auth-Token"] = key
   764  			}
   765  		}
   766  	}
   767  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   768  	if err != nil {
   769  		return localVarReturnValue, nil, err
   770  	}
   771  
   772  	localVarHTTPResponse, err := a.client.callAPI(req)
   773  	if err != nil || localVarHTTPResponse == nil {
   774  		return localVarReturnValue, localVarHTTPResponse, err
   775  	}
   776  
   777  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   778  	localVarHTTPResponse.Body.Close()
   779  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   780  	if err != nil {
   781  		return localVarReturnValue, localVarHTTPResponse, err
   782  	}
   783  
   784  	if localVarHTTPResponse.StatusCode >= 300 {
   785  		newErr := &GenericOpenAPIError{
   786  			body:  localVarBody,
   787  			error: localVarHTTPResponse.Status,
   788  		}
   789  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   790  			var v ProblemGeneric
   791  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   792  			if err != nil {
   793  				newErr.error = err.Error()
   794  				return localVarReturnValue, localVarHTTPResponse, newErr
   795  			}
   796  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   797  			newErr.model = v
   798  		}
   799  		return localVarReturnValue, localVarHTTPResponse, newErr
   800  	}
   801  
   802  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   803  	if err != nil {
   804  		newErr := &GenericOpenAPIError{
   805  			body:  localVarBody,
   806  			error: err.Error(),
   807  		}
   808  		return localVarReturnValue, localVarHTTPResponse, newErr
   809  	}
   810  
   811  	return localVarReturnValue, localVarHTTPResponse, nil
   812  }