github.com/free5gc/openapi@v1.0.8/Nnssf_NSSelection/api_network_slice_information_document.go (about) 1 /* 2 * NSSF NS Selection 3 * 4 * NSSF Network Slice Selection Service 5 * 6 * API version: 1.0.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package Nnssf_NSSelection 11 12 import ( 13 "context" 14 "io/ioutil" 15 "net/http" 16 "net/url" 17 "strings" 18 19 "github.com/antihax/optional" 20 21 "github.com/free5gc/openapi" 22 . "github.com/free5gc/openapi/models" 23 ) 24 25 // Linger please 26 var ( 27 _ context.Context 28 ) 29 30 type NetworkSliceInformationDocumentApiService service 31 32 /* 33 NetworkSliceInformationDocumentApiService Retrieve the Network Slice Selection Information 34 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 35 * @param nfType NF type of the NF service consumer 36 * @param nfId NF Instance ID of the NF service consumer 37 * @param optional nil or *NSSelectionGetParamOpts - Optional Parameters: 38 * @param "SliceInfoRequestForRegistration" (optional.Interface of SliceInfoForRegistration) - Requested network slice information during Registration procedure 39 * @param "SliceInfoRequestForPduSession" (optional.Interface of SliceInfoForPduSession) - Requested network slice information during PDU session establishment procedure 40 * @param "HomePlmnId" (optional.Interface of PlmnId) - PLMN ID of the HPLMN 41 * @param "Tai" (optional.Interface of Tai) - TAI of the UE 42 * @param "SupportedFeatures" (optional.String) - Features required to be supported by the NFs in the target slice instance 43 @return AuthorizedNetworkSliceInfo 44 */ 45 46 type NSSelectionGetParamOpts struct { 47 SliceInfoRequestForRegistration optional.Interface 48 SliceInfoRequestForPduSession optional.Interface 49 HomePlmnId optional.Interface 50 Tai optional.Interface 51 SupportedFeatures optional.String 52 } 53 54 func (a *NetworkSliceInformationDocumentApiService) NSSelectionGet(ctx context.Context, nfType NfType, nfId string, localVarOptionals *NSSelectionGetParamOpts) (AuthorizedNetworkSliceInfo, *http.Response, error) { 55 var ( 56 localVarHTTPMethod = strings.ToUpper("Get") 57 localVarPostBody interface{} 58 localVarFormFileName string 59 localVarFileName string 60 localVarFileBytes []byte 61 localVarReturnValue AuthorizedNetworkSliceInfo 62 ) 63 64 // create path and map variables 65 localVarPath := a.client.cfg.BasePath() + "/network-slice-information" 66 67 localVarHeaderParams := make(map[string]string) 68 localVarQueryParams := url.Values{} 69 localVarFormParams := url.Values{} 70 71 localVarQueryParams.Add("nf-type", openapi.ParameterToString(nfType, "")) 72 localVarQueryParams.Add("nf-id", openapi.ParameterToString(nfId, "")) 73 if localVarOptionals != nil && localVarOptionals.SliceInfoRequestForRegistration.IsSet() { 74 localVarQueryParams.Add("slice-info-request-for-registration", openapi.ParameterToString(localVarOptionals.SliceInfoRequestForRegistration.Value(), "")) 75 } 76 if localVarOptionals != nil && localVarOptionals.SliceInfoRequestForPduSession.IsSet() { 77 localVarQueryParams.Add("slice-info-request-for-pdu-session", openapi.ParameterToString(localVarOptionals.SliceInfoRequestForPduSession.Value(), "")) 78 } 79 if localVarOptionals != nil && localVarOptionals.HomePlmnId.IsSet() { 80 localVarQueryParams.Add("home-plmn-id", openapi.ParameterToString(localVarOptionals.HomePlmnId.Value(), "")) 81 } 82 if localVarOptionals != nil && localVarOptionals.Tai.IsSet() { 83 localVarQueryParams.Add("tai", openapi.ParameterToString(localVarOptionals.Tai.Value(), "")) 84 } 85 if localVarOptionals != nil && localVarOptionals.SupportedFeatures.IsSet() && localVarOptionals.SupportedFeatures.Value() != "" { 86 localVarQueryParams.Add("supported-features", openapi.ParameterToString(localVarOptionals.SupportedFeatures.Value(), "")) 87 } 88 89 localVarHTTPContentTypes := []string{"application/json"} 90 91 localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes' 92 93 // to determine the Accept header 94 localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"} 95 96 // set Accept header 97 localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts) 98 if localVarHTTPHeaderAccept != "" { 99 localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept 100 } 101 102 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 103 if err != nil { 104 return localVarReturnValue, nil, err 105 } 106 107 localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r) 108 if err != nil || localVarHTTPResponse == nil { 109 return localVarReturnValue, localVarHTTPResponse, err 110 } 111 112 localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body) 113 localVarHTTPResponse.Body.Close() 114 if err != nil { 115 return localVarReturnValue, localVarHTTPResponse, err 116 } 117 118 apiError := openapi.GenericOpenAPIError{ 119 RawBody: localVarBody, 120 ErrorStatus: localVarHTTPResponse.Status, 121 } 122 123 switch localVarHTTPResponse.StatusCode { 124 case 200: 125 err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 126 if err != nil { 127 apiError.ErrorStatus = err.Error() 128 } 129 return localVarReturnValue, localVarHTTPResponse, nil 130 case 400: 131 var v ProblemDetails 132 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 133 if err != nil { 134 apiError.ErrorStatus = err.Error() 135 return localVarReturnValue, localVarHTTPResponse, apiError 136 } 137 apiError.ErrorModel = v 138 return localVarReturnValue, localVarHTTPResponse, apiError 139 case 401: 140 var v ProblemDetails 141 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 142 if err != nil { 143 apiError.ErrorStatus = err.Error() 144 return localVarReturnValue, localVarHTTPResponse, apiError 145 } 146 apiError.ErrorModel = v 147 return localVarReturnValue, localVarHTTPResponse, apiError 148 case 403: 149 var v ProblemDetails 150 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 151 if err != nil { 152 apiError.ErrorStatus = err.Error() 153 return localVarReturnValue, localVarHTTPResponse, apiError 154 } 155 apiError.ErrorModel = v 156 return localVarReturnValue, localVarHTTPResponse, apiError 157 case 404: 158 var v ProblemDetails 159 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 160 if err != nil { 161 apiError.ErrorStatus = err.Error() 162 return localVarReturnValue, localVarHTTPResponse, apiError 163 } 164 apiError.ErrorModel = v 165 return localVarReturnValue, localVarHTTPResponse, apiError 166 case 406: 167 return localVarReturnValue, localVarHTTPResponse, nil 168 case 414: 169 var v ProblemDetails 170 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 171 if err != nil { 172 apiError.ErrorStatus = err.Error() 173 return localVarReturnValue, localVarHTTPResponse, apiError 174 } 175 apiError.ErrorModel = v 176 return localVarReturnValue, localVarHTTPResponse, apiError 177 case 429: 178 var v ProblemDetails 179 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 180 if err != nil { 181 apiError.ErrorStatus = err.Error() 182 return localVarReturnValue, localVarHTTPResponse, apiError 183 } 184 apiError.ErrorModel = v 185 return localVarReturnValue, localVarHTTPResponse, apiError 186 case 500: 187 var v ProblemDetails 188 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 189 if err != nil { 190 apiError.ErrorStatus = err.Error() 191 return localVarReturnValue, localVarHTTPResponse, apiError 192 } 193 apiError.ErrorModel = v 194 return localVarReturnValue, localVarHTTPResponse, apiError 195 case 503: 196 var v ProblemDetails 197 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 198 if err != nil { 199 apiError.ErrorStatus = err.Error() 200 return localVarReturnValue, localVarHTTPResponse, apiError 201 } 202 apiError.ErrorModel = v 203 return localVarReturnValue, localVarHTTPResponse, apiError 204 default: 205 return localVarReturnValue, localVarHTTPResponse, nil 206 } 207 }