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 }