github.com/launchdarkly/api-client-go@v5.3.0+incompatible/api_relay_proxy_configurations.go (about)

     1  
     2  /*
     3   * LaunchDarkly REST API
     4   *
     5   * Build custom integrations with the LaunchDarkly REST API
     6   *
     7   * API version: 5.3.0
     8   * Contact: support@launchdarkly.com
     9   * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
    10   */
    11  
    12  package ldapi
    13  
    14  import (
    15  	"context"
    16  	"io/ioutil"
    17  	"net/http"
    18  	"net/url"
    19  	"strings"
    20  	"fmt"
    21  	"github.com/antihax/optional"
    22  )
    23  
    24  // Linger please
    25  var (
    26  	_ context.Context
    27  )
    28  
    29  type RelayProxyConfigurationsApiService service
    30  
    31  /*
    32  RelayProxyConfigurationsApiService Delete a relay proxy configuration by ID.
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param id The relay proxy configuration ID
    35  
    36  
    37  */
    38  func (a *RelayProxyConfigurationsApiService) DeleteRelayProxyConfig(ctx context.Context, id string) (*http.Response, error) {
    39  	var (
    40  		localVarHttpMethod = strings.ToUpper("Delete")
    41  		localVarPostBody   interface{}
    42  		localVarFileName   string
    43  		localVarFileBytes  []byte
    44  		
    45  	)
    46  
    47  	// create path and map variables
    48  	localVarPath := a.client.cfg.BasePath + "/account/relay-auto-configs/{id}"
    49  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
    50  
    51  	localVarHeaderParams := make(map[string]string)
    52  	localVarQueryParams := url.Values{}
    53  	localVarFormParams := url.Values{}
    54  
    55  	// to determine the Content-Type header
    56  	localVarHttpContentTypes := []string{"application/json"}
    57  
    58  	// set Content-Type header
    59  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    60  	if localVarHttpContentType != "" {
    61  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    62  	}
    63  
    64  	// to determine the Accept header
    65  	localVarHttpHeaderAccepts := []string{"application/json"}
    66  
    67  	// set Accept header
    68  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    69  	if localVarHttpHeaderAccept != "" {
    70  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    71  	}
    72  	if ctx != nil {
    73  		// API Key Authentication
    74  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
    75  			var key string
    76  			if auth.Prefix != "" {
    77  				key = auth.Prefix + " " + auth.Key
    78  			} else {
    79  				key = auth.Key
    80  			}
    81  			localVarHeaderParams["Authorization"] = key
    82  			
    83  		}
    84  	}
    85  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
    86  	if err != nil {
    87  		return nil, err
    88  	}
    89  
    90  	localVarHttpResponse, err := a.client.callAPI(r)
    91  	if err != nil || localVarHttpResponse == nil {
    92  		return localVarHttpResponse, err
    93  	}
    94  
    95  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    96  	localVarHttpResponse.Body.Close()
    97  	if err != nil {
    98  		return localVarHttpResponse, err
    99  	}
   100  
   101  
   102  	if localVarHttpResponse.StatusCode >= 300 {
   103  		newErr := GenericSwaggerError{
   104  			body: localVarBody,
   105  			error: localVarHttpResponse.Status,
   106  		}
   107  		
   108  		return localVarHttpResponse, newErr
   109  	}
   110  
   111  	return localVarHttpResponse, nil
   112  }
   113  
   114  /*
   115  RelayProxyConfigurationsApiService Get a single relay proxy configuration by ID.
   116   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   117   * @param id The relay proxy configuration ID
   118  
   119  @return RelayProxyConfig
   120  */
   121  func (a *RelayProxyConfigurationsApiService) GetRelayProxyConfig(ctx context.Context, id string) (RelayProxyConfig, *http.Response, error) {
   122  	var (
   123  		localVarHttpMethod = strings.ToUpper("Get")
   124  		localVarPostBody   interface{}
   125  		localVarFileName   string
   126  		localVarFileBytes  []byte
   127  		localVarReturnValue RelayProxyConfig
   128  	)
   129  
   130  	// create path and map variables
   131  	localVarPath := a.client.cfg.BasePath + "/account/relay-auto-configs/{id}"
   132  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
   133  
   134  	localVarHeaderParams := make(map[string]string)
   135  	localVarQueryParams := url.Values{}
   136  	localVarFormParams := url.Values{}
   137  
   138  	// to determine the Content-Type header
   139  	localVarHttpContentTypes := []string{"application/json"}
   140  
   141  	// set Content-Type header
   142  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   143  	if localVarHttpContentType != "" {
   144  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   145  	}
   146  
   147  	// to determine the Accept header
   148  	localVarHttpHeaderAccepts := []string{"application/json"}
   149  
   150  	// set Accept header
   151  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   152  	if localVarHttpHeaderAccept != "" {
   153  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   154  	}
   155  	if ctx != nil {
   156  		// API Key Authentication
   157  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   158  			var key string
   159  			if auth.Prefix != "" {
   160  				key = auth.Prefix + " " + auth.Key
   161  			} else {
   162  				key = auth.Key
   163  			}
   164  			localVarHeaderParams["Authorization"] = key
   165  			
   166  		}
   167  	}
   168  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   169  	if err != nil {
   170  		return localVarReturnValue, nil, err
   171  	}
   172  
   173  	localVarHttpResponse, err := a.client.callAPI(r)
   174  	if err != nil || localVarHttpResponse == nil {
   175  		return localVarReturnValue, localVarHttpResponse, err
   176  	}
   177  
   178  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   179  	localVarHttpResponse.Body.Close()
   180  	if err != nil {
   181  		return localVarReturnValue, localVarHttpResponse, err
   182  	}
   183  
   184  	if localVarHttpResponse.StatusCode < 300 {
   185  		// If we succeed, return the data, otherwise pass on to decode error.
   186  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   187  		return localVarReturnValue, localVarHttpResponse, err
   188  	}
   189  
   190  	if localVarHttpResponse.StatusCode >= 300 {
   191  		newErr := GenericSwaggerError{
   192  			body: localVarBody,
   193  			error: localVarHttpResponse.Status,
   194  		}
   195  		
   196  		if localVarHttpResponse.StatusCode == 200 {
   197  			var v RelayProxyConfig
   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.model = v
   204  				return localVarReturnValue, localVarHttpResponse, newErr
   205  		}
   206  		
   207  		return localVarReturnValue, localVarHttpResponse, newErr
   208  	}
   209  
   210  	return localVarReturnValue, localVarHttpResponse, nil
   211  }
   212  
   213  /*
   214  RelayProxyConfigurationsApiService Returns a list of relay proxy configurations in the account.
   215   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   216  
   217  @return RelayProxyConfigs
   218  */
   219  func (a *RelayProxyConfigurationsApiService) GetRelayProxyConfigs(ctx context.Context) (RelayProxyConfigs, *http.Response, error) {
   220  	var (
   221  		localVarHttpMethod = strings.ToUpper("Get")
   222  		localVarPostBody   interface{}
   223  		localVarFileName   string
   224  		localVarFileBytes  []byte
   225  		localVarReturnValue RelayProxyConfigs
   226  	)
   227  
   228  	// create path and map variables
   229  	localVarPath := a.client.cfg.BasePath + "/account/relay-auto-configs"
   230  
   231  	localVarHeaderParams := make(map[string]string)
   232  	localVarQueryParams := url.Values{}
   233  	localVarFormParams := url.Values{}
   234  
   235  	// to determine the Content-Type header
   236  	localVarHttpContentTypes := []string{"application/json"}
   237  
   238  	// set Content-Type header
   239  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   240  	if localVarHttpContentType != "" {
   241  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   242  	}
   243  
   244  	// to determine the Accept header
   245  	localVarHttpHeaderAccepts := []string{"application/json"}
   246  
   247  	// set Accept header
   248  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   249  	if localVarHttpHeaderAccept != "" {
   250  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   251  	}
   252  	if ctx != nil {
   253  		// API Key Authentication
   254  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   255  			var key string
   256  			if auth.Prefix != "" {
   257  				key = auth.Prefix + " " + auth.Key
   258  			} else {
   259  				key = auth.Key
   260  			}
   261  			localVarHeaderParams["Authorization"] = key
   262  			
   263  		}
   264  	}
   265  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   266  	if err != nil {
   267  		return localVarReturnValue, nil, err
   268  	}
   269  
   270  	localVarHttpResponse, err := a.client.callAPI(r)
   271  	if err != nil || localVarHttpResponse == nil {
   272  		return localVarReturnValue, localVarHttpResponse, err
   273  	}
   274  
   275  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   276  	localVarHttpResponse.Body.Close()
   277  	if err != nil {
   278  		return localVarReturnValue, localVarHttpResponse, err
   279  	}
   280  
   281  	if localVarHttpResponse.StatusCode < 300 {
   282  		// If we succeed, return the data, otherwise pass on to decode error.
   283  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   284  		return localVarReturnValue, localVarHttpResponse, err
   285  	}
   286  
   287  	if localVarHttpResponse.StatusCode >= 300 {
   288  		newErr := GenericSwaggerError{
   289  			body: localVarBody,
   290  			error: localVarHttpResponse.Status,
   291  		}
   292  		
   293  		if localVarHttpResponse.StatusCode == 200 {
   294  			var v RelayProxyConfigs
   295  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   296  				if err != nil {
   297  					newErr.error = err.Error()
   298  					return localVarReturnValue, localVarHttpResponse, newErr
   299  				}
   300  				newErr.model = v
   301  				return localVarReturnValue, localVarHttpResponse, newErr
   302  		}
   303  		
   304  		return localVarReturnValue, localVarHttpResponse, newErr
   305  	}
   306  
   307  	return localVarReturnValue, localVarHttpResponse, nil
   308  }
   309  
   310  /*
   311  RelayProxyConfigurationsApiService Modify a relay proxy configuration by ID.
   312   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   313   * @param id The relay proxy configuration ID
   314   * @param patchDelta Requires a JSON Patch representation of the desired changes to the project. &#39;http://jsonpatch.com/&#39;
   315  
   316  @return RelayProxyConfig
   317  */
   318  func (a *RelayProxyConfigurationsApiService) PatchRelayProxyConfig(ctx context.Context, id string, patchDelta []PatchOperation) (RelayProxyConfig, *http.Response, error) {
   319  	var (
   320  		localVarHttpMethod = strings.ToUpper("Patch")
   321  		localVarPostBody   interface{}
   322  		localVarFileName   string
   323  		localVarFileBytes  []byte
   324  		localVarReturnValue RelayProxyConfig
   325  	)
   326  
   327  	// create path and map variables
   328  	localVarPath := a.client.cfg.BasePath + "/account/relay-auto-configs/{id}"
   329  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
   330  
   331  	localVarHeaderParams := make(map[string]string)
   332  	localVarQueryParams := url.Values{}
   333  	localVarFormParams := url.Values{}
   334  
   335  	// to determine the Content-Type header
   336  	localVarHttpContentTypes := []string{"application/json"}
   337  
   338  	// set Content-Type header
   339  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   340  	if localVarHttpContentType != "" {
   341  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   342  	}
   343  
   344  	// to determine the Accept header
   345  	localVarHttpHeaderAccepts := []string{"application/json"}
   346  
   347  	// set Accept header
   348  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   349  	if localVarHttpHeaderAccept != "" {
   350  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   351  	}
   352  	// body params
   353  	localVarPostBody = &patchDelta
   354  	if ctx != nil {
   355  		// API Key Authentication
   356  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   357  			var key string
   358  			if auth.Prefix != "" {
   359  				key = auth.Prefix + " " + auth.Key
   360  			} else {
   361  				key = auth.Key
   362  			}
   363  			localVarHeaderParams["Authorization"] = key
   364  			
   365  		}
   366  	}
   367  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   368  	if err != nil {
   369  		return localVarReturnValue, nil, err
   370  	}
   371  
   372  	localVarHttpResponse, err := a.client.callAPI(r)
   373  	if err != nil || localVarHttpResponse == nil {
   374  		return localVarReturnValue, localVarHttpResponse, err
   375  	}
   376  
   377  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   378  	localVarHttpResponse.Body.Close()
   379  	if err != nil {
   380  		return localVarReturnValue, localVarHttpResponse, err
   381  	}
   382  
   383  	if localVarHttpResponse.StatusCode < 300 {
   384  		// If we succeed, return the data, otherwise pass on to decode error.
   385  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   386  		return localVarReturnValue, localVarHttpResponse, err
   387  	}
   388  
   389  	if localVarHttpResponse.StatusCode >= 300 {
   390  		newErr := GenericSwaggerError{
   391  			body: localVarBody,
   392  			error: localVarHttpResponse.Status,
   393  		}
   394  		
   395  		if localVarHttpResponse.StatusCode == 200 {
   396  			var v RelayProxyConfig
   397  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   398  				if err != nil {
   399  					newErr.error = err.Error()
   400  					return localVarReturnValue, localVarHttpResponse, newErr
   401  				}
   402  				newErr.model = v
   403  				return localVarReturnValue, localVarHttpResponse, newErr
   404  		}
   405  		
   406  		return localVarReturnValue, localVarHttpResponse, newErr
   407  	}
   408  
   409  	return localVarReturnValue, localVarHttpResponse, nil
   410  }
   411  
   412  /*
   413  RelayProxyConfigurationsApiService Create a new relay proxy config.
   414   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   415   * @param relayProxyConfigBody Create a new relay proxy configuration
   416  
   417  @return RelayProxyConfig
   418  */
   419  func (a *RelayProxyConfigurationsApiService) PostRelayAutoConfig(ctx context.Context, relayProxyConfigBody RelayProxyConfigBody) (RelayProxyConfig, *http.Response, error) {
   420  	var (
   421  		localVarHttpMethod = strings.ToUpper("Post")
   422  		localVarPostBody   interface{}
   423  		localVarFileName   string
   424  		localVarFileBytes  []byte
   425  		localVarReturnValue RelayProxyConfig
   426  	)
   427  
   428  	// create path and map variables
   429  	localVarPath := a.client.cfg.BasePath + "/account/relay-auto-configs"
   430  
   431  	localVarHeaderParams := make(map[string]string)
   432  	localVarQueryParams := url.Values{}
   433  	localVarFormParams := url.Values{}
   434  
   435  	// to determine the Content-Type header
   436  	localVarHttpContentTypes := []string{"application/json"}
   437  
   438  	// set Content-Type header
   439  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   440  	if localVarHttpContentType != "" {
   441  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   442  	}
   443  
   444  	// to determine the Accept header
   445  	localVarHttpHeaderAccepts := []string{"application/json"}
   446  
   447  	// set Accept header
   448  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   449  	if localVarHttpHeaderAccept != "" {
   450  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   451  	}
   452  	// body params
   453  	localVarPostBody = &relayProxyConfigBody
   454  	if ctx != nil {
   455  		// API Key Authentication
   456  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   457  			var key string
   458  			if auth.Prefix != "" {
   459  				key = auth.Prefix + " " + auth.Key
   460  			} else {
   461  				key = auth.Key
   462  			}
   463  			localVarHeaderParams["Authorization"] = key
   464  			
   465  		}
   466  	}
   467  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   468  	if err != nil {
   469  		return localVarReturnValue, nil, err
   470  	}
   471  
   472  	localVarHttpResponse, err := a.client.callAPI(r)
   473  	if err != nil || localVarHttpResponse == nil {
   474  		return localVarReturnValue, localVarHttpResponse, err
   475  	}
   476  
   477  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   478  	localVarHttpResponse.Body.Close()
   479  	if err != nil {
   480  		return localVarReturnValue, localVarHttpResponse, err
   481  	}
   482  
   483  	if localVarHttpResponse.StatusCode < 300 {
   484  		// If we succeed, return the data, otherwise pass on to decode error.
   485  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   486  		return localVarReturnValue, localVarHttpResponse, err
   487  	}
   488  
   489  	if localVarHttpResponse.StatusCode >= 300 {
   490  		newErr := GenericSwaggerError{
   491  			body: localVarBody,
   492  			error: localVarHttpResponse.Status,
   493  		}
   494  		
   495  		if localVarHttpResponse.StatusCode == 201 {
   496  			var v RelayProxyConfig
   497  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   498  				if err != nil {
   499  					newErr.error = err.Error()
   500  					return localVarReturnValue, localVarHttpResponse, newErr
   501  				}
   502  				newErr.model = v
   503  				return localVarReturnValue, localVarHttpResponse, newErr
   504  		}
   505  		
   506  		return localVarReturnValue, localVarHttpResponse, newErr
   507  	}
   508  
   509  	return localVarReturnValue, localVarHttpResponse, nil
   510  }
   511  
   512  /*
   513  RelayProxyConfigurationsApiService Reset a relay proxy configuration&#39;s secret key with an optional expiry time for the old key.
   514   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   515   * @param id The relay proxy configuration ID
   516   * @param optional nil or *RelayProxyConfigurationsApiResetRelayProxyConfigOpts - Optional Parameters:
   517       * @param "Expiry" (optional.Int64) -  An expiration time for the old relay proxy configuration key, expressed as a Unix epoch time in milliseconds. By default, the relay proxy configuration will expire immediately
   518  
   519  @return RelayProxyConfig
   520  */
   521  
   522  type RelayProxyConfigurationsApiResetRelayProxyConfigOpts struct { 
   523  	Expiry optional.Int64
   524  }
   525  
   526  func (a *RelayProxyConfigurationsApiService) ResetRelayProxyConfig(ctx context.Context, id string, localVarOptionals *RelayProxyConfigurationsApiResetRelayProxyConfigOpts) (RelayProxyConfig, *http.Response, error) {
   527  	var (
   528  		localVarHttpMethod = strings.ToUpper("Post")
   529  		localVarPostBody   interface{}
   530  		localVarFileName   string
   531  		localVarFileBytes  []byte
   532  		localVarReturnValue RelayProxyConfig
   533  	)
   534  
   535  	// create path and map variables
   536  	localVarPath := a.client.cfg.BasePath + "/account/relay-auto-configs/{id}/reset"
   537  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
   538  
   539  	localVarHeaderParams := make(map[string]string)
   540  	localVarQueryParams := url.Values{}
   541  	localVarFormParams := url.Values{}
   542  
   543  	if localVarOptionals != nil && localVarOptionals.Expiry.IsSet() {
   544  		localVarQueryParams.Add("expiry", parameterToString(localVarOptionals.Expiry.Value(), ""))
   545  	}
   546  	// to determine the Content-Type header
   547  	localVarHttpContentTypes := []string{"application/json"}
   548  
   549  	// set Content-Type header
   550  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   551  	if localVarHttpContentType != "" {
   552  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   553  	}
   554  
   555  	// to determine the Accept header
   556  	localVarHttpHeaderAccepts := []string{"application/json"}
   557  
   558  	// set Accept header
   559  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   560  	if localVarHttpHeaderAccept != "" {
   561  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   562  	}
   563  	if ctx != nil {
   564  		// API Key Authentication
   565  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   566  			var key string
   567  			if auth.Prefix != "" {
   568  				key = auth.Prefix + " " + auth.Key
   569  			} else {
   570  				key = auth.Key
   571  			}
   572  			localVarHeaderParams["Authorization"] = key
   573  			
   574  		}
   575  	}
   576  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   577  	if err != nil {
   578  		return localVarReturnValue, nil, err
   579  	}
   580  
   581  	localVarHttpResponse, err := a.client.callAPI(r)
   582  	if err != nil || localVarHttpResponse == nil {
   583  		return localVarReturnValue, localVarHttpResponse, err
   584  	}
   585  
   586  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   587  	localVarHttpResponse.Body.Close()
   588  	if err != nil {
   589  		return localVarReturnValue, localVarHttpResponse, err
   590  	}
   591  
   592  	if localVarHttpResponse.StatusCode < 300 {
   593  		// If we succeed, return the data, otherwise pass on to decode error.
   594  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   595  		return localVarReturnValue, localVarHttpResponse, err
   596  	}
   597  
   598  	if localVarHttpResponse.StatusCode >= 300 {
   599  		newErr := GenericSwaggerError{
   600  			body: localVarBody,
   601  			error: localVarHttpResponse.Status,
   602  		}
   603  		
   604  		if localVarHttpResponse.StatusCode == 200 {
   605  			var v RelayProxyConfig
   606  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   607  				if err != nil {
   608  					newErr.error = err.Error()
   609  					return localVarReturnValue, localVarHttpResponse, newErr
   610  				}
   611  				newErr.model = v
   612  				return localVarReturnValue, localVarHttpResponse, newErr
   613  		}
   614  		
   615  		return localVarReturnValue, localVarHttpResponse, newErr
   616  	}
   617  
   618  	return localVarReturnValue, localVarHttpResponse, nil
   619  }
   620