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