github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/associations_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/association" 12 "net/http" 13 "net/url" 14 "strings" 15 ) 16 17 // Linger please 18 var ( 19 _ context.Context 20 ) 21 22 type AssociationsApiService service 23 24 /* AssociationsApiService Get ResourceReference objects to which the given resource belongs to 25 Returns information about resources that are associated with the given resource. Id and type of the resource for which associated resources are to be fetched are to be specified as query parameter in the URI. Resource type of the associated resources must be specified as query parameter. 26 * @param ctx context.Context Authentication Context 27 @param associatedResourceType Resource type valid for use as target in association API 28 @param resourceId The resource for which associated resources are to be fetched 29 @param resourceType Resource type valid for use as source in association 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 "fetchAncestors" (bool) Fetch complete list of associated resources considering containment and nesting 33 @param "includedFields" (string) Comma separated list of fields that should be included to result of query 34 @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer) 35 @param "sortAscending" (bool) 36 @param "sortBy" (string) Field by which records are sorted 37 @return association.AssociationListResult*/ 38 func (a *AssociationsApiService) GetAssociations(ctx context.Context, associatedResourceType string, resourceId string, resourceType string, localVarOptionals map[string]interface{}) (association.AssociationListResult, *http.Response, error) { 39 var ( 40 localVarHttpMethod = strings.ToUpper("Get") 41 localVarPostBody interface{} 42 localVarFileName string 43 localVarFileBytes []byte 44 successPayload association.AssociationListResult 45 ) 46 47 // create path and map variables 48 localVarPath := a.client.cfg.BasePath + "/associations" 49 50 localVarHeaderParams := make(map[string]string) 51 localVarQueryParams := url.Values{} 52 localVarFormParams := url.Values{} 53 54 if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil { 55 return successPayload, nil, err 56 } 57 if err := typeCheckParameter(localVarOptionals["fetchAncestors"], "bool", "fetchAncestors"); err != nil { 58 return successPayload, nil, err 59 } 60 if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil { 61 return successPayload, nil, err 62 } 63 if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil { 64 return successPayload, nil, err 65 } 66 if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil { 67 return successPayload, nil, err 68 } 69 if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil { 70 return successPayload, nil, err 71 } 72 73 localVarQueryParams.Add("associated_resource_type", parameterToString(associatedResourceType, "")) 74 if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk { 75 localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, "")) 76 } 77 if localVarTempParam, localVarOk := localVarOptionals["fetchAncestors"].(bool); localVarOk { 78 localVarQueryParams.Add("fetch_ancestors", parameterToString(localVarTempParam, "")) 79 } 80 if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk { 81 localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, "")) 82 } 83 if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk { 84 localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, "")) 85 } 86 localVarQueryParams.Add("resource_id", parameterToString(resourceId, "")) 87 localVarQueryParams.Add("resource_type", parameterToString(resourceType, "")) 88 if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk { 89 localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, "")) 90 } 91 if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk { 92 localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, "")) 93 } 94 // to determine the Content-Type header 95 localVarHttpContentTypes := []string{"application/json"} 96 97 // set Content-Type header 98 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 99 if localVarHttpContentType != "" { 100 localVarHeaderParams["Content-Type"] = localVarHttpContentType 101 } 102 103 // to determine the Accept header 104 localVarHttpHeaderAccepts := []string{ 105 "application/json", 106 } 107 108 // set Accept header 109 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 110 if localVarHttpHeaderAccept != "" { 111 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 112 } 113 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 114 if err != nil { 115 return successPayload, nil, err 116 } 117 118 localVarHttpResponse, err := a.client.callAPI(r) 119 if err != nil || localVarHttpResponse == nil { 120 return successPayload, localVarHttpResponse, err 121 } 122 defer localVarHttpResponse.Body.Close() 123 if localVarHttpResponse.StatusCode >= 300 { 124 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 125 } 126 127 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 128 return successPayload, localVarHttpResponse, err 129 } 130 131 return successPayload, localVarHttpResponse, err 132 }