github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/api_cluster_control_plane.go (about)

     1  /*
     2   * NSX-T Data Center Policy API
     3   *
     4   * VMware NSX-T Data Center Policy REST API
     5   *
     6   * API version: 3.2.0.0.0
     7   * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
     8   */
     9  package nsxt
    10  
    11  import (
    12  	"context"
    13  	"fmt"
    14  	"io/ioutil"
    15  	"net/http"
    16  	"net/url"
    17  	"strings"
    18  
    19  	"github.com/antihax/optional"
    20  	"github.com/vmware/go-vmware-nsxt/clustercontrolplane"
    21  )
    22  
    23  // Linger please
    24  var (
    25  	_ context.Context
    26  )
    27  
    28  type SystemAdministrationPolicyClusterControlPlaneApiService service
    29  
    30  /*
    31  SystemAdministrationPolicyClusterControlPlaneApiService Create or Update Cluster Control Plane to NSX-T
    32  Joins a Cluster Control Plane to NSX-T.
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param body
    35   * @param siteId
    36   * @param enforcementpointId
    37   * @param clusterControlPlaneId
    38  @return ClusterControlPlane
    39  */
    40  func (a *SystemAdministrationPolicyClusterControlPlaneApiService) CreateOrUpdateClusterControlPlane(ctx context.Context, body clustercontrolplane.ClusterControlPlane, siteId string, enforcementpointId string, clusterControlPlaneId string) (clustercontrolplane.ClusterControlPlane, *http.Response, error) {
    41  	var (
    42  		localVarHttpMethod  = strings.ToUpper("Put")
    43  		localVarPostBody    interface{}
    44  		localVarFileName    string
    45  		localVarFileBytes   []byte
    46  		localVarReturnValue clustercontrolplane.ClusterControlPlane
    47  	)
    48  
    49  	// create path and map variables
    50  	localVarPath := a.client.cfg.BasePath + "/infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/cluster-control-planes/{cluster-control-plane-id}"
    51  	localVarPath = strings.Replace(localVarPath, "{"+"site-id"+"}", fmt.Sprintf("%v", siteId), -1)
    52  	localVarPath = strings.Replace(localVarPath, "{"+"enforcementpoint-id"+"}", fmt.Sprintf("%v", enforcementpointId), -1)
    53  	localVarPath = strings.Replace(localVarPath, "{"+"cluster-control-plane-id"+"}", fmt.Sprintf("%v", clusterControlPlaneId), -1)
    54  
    55  	localVarHeaderParams := make(map[string]string)
    56  	localVarQueryParams := url.Values{}
    57  	localVarFormParams := url.Values{}
    58  
    59  	// to determine the Content-Type header
    60  	localVarHttpContentTypes := []string{"application/json"}
    61  
    62  	// set Content-Type header
    63  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    64  	if localVarHttpContentType != "" {
    65  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    66  	}
    67  
    68  	// to determine the Accept header
    69  	localVarHttpHeaderAccepts := []string{"application/json"}
    70  
    71  	// set Accept header
    72  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    73  	if localVarHttpHeaderAccept != "" {
    74  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    75  	}
    76  	// body params
    77  	localVarPostBody = &body
    78  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
    79  	if err != nil {
    80  		return localVarReturnValue, nil, err
    81  	}
    82  
    83  	localVarHttpResponse, err := a.client.callAPI(r)
    84  	if err != nil || localVarHttpResponse == nil {
    85  		return localVarReturnValue, localVarHttpResponse, err
    86  	}
    87  
    88  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    89  	localVarHttpResponse.Body.Close()
    90  	if err != nil {
    91  		return localVarReturnValue, localVarHttpResponse, err
    92  	}
    93  
    94  	if localVarHttpResponse.StatusCode < 300 {
    95  		// If we succeed, return the data, otherwise pass on to decode error.
    96  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    97  		return localVarReturnValue, localVarHttpResponse, err
    98  	}
    99  
   100  	if localVarHttpResponse.StatusCode >= 300 {
   101  		newErr := GenericSwaggerError{
   102  			body:  localVarBody,
   103  			error: localVarHttpResponse.Status,
   104  		}
   105  
   106  		var v ApiError
   107  		err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   108  		if err != nil {
   109  			newErr.error = err.Error()
   110  			return localVarReturnValue, localVarHttpResponse, newErr
   111  		}
   112  		newErr.model = v
   113  		return localVarReturnValue, localVarHttpResponse, newErr
   114  	}
   115  
   116  	return localVarReturnValue, localVarHttpResponse, nil
   117  }
   118  
   119  /*
   120  SystemAdministrationPolicyClusterControlPlaneApiService Delete a specified cluster control plane.
   121  Removes a specified cluster control plane.
   122   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   123   * @param siteId
   124   * @param enforcementpointId
   125   * @param clusterControlPlaneId
   126   * @param optional nil or *DeleteClusterControlPlaneOpts - Optional Parameters:
   127       * @param "Cascade" (optional.Bool) -  Flag to indicate if force delete cluster references from the firewall security policies
   128  
   129  */
   130  
   131  type DeleteClusterControlPlaneOpts struct {
   132  	Cascade optional.Bool
   133  }
   134  
   135  func (a *SystemAdministrationPolicyClusterControlPlaneApiService) DeleteClusterControlPlane(ctx context.Context, siteId string, enforcementpointId string, clusterControlPlaneId string, localVarOptionals *DeleteClusterControlPlaneOpts) (*http.Response, error) {
   136  	var (
   137  		localVarHttpMethod = strings.ToUpper("Delete")
   138  		localVarPostBody   interface{}
   139  		localVarFileName   string
   140  		localVarFileBytes  []byte
   141  	)
   142  
   143  	// create path and map variables
   144  	localVarPath := a.client.cfg.BasePath + "/infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/cluster-control-planes/{cluster-control-plane-id}"
   145  	localVarPath = strings.Replace(localVarPath, "{"+"site-id"+"}", fmt.Sprintf("%v", siteId), -1)
   146  	localVarPath = strings.Replace(localVarPath, "{"+"enforcementpoint-id"+"}", fmt.Sprintf("%v", enforcementpointId), -1)
   147  	localVarPath = strings.Replace(localVarPath, "{"+"cluster-control-plane-id"+"}", fmt.Sprintf("%v", clusterControlPlaneId), -1)
   148  
   149  	localVarHeaderParams := make(map[string]string)
   150  	localVarQueryParams := url.Values{}
   151  	localVarFormParams := url.Values{}
   152  
   153  	if localVarOptionals != nil && localVarOptionals.Cascade.IsSet() {
   154  		localVarQueryParams.Add("cascade", parameterToString(localVarOptionals.Cascade.Value(), ""))
   155  	}
   156  	// to determine the Content-Type header
   157  	localVarHttpContentTypes := []string{}
   158  
   159  	// set Content-Type header
   160  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   161  	if localVarHttpContentType != "" {
   162  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   163  	}
   164  
   165  	// to determine the Accept header
   166  	localVarHttpHeaderAccepts := []string{"application/json"}
   167  
   168  	// set Accept header
   169  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   170  	if localVarHttpHeaderAccept != "" {
   171  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   172  	}
   173  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   174  	if err != nil {
   175  		return nil, err
   176  	}
   177  
   178  	localVarHttpResponse, err := a.client.callAPI(r)
   179  	if err != nil || localVarHttpResponse == nil {
   180  		return localVarHttpResponse, err
   181  	}
   182  
   183  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   184  	localVarHttpResponse.Body.Close()
   185  	if err != nil {
   186  		return localVarHttpResponse, err
   187  	}
   188  
   189  	if localVarHttpResponse.StatusCode >= 300 {
   190  		newErr := GenericSwaggerError{
   191  			body:  localVarBody,
   192  			error: localVarHttpResponse.Status,
   193  		}
   194  
   195  		var v ApiError
   196  		err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   197  		if err != nil {
   198  			newErr.error = err.Error()
   199  			return localVarHttpResponse, newErr
   200  		}
   201  		newErr.model = v
   202  		return localVarHttpResponse, newErr
   203  	}
   204  
   205  	return localVarHttpResponse, nil
   206  }
   207  
   208  /*
   209  SystemAdministrationPolicyClusterControlPlaneApiService Return a specified cluster control plane.
   210  Returns a specified cluster control plane.
   211   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   212   * @param siteId
   213   * @param enforcementpointId
   214   * @param clusterControlPlaneId
   215  @return ClusterControlPlane
   216  */
   217  func (a *SystemAdministrationPolicyClusterControlPlaneApiService) GetClusterControlPlane(ctx context.Context, siteId string, enforcementpointId string, clusterControlPlaneId string) (clustercontrolplane.ClusterControlPlane, *http.Response, error) {
   218  	var (
   219  		localVarHttpMethod  = strings.ToUpper("Get")
   220  		localVarPostBody    interface{}
   221  		localVarFileName    string
   222  		localVarFileBytes   []byte
   223  		localVarReturnValue clustercontrolplane.ClusterControlPlane
   224  	)
   225  
   226  	// create path and map variables
   227  	localVarPath := a.client.cfg.BasePath + "/infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/cluster-control-planes/{cluster-control-plane-id}"
   228  	localVarPath = strings.Replace(localVarPath, "{"+"site-id"+"}", fmt.Sprintf("%v", siteId), -1)
   229  	localVarPath = strings.Replace(localVarPath, "{"+"enforcementpoint-id"+"}", fmt.Sprintf("%v", enforcementpointId), -1)
   230  	localVarPath = strings.Replace(localVarPath, "{"+"cluster-control-plane-id"+"}", fmt.Sprintf("%v", clusterControlPlaneId), -1)
   231  
   232  	localVarHeaderParams := make(map[string]string)
   233  	localVarQueryParams := url.Values{}
   234  	localVarFormParams := url.Values{}
   235  
   236  	// to determine the Content-Type header
   237  	localVarHttpContentTypes := []string{}
   238  
   239  	// set Content-Type header
   240  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   241  	if localVarHttpContentType != "" {
   242  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   243  	}
   244  
   245  	// to determine the Accept header
   246  	localVarHttpHeaderAccepts := []string{"application/json"}
   247  
   248  	// set Accept header
   249  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   250  	if localVarHttpHeaderAccept != "" {
   251  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   252  	}
   253  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   254  	if err != nil {
   255  		return localVarReturnValue, nil, err
   256  	}
   257  
   258  	localVarHttpResponse, err := a.client.callAPI(r)
   259  	if err != nil || localVarHttpResponse == nil {
   260  		return localVarReturnValue, localVarHttpResponse, err
   261  	}
   262  
   263  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   264  	localVarHttpResponse.Body.Close()
   265  	if err != nil {
   266  		return localVarReturnValue, localVarHttpResponse, err
   267  	}
   268  
   269  	if localVarHttpResponse.StatusCode < 300 {
   270  		// If we succeed, return the data, otherwise pass on to decode error.
   271  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   272  		return localVarReturnValue, localVarHttpResponse, err
   273  	}
   274  
   275  	if localVarHttpResponse.StatusCode >= 300 {
   276  		newErr := GenericSwaggerError{
   277  			body:  localVarBody,
   278  			error: localVarHttpResponse.Status,
   279  		}
   280  
   281  		var v ApiError
   282  		err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   283  		if err != nil {
   284  			newErr.error = err.Error()
   285  			return localVarReturnValue, localVarHttpResponse, newErr
   286  		}
   287  		newErr.model = v
   288  		return localVarReturnValue, localVarHttpResponse, newErr
   289  	}
   290  
   291  	return localVarReturnValue, localVarHttpResponse, nil
   292  }
   293  
   294  /*
   295  SystemAdministrationPolicyClusterControlPlaneApiService Return the List of cluster control planes.
   296  Returns information about all cluster control planes.
   297   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   298   * @param siteId
   299   * @param enforcementpointId
   300   * @param optional nil or *ListClusterControlPlaneOpts - Optional Parameters:
   301       * @param "Cursor" (optional.String) -  Opaque cursor to be used for getting next page of records (supplied by current result page)
   302       * @param "IncludeMarkForDeleteObjects" (optional.Bool) -  Include objects that are marked for deletion in results
   303       * @param "IncludedFields" (optional.String) -  Comma separated list of fields that should be included in query result
   304       * @param "PageSize" (optional.Int64) -  Maximum number of results to return in this page (server may return fewer)
   305       * @param "SortAscending" (optional.Bool) -
   306       * @param "SortBy" (optional.String) -  Field by which records are sorted
   307  @return ClusterControlPlaneListResult
   308  */
   309  
   310  type ListClusterControlPlaneOpts struct {
   311  	Cursor                      optional.String
   312  	IncludeMarkForDeleteObjects optional.Bool
   313  	IncludedFields              optional.String
   314  	PageSize                    optional.Int64
   315  	SortAscending               optional.Bool
   316  	SortBy                      optional.String
   317  }
   318  
   319  func (a *SystemAdministrationPolicyClusterControlPlaneApiService) ListClusterControlPlane(ctx context.Context, siteId string, enforcementpointId string, localVarOptionals *ListClusterControlPlaneOpts) (clustercontrolplane.ClusterControlPlaneListResult, *http.Response, error) {
   320  	var (
   321  		localVarHttpMethod  = strings.ToUpper("Get")
   322  		localVarPostBody    interface{}
   323  		localVarFileName    string
   324  		localVarFileBytes   []byte
   325  		localVarReturnValue clustercontrolplane.ClusterControlPlaneListResult
   326  	)
   327  
   328  	// create path and map variables
   329  	localVarPath := a.client.cfg.BasePath + "/infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/cluster-control-planes"
   330  	localVarPath = strings.Replace(localVarPath, "{"+"site-id"+"}", fmt.Sprintf("%v", siteId), -1)
   331  	localVarPath = strings.Replace(localVarPath, "{"+"enforcementpoint-id"+"}", fmt.Sprintf("%v", enforcementpointId), -1)
   332  
   333  	localVarHeaderParams := make(map[string]string)
   334  	localVarQueryParams := url.Values{}
   335  	localVarFormParams := url.Values{}
   336  
   337  	if localVarOptionals != nil && localVarOptionals.Cursor.IsSet() {
   338  		localVarQueryParams.Add("cursor", parameterToString(localVarOptionals.Cursor.Value(), ""))
   339  	}
   340  	if localVarOptionals != nil && localVarOptionals.IncludeMarkForDeleteObjects.IsSet() {
   341  		localVarQueryParams.Add("include_mark_for_delete_objects", parameterToString(localVarOptionals.IncludeMarkForDeleteObjects.Value(), ""))
   342  	}
   343  	if localVarOptionals != nil && localVarOptionals.IncludedFields.IsSet() {
   344  		localVarQueryParams.Add("included_fields", parameterToString(localVarOptionals.IncludedFields.Value(), ""))
   345  	}
   346  	if localVarOptionals != nil && localVarOptionals.PageSize.IsSet() {
   347  		localVarQueryParams.Add("page_size", parameterToString(localVarOptionals.PageSize.Value(), ""))
   348  	}
   349  	if localVarOptionals != nil && localVarOptionals.SortAscending.IsSet() {
   350  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarOptionals.SortAscending.Value(), ""))
   351  	}
   352  	if localVarOptionals != nil && localVarOptionals.SortBy.IsSet() {
   353  		localVarQueryParams.Add("sort_by", parameterToString(localVarOptionals.SortBy.Value(), ""))
   354  	}
   355  	// to determine the Content-Type header
   356  	localVarHttpContentTypes := []string{}
   357  
   358  	// set Content-Type header
   359  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   360  	if localVarHttpContentType != "" {
   361  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   362  	}
   363  
   364  	// to determine the Accept header
   365  	localVarHttpHeaderAccepts := []string{"application/json"}
   366  
   367  	// set Accept header
   368  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   369  	if localVarHttpHeaderAccept != "" {
   370  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   371  	}
   372  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   373  	if err != nil {
   374  		return localVarReturnValue, nil, err
   375  	}
   376  
   377  	localVarHttpResponse, err := a.client.callAPI(r)
   378  	if err != nil || localVarHttpResponse == nil {
   379  		return localVarReturnValue, localVarHttpResponse, err
   380  	}
   381  
   382  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   383  	localVarHttpResponse.Body.Close()
   384  	if err != nil {
   385  		return localVarReturnValue, localVarHttpResponse, err
   386  	}
   387  
   388  	if localVarHttpResponse.StatusCode < 300 {
   389  		// If we succeed, return the data, otherwise pass on to decode error.
   390  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   391  		return localVarReturnValue, localVarHttpResponse, err
   392  	}
   393  
   394  	if localVarHttpResponse.StatusCode >= 300 {
   395  		newErr := GenericSwaggerError{
   396  			body:  localVarBody,
   397  			error: localVarHttpResponse.Status,
   398  		}
   399  
   400  		var v ApiError
   401  		err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   402  		if err != nil {
   403  			newErr.error = err.Error()
   404  			return localVarReturnValue, localVarHttpResponse, newErr
   405  		}
   406  		newErr.model = v
   407  		return localVarReturnValue, localVarHttpResponse, newErr
   408  	}
   409  
   410  	return localVarReturnValue, localVarHttpResponse, nil
   411  }
   412  
   413  /*
   414  SystemAdministrationPolicyClusterControlPlaneApiService Patch a Cluster Control Plane.
   415  Patch a Cluster Control Plane.
   416   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   417   * @param body
   418   * @param siteId
   419   * @param enforcementpointId
   420   * @param clusterControlPlaneId
   421  @return ClusterControlPlane
   422  */
   423  func (a *SystemAdministrationPolicyClusterControlPlaneApiService) PatchClusterControlPlane(ctx context.Context, body clustercontrolplane.ClusterControlPlane, siteId string, enforcementpointId string, clusterControlPlaneId string) (clustercontrolplane.ClusterControlPlane, *http.Response, error) {
   424  	var (
   425  		localVarHttpMethod  = strings.ToUpper("Patch")
   426  		localVarPostBody    interface{}
   427  		localVarFileName    string
   428  		localVarFileBytes   []byte
   429  		localVarReturnValue clustercontrolplane.ClusterControlPlane
   430  	)
   431  
   432  	// create path and map variables
   433  	localVarPath := a.client.cfg.BasePath + "/infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/cluster-control-planes/{cluster-control-plane-id}"
   434  	localVarPath = strings.Replace(localVarPath, "{"+"site-id"+"}", fmt.Sprintf("%v", siteId), -1)
   435  	localVarPath = strings.Replace(localVarPath, "{"+"enforcementpoint-id"+"}", fmt.Sprintf("%v", enforcementpointId), -1)
   436  	localVarPath = strings.Replace(localVarPath, "{"+"cluster-control-plane-id"+"}", fmt.Sprintf("%v", clusterControlPlaneId), -1)
   437  
   438  	localVarHeaderParams := make(map[string]string)
   439  	localVarQueryParams := url.Values{}
   440  	localVarFormParams := url.Values{}
   441  
   442  	// to determine the Content-Type header
   443  	localVarHttpContentTypes := []string{"application/json"}
   444  
   445  	// set Content-Type header
   446  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   447  	if localVarHttpContentType != "" {
   448  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   449  	}
   450  
   451  	// to determine the Accept header
   452  	localVarHttpHeaderAccepts := []string{"application/json"}
   453  
   454  	// set Accept header
   455  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   456  	if localVarHttpHeaderAccept != "" {
   457  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   458  	}
   459  	// body params
   460  	localVarPostBody = &body
   461  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   462  	if err != nil {
   463  		return localVarReturnValue, nil, err
   464  	}
   465  
   466  	localVarHttpResponse, err := a.client.callAPI(r)
   467  	if err != nil || localVarHttpResponse == nil {
   468  		return localVarReturnValue, localVarHttpResponse, err
   469  	}
   470  
   471  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   472  	localVarHttpResponse.Body.Close()
   473  	if err != nil {
   474  		return localVarReturnValue, localVarHttpResponse, err
   475  	}
   476  
   477  	if localVarHttpResponse.StatusCode < 300 {
   478  		// If we succeed, return the data, otherwise pass on to decode error.
   479  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   480  		return localVarReturnValue, localVarHttpResponse, err
   481  	}
   482  
   483  	if localVarHttpResponse.StatusCode >= 300 {
   484  		newErr := GenericSwaggerError{
   485  			body:  localVarBody,
   486  			error: localVarHttpResponse.Status,
   487  		}
   488  
   489  		var v ApiError
   490  		err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   491  		if err != nil {
   492  			newErr.error = err.Error()
   493  			return localVarReturnValue, localVarHttpResponse, newErr
   494  		}
   495  		newErr.model = v
   496  		return localVarReturnValue, localVarHttpResponse, newErr
   497  	}
   498  
   499  	return localVarReturnValue, localVarHttpResponse, nil
   500  }