github.com/launchdarkly/api-client-go@v5.3.0+incompatible/api_customer_metrics.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 CustomerMetricsApiService service
    29  
    30  /*
    31  CustomerMetricsApiService Get events usage by event id and the feature flag key.
    32   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param envId The environment id for the flag evaluations in question.
    34   * @param flagKey The key of the flag we want metrics for.
    35  
    36  @return StreamSdkVersion
    37  */
    38  func (a *CustomerMetricsApiService) GetEvaluations(ctx context.Context, envId string, flagKey string) (StreamSdkVersion, *http.Response, error) {
    39  	var (
    40  		localVarHttpMethod = strings.ToUpper("Get")
    41  		localVarPostBody   interface{}
    42  		localVarFileName   string
    43  		localVarFileBytes  []byte
    44  		localVarReturnValue StreamSdkVersion
    45  	)
    46  
    47  	// create path and map variables
    48  	localVarPath := a.client.cfg.BasePath + "/usage/evaluations/{envId}/{flagKey}"
    49  	localVarPath = strings.Replace(localVarPath, "{"+"envId"+"}", fmt.Sprintf("%v", envId), -1)
    50  	localVarPath = strings.Replace(localVarPath, "{"+"flagKey"+"}", fmt.Sprintf("%v", flagKey), -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 localVarReturnValue, nil, err
    89  	}
    90  
    91  	localVarHttpResponse, err := a.client.callAPI(r)
    92  	if err != nil || localVarHttpResponse == nil {
    93  		return localVarReturnValue, localVarHttpResponse, err
    94  	}
    95  
    96  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    97  	localVarHttpResponse.Body.Close()
    98  	if err != nil {
    99  		return localVarReturnValue, localVarHttpResponse, err
   100  	}
   101  
   102  	if localVarHttpResponse.StatusCode < 300 {
   103  		// If we succeed, return the data, otherwise pass on to decode error.
   104  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   105  		return localVarReturnValue, localVarHttpResponse, err
   106  	}
   107  
   108  	if localVarHttpResponse.StatusCode >= 300 {
   109  		newErr := GenericSwaggerError{
   110  			body: localVarBody,
   111  			error: localVarHttpResponse.Status,
   112  		}
   113  		
   114  		if localVarHttpResponse.StatusCode == 200 {
   115  			var v StreamSdkVersion
   116  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   117  				if err != nil {
   118  					newErr.error = err.Error()
   119  					return localVarReturnValue, localVarHttpResponse, newErr
   120  				}
   121  				newErr.model = v
   122  				return localVarReturnValue, localVarHttpResponse, newErr
   123  		}
   124  		
   125  		if localVarHttpResponse.StatusCode == 403 {
   126  			var v UsageError
   127  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   128  				if err != nil {
   129  					newErr.error = err.Error()
   130  					return localVarReturnValue, localVarHttpResponse, newErr
   131  				}
   132  				newErr.model = v
   133  				return localVarReturnValue, localVarHttpResponse, newErr
   134  		}
   135  		
   136  		if localVarHttpResponse.StatusCode == 404 {
   137  			var v EvaluationUsageError
   138  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   139  				if err != nil {
   140  					newErr.error = err.Error()
   141  					return localVarReturnValue, localVarHttpResponse, newErr
   142  				}
   143  				newErr.model = v
   144  				return localVarReturnValue, localVarHttpResponse, newErr
   145  		}
   146  		
   147  		return localVarReturnValue, localVarHttpResponse, newErr
   148  	}
   149  
   150  	return localVarReturnValue, localVarHttpResponse, nil
   151  }
   152  
   153  /*
   154  CustomerMetricsApiService Get events usage by event type.
   155   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   156   * @param type_ The type of event we would like to track.
   157  
   158  @return StreamSdkVersion
   159  */
   160  func (a *CustomerMetricsApiService) GetEvent(ctx context.Context, type_ string) (StreamSdkVersion, *http.Response, error) {
   161  	var (
   162  		localVarHttpMethod = strings.ToUpper("Get")
   163  		localVarPostBody   interface{}
   164  		localVarFileName   string
   165  		localVarFileBytes  []byte
   166  		localVarReturnValue StreamSdkVersion
   167  	)
   168  
   169  	// create path and map variables
   170  	localVarPath := a.client.cfg.BasePath + "/usage/events/{type}"
   171  	localVarPath = strings.Replace(localVarPath, "{"+"type"+"}", fmt.Sprintf("%v", type_), -1)
   172  
   173  	localVarHeaderParams := make(map[string]string)
   174  	localVarQueryParams := url.Values{}
   175  	localVarFormParams := url.Values{}
   176  
   177  	// to determine the Content-Type header
   178  	localVarHttpContentTypes := []string{"application/json"}
   179  
   180  	// set Content-Type header
   181  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   182  	if localVarHttpContentType != "" {
   183  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   184  	}
   185  
   186  	// to determine the Accept header
   187  	localVarHttpHeaderAccepts := []string{"application/json"}
   188  
   189  	// set Accept header
   190  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   191  	if localVarHttpHeaderAccept != "" {
   192  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   193  	}
   194  	if ctx != nil {
   195  		// API Key Authentication
   196  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   197  			var key string
   198  			if auth.Prefix != "" {
   199  				key = auth.Prefix + " " + auth.Key
   200  			} else {
   201  				key = auth.Key
   202  			}
   203  			localVarHeaderParams["Authorization"] = key
   204  			
   205  		}
   206  	}
   207  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   208  	if err != nil {
   209  		return localVarReturnValue, nil, err
   210  	}
   211  
   212  	localVarHttpResponse, err := a.client.callAPI(r)
   213  	if err != nil || localVarHttpResponse == nil {
   214  		return localVarReturnValue, localVarHttpResponse, err
   215  	}
   216  
   217  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   218  	localVarHttpResponse.Body.Close()
   219  	if err != nil {
   220  		return localVarReturnValue, localVarHttpResponse, err
   221  	}
   222  
   223  	if localVarHttpResponse.StatusCode < 300 {
   224  		// If we succeed, return the data, otherwise pass on to decode error.
   225  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   226  		return localVarReturnValue, localVarHttpResponse, err
   227  	}
   228  
   229  	if localVarHttpResponse.StatusCode >= 300 {
   230  		newErr := GenericSwaggerError{
   231  			body: localVarBody,
   232  			error: localVarHttpResponse.Status,
   233  		}
   234  		
   235  		if localVarHttpResponse.StatusCode == 200 {
   236  			var v StreamSdkVersion
   237  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   238  				if err != nil {
   239  					newErr.error = err.Error()
   240  					return localVarReturnValue, localVarHttpResponse, newErr
   241  				}
   242  				newErr.model = v
   243  				return localVarReturnValue, localVarHttpResponse, newErr
   244  		}
   245  		
   246  		if localVarHttpResponse.StatusCode == 403 {
   247  			var v UsageError
   248  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   249  				if err != nil {
   250  					newErr.error = err.Error()
   251  					return localVarReturnValue, localVarHttpResponse, newErr
   252  				}
   253  				newErr.model = v
   254  				return localVarReturnValue, localVarHttpResponse, newErr
   255  		}
   256  		
   257  		if localVarHttpResponse.StatusCode == 404 {
   258  			var v StreamUsageError
   259  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   260  				if err != nil {
   261  					newErr.error = err.Error()
   262  					return localVarReturnValue, localVarHttpResponse, newErr
   263  				}
   264  				newErr.model = v
   265  				return localVarReturnValue, localVarHttpResponse, newErr
   266  		}
   267  		
   268  		return localVarReturnValue, localVarHttpResponse, newErr
   269  	}
   270  
   271  	return localVarReturnValue, localVarHttpResponse, nil
   272  }
   273  
   274  /*
   275  CustomerMetricsApiService Get events usage endpoints.
   276   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   277  
   278  @return Events
   279  */
   280  func (a *CustomerMetricsApiService) GetEvents(ctx context.Context) (Events, *http.Response, error) {
   281  	var (
   282  		localVarHttpMethod = strings.ToUpper("Get")
   283  		localVarPostBody   interface{}
   284  		localVarFileName   string
   285  		localVarFileBytes  []byte
   286  		localVarReturnValue Events
   287  	)
   288  
   289  	// create path and map variables
   290  	localVarPath := a.client.cfg.BasePath + "/usage/events"
   291  
   292  	localVarHeaderParams := make(map[string]string)
   293  	localVarQueryParams := url.Values{}
   294  	localVarFormParams := url.Values{}
   295  
   296  	// to determine the Content-Type header
   297  	localVarHttpContentTypes := []string{"application/json"}
   298  
   299  	// set Content-Type header
   300  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   301  	if localVarHttpContentType != "" {
   302  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   303  	}
   304  
   305  	// to determine the Accept header
   306  	localVarHttpHeaderAccepts := []string{"application/json"}
   307  
   308  	// set Accept header
   309  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   310  	if localVarHttpHeaderAccept != "" {
   311  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   312  	}
   313  	if ctx != nil {
   314  		// API Key Authentication
   315  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   316  			var key string
   317  			if auth.Prefix != "" {
   318  				key = auth.Prefix + " " + auth.Key
   319  			} else {
   320  				key = auth.Key
   321  			}
   322  			localVarHeaderParams["Authorization"] = key
   323  			
   324  		}
   325  	}
   326  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   327  	if err != nil {
   328  		return localVarReturnValue, nil, err
   329  	}
   330  
   331  	localVarHttpResponse, err := a.client.callAPI(r)
   332  	if err != nil || localVarHttpResponse == nil {
   333  		return localVarReturnValue, localVarHttpResponse, err
   334  	}
   335  
   336  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   337  	localVarHttpResponse.Body.Close()
   338  	if err != nil {
   339  		return localVarReturnValue, localVarHttpResponse, err
   340  	}
   341  
   342  	if localVarHttpResponse.StatusCode < 300 {
   343  		// If we succeed, return the data, otherwise pass on to decode error.
   344  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   345  		return localVarReturnValue, localVarHttpResponse, err
   346  	}
   347  
   348  	if localVarHttpResponse.StatusCode >= 300 {
   349  		newErr := GenericSwaggerError{
   350  			body: localVarBody,
   351  			error: localVarHttpResponse.Status,
   352  		}
   353  		
   354  		if localVarHttpResponse.StatusCode == 200 {
   355  			var v Events
   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.model = v
   362  				return localVarReturnValue, localVarHttpResponse, newErr
   363  		}
   364  		
   365  		if localVarHttpResponse.StatusCode == 403 {
   366  			var v UsageError
   367  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   368  				if err != nil {
   369  					newErr.error = err.Error()
   370  					return localVarReturnValue, localVarHttpResponse, newErr
   371  				}
   372  				newErr.model = v
   373  				return localVarReturnValue, localVarHttpResponse, newErr
   374  		}
   375  		
   376  		return localVarReturnValue, localVarHttpResponse, newErr
   377  	}
   378  
   379  	return localVarReturnValue, localVarHttpResponse, nil
   380  }
   381  
   382  /*
   383  CustomerMetricsApiService Get monthly active user data.
   384   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   385  
   386  @return Mau
   387  */
   388  func (a *CustomerMetricsApiService) GetMAU(ctx context.Context) (Mau, *http.Response, error) {
   389  	var (
   390  		localVarHttpMethod = strings.ToUpper("Get")
   391  		localVarPostBody   interface{}
   392  		localVarFileName   string
   393  		localVarFileBytes  []byte
   394  		localVarReturnValue Mau
   395  	)
   396  
   397  	// create path and map variables
   398  	localVarPath := a.client.cfg.BasePath + "/usage/mau"
   399  
   400  	localVarHeaderParams := make(map[string]string)
   401  	localVarQueryParams := url.Values{}
   402  	localVarFormParams := url.Values{}
   403  
   404  	// to determine the Content-Type header
   405  	localVarHttpContentTypes := []string{"application/json"}
   406  
   407  	// set Content-Type header
   408  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   409  	if localVarHttpContentType != "" {
   410  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   411  	}
   412  
   413  	// to determine the Accept header
   414  	localVarHttpHeaderAccepts := []string{"application/json"}
   415  
   416  	// set Accept header
   417  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   418  	if localVarHttpHeaderAccept != "" {
   419  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   420  	}
   421  	if ctx != nil {
   422  		// API Key Authentication
   423  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   424  			var key string
   425  			if auth.Prefix != "" {
   426  				key = auth.Prefix + " " + auth.Key
   427  			} else {
   428  				key = auth.Key
   429  			}
   430  			localVarHeaderParams["Authorization"] = key
   431  			
   432  		}
   433  	}
   434  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   435  	if err != nil {
   436  		return localVarReturnValue, nil, err
   437  	}
   438  
   439  	localVarHttpResponse, err := a.client.callAPI(r)
   440  	if err != nil || localVarHttpResponse == nil {
   441  		return localVarReturnValue, localVarHttpResponse, err
   442  	}
   443  
   444  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   445  	localVarHttpResponse.Body.Close()
   446  	if err != nil {
   447  		return localVarReturnValue, localVarHttpResponse, err
   448  	}
   449  
   450  	if localVarHttpResponse.StatusCode < 300 {
   451  		// If we succeed, return the data, otherwise pass on to decode error.
   452  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   453  		return localVarReturnValue, localVarHttpResponse, err
   454  	}
   455  
   456  	if localVarHttpResponse.StatusCode >= 300 {
   457  		newErr := GenericSwaggerError{
   458  			body: localVarBody,
   459  			error: localVarHttpResponse.Status,
   460  		}
   461  		
   462  		if localVarHttpResponse.StatusCode == 200 {
   463  			var v Mau
   464  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   465  				if err != nil {
   466  					newErr.error = err.Error()
   467  					return localVarReturnValue, localVarHttpResponse, newErr
   468  				}
   469  				newErr.model = v
   470  				return localVarReturnValue, localVarHttpResponse, newErr
   471  		}
   472  		
   473  		if localVarHttpResponse.StatusCode == 403 {
   474  			var v UsageError
   475  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   476  				if err != nil {
   477  					newErr.error = err.Error()
   478  					return localVarReturnValue, localVarHttpResponse, newErr
   479  				}
   480  				newErr.model = v
   481  				return localVarReturnValue, localVarHttpResponse, newErr
   482  		}
   483  		
   484  		return localVarReturnValue, localVarHttpResponse, newErr
   485  	}
   486  
   487  	return localVarReturnValue, localVarHttpResponse, nil
   488  }
   489  
   490  /*
   491  CustomerMetricsApiService Get monthly active user data by category.
   492   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   493  
   494  @return MaUbyCategory
   495  */
   496  func (a *CustomerMetricsApiService) GetMAUByCategory(ctx context.Context) (MaUbyCategory, *http.Response, error) {
   497  	var (
   498  		localVarHttpMethod = strings.ToUpper("Get")
   499  		localVarPostBody   interface{}
   500  		localVarFileName   string
   501  		localVarFileBytes  []byte
   502  		localVarReturnValue MaUbyCategory
   503  	)
   504  
   505  	// create path and map variables
   506  	localVarPath := a.client.cfg.BasePath + "/usage/mau/bycategory"
   507  
   508  	localVarHeaderParams := make(map[string]string)
   509  	localVarQueryParams := url.Values{}
   510  	localVarFormParams := url.Values{}
   511  
   512  	// to determine the Content-Type header
   513  	localVarHttpContentTypes := []string{"application/json"}
   514  
   515  	// set Content-Type header
   516  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   517  	if localVarHttpContentType != "" {
   518  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   519  	}
   520  
   521  	// to determine the Accept header
   522  	localVarHttpHeaderAccepts := []string{"application/json"}
   523  
   524  	// set Accept header
   525  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   526  	if localVarHttpHeaderAccept != "" {
   527  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   528  	}
   529  	if ctx != nil {
   530  		// API Key Authentication
   531  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   532  			var key string
   533  			if auth.Prefix != "" {
   534  				key = auth.Prefix + " " + auth.Key
   535  			} else {
   536  				key = auth.Key
   537  			}
   538  			localVarHeaderParams["Authorization"] = key
   539  			
   540  		}
   541  	}
   542  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   543  	if err != nil {
   544  		return localVarReturnValue, nil, err
   545  	}
   546  
   547  	localVarHttpResponse, err := a.client.callAPI(r)
   548  	if err != nil || localVarHttpResponse == nil {
   549  		return localVarReturnValue, localVarHttpResponse, err
   550  	}
   551  
   552  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   553  	localVarHttpResponse.Body.Close()
   554  	if err != nil {
   555  		return localVarReturnValue, localVarHttpResponse, err
   556  	}
   557  
   558  	if localVarHttpResponse.StatusCode < 300 {
   559  		// If we succeed, return the data, otherwise pass on to decode error.
   560  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   561  		return localVarReturnValue, localVarHttpResponse, err
   562  	}
   563  
   564  	if localVarHttpResponse.StatusCode >= 300 {
   565  		newErr := GenericSwaggerError{
   566  			body: localVarBody,
   567  			error: localVarHttpResponse.Status,
   568  		}
   569  		
   570  		if localVarHttpResponse.StatusCode == 200 {
   571  			var v MaUbyCategory
   572  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   573  				if err != nil {
   574  					newErr.error = err.Error()
   575  					return localVarReturnValue, localVarHttpResponse, newErr
   576  				}
   577  				newErr.model = v
   578  				return localVarReturnValue, localVarHttpResponse, newErr
   579  		}
   580  		
   581  		if localVarHttpResponse.StatusCode == 403 {
   582  			var v UsageError
   583  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   584  				if err != nil {
   585  					newErr.error = err.Error()
   586  					return localVarReturnValue, localVarHttpResponse, newErr
   587  				}
   588  				newErr.model = v
   589  				return localVarReturnValue, localVarHttpResponse, newErr
   590  		}
   591  		
   592  		return localVarReturnValue, localVarHttpResponse, newErr
   593  	}
   594  
   595  	return localVarReturnValue, localVarHttpResponse, nil
   596  }
   597  
   598  /*
   599  CustomerMetricsApiService Get a stream endpoint and return timeseries data.
   600   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   601   * @param source The source of where the stream comes from.
   602  
   603  @return Stream
   604  */
   605  func (a *CustomerMetricsApiService) GetStream(ctx context.Context, source string) (Stream, *http.Response, error) {
   606  	var (
   607  		localVarHttpMethod = strings.ToUpper("Get")
   608  		localVarPostBody   interface{}
   609  		localVarFileName   string
   610  		localVarFileBytes  []byte
   611  		localVarReturnValue Stream
   612  	)
   613  
   614  	// create path and map variables
   615  	localVarPath := a.client.cfg.BasePath + "/usage/streams/{source}"
   616  	localVarPath = strings.Replace(localVarPath, "{"+"source"+"}", fmt.Sprintf("%v", source), -1)
   617  
   618  	localVarHeaderParams := make(map[string]string)
   619  	localVarQueryParams := url.Values{}
   620  	localVarFormParams := url.Values{}
   621  
   622  	// to determine the Content-Type header
   623  	localVarHttpContentTypes := []string{"application/json"}
   624  
   625  	// set Content-Type header
   626  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   627  	if localVarHttpContentType != "" {
   628  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   629  	}
   630  
   631  	// to determine the Accept header
   632  	localVarHttpHeaderAccepts := []string{"application/json"}
   633  
   634  	// set Accept header
   635  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   636  	if localVarHttpHeaderAccept != "" {
   637  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   638  	}
   639  	if ctx != nil {
   640  		// API Key Authentication
   641  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   642  			var key string
   643  			if auth.Prefix != "" {
   644  				key = auth.Prefix + " " + auth.Key
   645  			} else {
   646  				key = auth.Key
   647  			}
   648  			localVarHeaderParams["Authorization"] = key
   649  			
   650  		}
   651  	}
   652  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   653  	if err != nil {
   654  		return localVarReturnValue, nil, err
   655  	}
   656  
   657  	localVarHttpResponse, err := a.client.callAPI(r)
   658  	if err != nil || localVarHttpResponse == nil {
   659  		return localVarReturnValue, localVarHttpResponse, err
   660  	}
   661  
   662  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   663  	localVarHttpResponse.Body.Close()
   664  	if err != nil {
   665  		return localVarReturnValue, localVarHttpResponse, err
   666  	}
   667  
   668  	if localVarHttpResponse.StatusCode < 300 {
   669  		// If we succeed, return the data, otherwise pass on to decode error.
   670  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   671  		return localVarReturnValue, localVarHttpResponse, err
   672  	}
   673  
   674  	if localVarHttpResponse.StatusCode >= 300 {
   675  		newErr := GenericSwaggerError{
   676  			body: localVarBody,
   677  			error: localVarHttpResponse.Status,
   678  		}
   679  		
   680  		if localVarHttpResponse.StatusCode == 200 {
   681  			var v Stream
   682  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   683  				if err != nil {
   684  					newErr.error = err.Error()
   685  					return localVarReturnValue, localVarHttpResponse, newErr
   686  				}
   687  				newErr.model = v
   688  				return localVarReturnValue, localVarHttpResponse, newErr
   689  		}
   690  		
   691  		if localVarHttpResponse.StatusCode == 403 {
   692  			var v UsageError
   693  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   694  				if err != nil {
   695  					newErr.error = err.Error()
   696  					return localVarReturnValue, localVarHttpResponse, newErr
   697  				}
   698  				newErr.model = v
   699  				return localVarReturnValue, localVarHttpResponse, newErr
   700  		}
   701  		
   702  		if localVarHttpResponse.StatusCode == 404 {
   703  			var v StreamUsageError
   704  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   705  				if err != nil {
   706  					newErr.error = err.Error()
   707  					return localVarReturnValue, localVarHttpResponse, newErr
   708  				}
   709  				newErr.model = v
   710  				return localVarReturnValue, localVarHttpResponse, newErr
   711  		}
   712  		
   713  		return localVarReturnValue, localVarHttpResponse, newErr
   714  	}
   715  
   716  	return localVarReturnValue, localVarHttpResponse, nil
   717  }
   718  
   719  /*
   720  CustomerMetricsApiService Get a stream timeseries data by source show sdk version metadata.
   721   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   722   * @param source The source of where the stream comes from.
   723  
   724  @return StreamBySdk
   725  */
   726  func (a *CustomerMetricsApiService) GetStreamBySDK(ctx context.Context, source string) (StreamBySdk, *http.Response, error) {
   727  	var (
   728  		localVarHttpMethod = strings.ToUpper("Get")
   729  		localVarPostBody   interface{}
   730  		localVarFileName   string
   731  		localVarFileBytes  []byte
   732  		localVarReturnValue StreamBySdk
   733  	)
   734  
   735  	// create path and map variables
   736  	localVarPath := a.client.cfg.BasePath + "/usage/streams/{source}/bysdkversion"
   737  	localVarPath = strings.Replace(localVarPath, "{"+"source"+"}", fmt.Sprintf("%v", source), -1)
   738  
   739  	localVarHeaderParams := make(map[string]string)
   740  	localVarQueryParams := url.Values{}
   741  	localVarFormParams := url.Values{}
   742  
   743  	// to determine the Content-Type header
   744  	localVarHttpContentTypes := []string{"application/json"}
   745  
   746  	// set Content-Type header
   747  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   748  	if localVarHttpContentType != "" {
   749  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   750  	}
   751  
   752  	// to determine the Accept header
   753  	localVarHttpHeaderAccepts := []string{"application/json"}
   754  
   755  	// set Accept header
   756  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   757  	if localVarHttpHeaderAccept != "" {
   758  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   759  	}
   760  	if ctx != nil {
   761  		// API Key Authentication
   762  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   763  			var key string
   764  			if auth.Prefix != "" {
   765  				key = auth.Prefix + " " + auth.Key
   766  			} else {
   767  				key = auth.Key
   768  			}
   769  			localVarHeaderParams["Authorization"] = key
   770  			
   771  		}
   772  	}
   773  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   774  	if err != nil {
   775  		return localVarReturnValue, nil, err
   776  	}
   777  
   778  	localVarHttpResponse, err := a.client.callAPI(r)
   779  	if err != nil || localVarHttpResponse == nil {
   780  		return localVarReturnValue, localVarHttpResponse, err
   781  	}
   782  
   783  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   784  	localVarHttpResponse.Body.Close()
   785  	if err != nil {
   786  		return localVarReturnValue, localVarHttpResponse, err
   787  	}
   788  
   789  	if localVarHttpResponse.StatusCode < 300 {
   790  		// If we succeed, return the data, otherwise pass on to decode error.
   791  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   792  		return localVarReturnValue, localVarHttpResponse, err
   793  	}
   794  
   795  	if localVarHttpResponse.StatusCode >= 300 {
   796  		newErr := GenericSwaggerError{
   797  			body: localVarBody,
   798  			error: localVarHttpResponse.Status,
   799  		}
   800  		
   801  		if localVarHttpResponse.StatusCode == 200 {
   802  			var v StreamBySdk
   803  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   804  				if err != nil {
   805  					newErr.error = err.Error()
   806  					return localVarReturnValue, localVarHttpResponse, newErr
   807  				}
   808  				newErr.model = v
   809  				return localVarReturnValue, localVarHttpResponse, newErr
   810  		}
   811  		
   812  		if localVarHttpResponse.StatusCode == 403 {
   813  			var v UsageError
   814  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   815  				if err != nil {
   816  					newErr.error = err.Error()
   817  					return localVarReturnValue, localVarHttpResponse, newErr
   818  				}
   819  				newErr.model = v
   820  				return localVarReturnValue, localVarHttpResponse, newErr
   821  		}
   822  		
   823  		if localVarHttpResponse.StatusCode == 404 {
   824  			var v StreamUsageError
   825  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   826  				if err != nil {
   827  					newErr.error = err.Error()
   828  					return localVarReturnValue, localVarHttpResponse, newErr
   829  				}
   830  				newErr.model = v
   831  				return localVarReturnValue, localVarHttpResponse, newErr
   832  		}
   833  		
   834  		return localVarReturnValue, localVarHttpResponse, newErr
   835  	}
   836  
   837  	return localVarReturnValue, localVarHttpResponse, nil
   838  }
   839  
   840  /*
   841  CustomerMetricsApiService Get a stream timeseries data by source and show all sdk version associated.
   842   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   843   * @param source The source of where the stream comes from.
   844  
   845  @return StreamSdkVersion
   846  */
   847  func (a *CustomerMetricsApiService) GetStreamSDKVersion(ctx context.Context, source string) (StreamSdkVersion, *http.Response, error) {
   848  	var (
   849  		localVarHttpMethod = strings.ToUpper("Get")
   850  		localVarPostBody   interface{}
   851  		localVarFileName   string
   852  		localVarFileBytes  []byte
   853  		localVarReturnValue StreamSdkVersion
   854  	)
   855  
   856  	// create path and map variables
   857  	localVarPath := a.client.cfg.BasePath + "/usage/streams/{source}/sdkversions"
   858  	localVarPath = strings.Replace(localVarPath, "{"+"source"+"}", fmt.Sprintf("%v", source), -1)
   859  
   860  	localVarHeaderParams := make(map[string]string)
   861  	localVarQueryParams := url.Values{}
   862  	localVarFormParams := url.Values{}
   863  
   864  	// to determine the Content-Type header
   865  	localVarHttpContentTypes := []string{"application/json"}
   866  
   867  	// set Content-Type header
   868  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   869  	if localVarHttpContentType != "" {
   870  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   871  	}
   872  
   873  	// to determine the Accept header
   874  	localVarHttpHeaderAccepts := []string{"application/json"}
   875  
   876  	// set Accept header
   877  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   878  	if localVarHttpHeaderAccept != "" {
   879  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   880  	}
   881  	if ctx != nil {
   882  		// API Key Authentication
   883  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   884  			var key string
   885  			if auth.Prefix != "" {
   886  				key = auth.Prefix + " " + auth.Key
   887  			} else {
   888  				key = auth.Key
   889  			}
   890  			localVarHeaderParams["Authorization"] = key
   891  			
   892  		}
   893  	}
   894  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   895  	if err != nil {
   896  		return localVarReturnValue, nil, err
   897  	}
   898  
   899  	localVarHttpResponse, err := a.client.callAPI(r)
   900  	if err != nil || localVarHttpResponse == nil {
   901  		return localVarReturnValue, localVarHttpResponse, err
   902  	}
   903  
   904  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   905  	localVarHttpResponse.Body.Close()
   906  	if err != nil {
   907  		return localVarReturnValue, localVarHttpResponse, err
   908  	}
   909  
   910  	if localVarHttpResponse.StatusCode < 300 {
   911  		// If we succeed, return the data, otherwise pass on to decode error.
   912  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   913  		return localVarReturnValue, localVarHttpResponse, err
   914  	}
   915  
   916  	if localVarHttpResponse.StatusCode >= 300 {
   917  		newErr := GenericSwaggerError{
   918  			body: localVarBody,
   919  			error: localVarHttpResponse.Status,
   920  		}
   921  		
   922  		if localVarHttpResponse.StatusCode == 200 {
   923  			var v StreamSdkVersion
   924  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   925  				if err != nil {
   926  					newErr.error = err.Error()
   927  					return localVarReturnValue, localVarHttpResponse, newErr
   928  				}
   929  				newErr.model = v
   930  				return localVarReturnValue, localVarHttpResponse, newErr
   931  		}
   932  		
   933  		if localVarHttpResponse.StatusCode == 403 {
   934  			var v UsageError
   935  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   936  				if err != nil {
   937  					newErr.error = err.Error()
   938  					return localVarReturnValue, localVarHttpResponse, newErr
   939  				}
   940  				newErr.model = v
   941  				return localVarReturnValue, localVarHttpResponse, newErr
   942  		}
   943  		
   944  		if localVarHttpResponse.StatusCode == 404 {
   945  			var v StreamUsageError
   946  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   947  				if err != nil {
   948  					newErr.error = err.Error()
   949  					return localVarReturnValue, localVarHttpResponse, newErr
   950  				}
   951  				newErr.model = v
   952  				return localVarReturnValue, localVarHttpResponse, newErr
   953  		}
   954  		
   955  		return localVarReturnValue, localVarHttpResponse, newErr
   956  	}
   957  
   958  	return localVarReturnValue, localVarHttpResponse, nil
   959  }
   960  
   961  /*
   962  CustomerMetricsApiService Returns a list of all streams.
   963   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   964  
   965  @return Streams
   966  */
   967  func (a *CustomerMetricsApiService) GetStreams(ctx context.Context) (Streams, *http.Response, error) {
   968  	var (
   969  		localVarHttpMethod = strings.ToUpper("Get")
   970  		localVarPostBody   interface{}
   971  		localVarFileName   string
   972  		localVarFileBytes  []byte
   973  		localVarReturnValue Streams
   974  	)
   975  
   976  	// create path and map variables
   977  	localVarPath := a.client.cfg.BasePath + "/usage/streams"
   978  
   979  	localVarHeaderParams := make(map[string]string)
   980  	localVarQueryParams := url.Values{}
   981  	localVarFormParams := url.Values{}
   982  
   983  	// to determine the Content-Type header
   984  	localVarHttpContentTypes := []string{"application/json"}
   985  
   986  	// set Content-Type header
   987  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   988  	if localVarHttpContentType != "" {
   989  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   990  	}
   991  
   992  	// to determine the Accept header
   993  	localVarHttpHeaderAccepts := []string{"application/json"}
   994  
   995  	// set Accept header
   996  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   997  	if localVarHttpHeaderAccept != "" {
   998  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   999  	}
  1000  	if ctx != nil {
  1001  		// API Key Authentication
  1002  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1003  			var key string
  1004  			if auth.Prefix != "" {
  1005  				key = auth.Prefix + " " + auth.Key
  1006  			} else {
  1007  				key = auth.Key
  1008  			}
  1009  			localVarHeaderParams["Authorization"] = key
  1010  			
  1011  		}
  1012  	}
  1013  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1014  	if err != nil {
  1015  		return localVarReturnValue, nil, err
  1016  	}
  1017  
  1018  	localVarHttpResponse, err := a.client.callAPI(r)
  1019  	if err != nil || localVarHttpResponse == nil {
  1020  		return localVarReturnValue, localVarHttpResponse, err
  1021  	}
  1022  
  1023  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1024  	localVarHttpResponse.Body.Close()
  1025  	if err != nil {
  1026  		return localVarReturnValue, localVarHttpResponse, err
  1027  	}
  1028  
  1029  	if localVarHttpResponse.StatusCode < 300 {
  1030  		// If we succeed, return the data, otherwise pass on to decode error.
  1031  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1032  		return localVarReturnValue, localVarHttpResponse, err
  1033  	}
  1034  
  1035  	if localVarHttpResponse.StatusCode >= 300 {
  1036  		newErr := GenericSwaggerError{
  1037  			body: localVarBody,
  1038  			error: localVarHttpResponse.Status,
  1039  		}
  1040  		
  1041  		if localVarHttpResponse.StatusCode == 200 {
  1042  			var v Streams
  1043  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1044  				if err != nil {
  1045  					newErr.error = err.Error()
  1046  					return localVarReturnValue, localVarHttpResponse, newErr
  1047  				}
  1048  				newErr.model = v
  1049  				return localVarReturnValue, localVarHttpResponse, newErr
  1050  		}
  1051  		
  1052  		if localVarHttpResponse.StatusCode == 403 {
  1053  			var v UsageError
  1054  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1055  				if err != nil {
  1056  					newErr.error = err.Error()
  1057  					return localVarReturnValue, localVarHttpResponse, newErr
  1058  				}
  1059  				newErr.model = v
  1060  				return localVarReturnValue, localVarHttpResponse, newErr
  1061  		}
  1062  		
  1063  		return localVarReturnValue, localVarHttpResponse, newErr
  1064  	}
  1065  
  1066  	return localVarReturnValue, localVarHttpResponse, nil
  1067  }
  1068  
  1069  /*
  1070  CustomerMetricsApiService Returns of the usage endpoints available.
  1071   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1072  
  1073  @return Usage
  1074  */
  1075  func (a *CustomerMetricsApiService) GetUsage(ctx context.Context) (Usage, *http.Response, error) {
  1076  	var (
  1077  		localVarHttpMethod = strings.ToUpper("Get")
  1078  		localVarPostBody   interface{}
  1079  		localVarFileName   string
  1080  		localVarFileBytes  []byte
  1081  		localVarReturnValue Usage
  1082  	)
  1083  
  1084  	// create path and map variables
  1085  	localVarPath := a.client.cfg.BasePath + "/usage"
  1086  
  1087  	localVarHeaderParams := make(map[string]string)
  1088  	localVarQueryParams := url.Values{}
  1089  	localVarFormParams := url.Values{}
  1090  
  1091  	// to determine the Content-Type header
  1092  	localVarHttpContentTypes := []string{"application/json"}
  1093  
  1094  	// set Content-Type header
  1095  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1096  	if localVarHttpContentType != "" {
  1097  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1098  	}
  1099  
  1100  	// to determine the Accept header
  1101  	localVarHttpHeaderAccepts := []string{"application/json"}
  1102  
  1103  	// set Accept header
  1104  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1105  	if localVarHttpHeaderAccept != "" {
  1106  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1107  	}
  1108  	if ctx != nil {
  1109  		// API Key Authentication
  1110  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1111  			var key string
  1112  			if auth.Prefix != "" {
  1113  				key = auth.Prefix + " " + auth.Key
  1114  			} else {
  1115  				key = auth.Key
  1116  			}
  1117  			localVarHeaderParams["Authorization"] = key
  1118  			
  1119  		}
  1120  	}
  1121  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1122  	if err != nil {
  1123  		return localVarReturnValue, nil, err
  1124  	}
  1125  
  1126  	localVarHttpResponse, err := a.client.callAPI(r)
  1127  	if err != nil || localVarHttpResponse == nil {
  1128  		return localVarReturnValue, localVarHttpResponse, err
  1129  	}
  1130  
  1131  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1132  	localVarHttpResponse.Body.Close()
  1133  	if err != nil {
  1134  		return localVarReturnValue, localVarHttpResponse, err
  1135  	}
  1136  
  1137  	if localVarHttpResponse.StatusCode < 300 {
  1138  		// If we succeed, return the data, otherwise pass on to decode error.
  1139  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1140  		return localVarReturnValue, localVarHttpResponse, err
  1141  	}
  1142  
  1143  	if localVarHttpResponse.StatusCode >= 300 {
  1144  		newErr := GenericSwaggerError{
  1145  			body: localVarBody,
  1146  			error: localVarHttpResponse.Status,
  1147  		}
  1148  		
  1149  		if localVarHttpResponse.StatusCode == 200 {
  1150  			var v Usage
  1151  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1152  				if err != nil {
  1153  					newErr.error = err.Error()
  1154  					return localVarReturnValue, localVarHttpResponse, newErr
  1155  				}
  1156  				newErr.model = v
  1157  				return localVarReturnValue, localVarHttpResponse, newErr
  1158  		}
  1159  		
  1160  		if localVarHttpResponse.StatusCode == 403 {
  1161  			var v UsageError
  1162  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1163  				if err != nil {
  1164  					newErr.error = err.Error()
  1165  					return localVarReturnValue, localVarHttpResponse, newErr
  1166  				}
  1167  				newErr.model = v
  1168  				return localVarReturnValue, localVarHttpResponse, newErr
  1169  		}
  1170  		
  1171  		return localVarReturnValue, localVarHttpResponse, newErr
  1172  	}
  1173  
  1174  	return localVarReturnValue, localVarHttpResponse, nil
  1175  }
  1176