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

     1  /* Copyright © 2017 VMware, Inc. All Rights Reserved.
     2     SPDX-License-Identifier: BSD-2-Clause
     3  
     4     Generated by: https://github.com/swagger-api/swagger-codegen.git */
     5  
     6  package nsxt
     7  
     8  import (
     9  	"context"
    10  	"encoding/json"
    11  	"github.com/vmware/go-vmware-nsxt/normalization"
    12  	"net/http"
    13  	"net/url"
    14  	"strings"
    15  )
    16  
    17  // Linger please
    18  var (
    19  	_ context.Context
    20  )
    21  
    22  type NormalizationApiService service
    23  
    24  /* NormalizationApiService Get normalizations based on the query parameters
    25  Returns the list of normalized resources based on the query parameters. Id and Type of the resource on which the normalizations is to be performed, are to be specified as query parameters in the URI. The target resource types to which normalization is to be done should also be specified as query parameter.
    26  * @param ctx context.Context Authentication Context
    27  @param preferredNormalizationType Resource type valid for use as target in normalization API.
    28  @param resourceId Identifier of the resource on which normalization is to be performed
    29  @param resourceType Resource type valid for use as source in normalization API.
    30  @param optional (nil or map[string]interface{}) with one or more of:
    31      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
    32      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
    33      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
    34      @param "sortAscending" (bool)
    35      @param "sortBy" (string) Field by which records are sorted
    36  @return normalization.NormalizedResourceListResult*/
    37  func (a *NormalizationApiService) GetNormalizations(ctx context.Context, preferredNormalizationType string, resourceId string, resourceType string, localVarOptionals map[string]interface{}) (normalization.NormalizedResourceListResult, *http.Response, error) {
    38  	var (
    39  		localVarHttpMethod = strings.ToUpper("Get")
    40  		localVarPostBody   interface{}
    41  		localVarFileName   string
    42  		localVarFileBytes  []byte
    43  		successPayload     normalization.NormalizedResourceListResult
    44  	)
    45  
    46  	// create path and map variables
    47  	localVarPath := a.client.cfg.BasePath + "/normalizations"
    48  
    49  	localVarHeaderParams := make(map[string]string)
    50  	localVarQueryParams := url.Values{}
    51  	localVarFormParams := url.Values{}
    52  
    53  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
    54  		return successPayload, nil, err
    55  	}
    56  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
    57  		return successPayload, nil, err
    58  	}
    59  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
    60  		return successPayload, nil, err
    61  	}
    62  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
    63  		return successPayload, nil, err
    64  	}
    65  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
    66  		return successPayload, nil, err
    67  	}
    68  
    69  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
    70  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
    71  	}
    72  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
    73  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
    74  	}
    75  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
    76  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
    77  	}
    78  	localVarQueryParams.Add("preferred_normalization_type", parameterToString(preferredNormalizationType, ""))
    79  	localVarQueryParams.Add("resource_id", parameterToString(resourceId, ""))
    80  	localVarQueryParams.Add("resource_type", parameterToString(resourceType, ""))
    81  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
    82  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
    83  	}
    84  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
    85  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
    86  	}
    87  	// to determine the Content-Type header
    88  	localVarHttpContentTypes := []string{"application/json"}
    89  
    90  	// set Content-Type header
    91  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    92  	if localVarHttpContentType != "" {
    93  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    94  	}
    95  
    96  	// to determine the Accept header
    97  	localVarHttpHeaderAccepts := []string{
    98  		"application/json",
    99  	}
   100  
   101  	// set Accept header
   102  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   103  	if localVarHttpHeaderAccept != "" {
   104  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   105  	}
   106  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   107  	if err != nil {
   108  		return successPayload, nil, err
   109  	}
   110  
   111  	localVarHttpResponse, err := a.client.callAPI(r)
   112  	if err != nil || localVarHttpResponse == nil {
   113  		return successPayload, localVarHttpResponse, err
   114  	}
   115  	defer localVarHttpResponse.Body.Close()
   116  	if localVarHttpResponse.StatusCode >= 300 {
   117  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   118  	}
   119  
   120  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   121  		return successPayload, localVarHttpResponse, err
   122  	}
   123  
   124  	return successPayload, localVarHttpResponse, err
   125  }