github.com/free5gc/openapi@v1.0.8/Nsmf_PDUSession/api_individual_sm_context.go (about) 1 /* 2 * Nsmf_PDUSession 3 * 4 * SMF PDU Session Service 5 * 6 * API version: 1.0.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package Nsmf_PDUSession 11 12 import ( 13 "context" 14 "fmt" 15 "io/ioutil" 16 "net/http" 17 "net/url" 18 "strings" 19 20 "github.com/antihax/optional" 21 22 "github.com/free5gc/openapi" 23 "github.com/free5gc/openapi/models" 24 ) 25 26 // Linger please 27 var ( 28 _ context.Context 29 ) 30 31 type IndividualSMContextApiService service 32 33 /* 34 IndividualSMContextApiService Release SM Context 35 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 36 * @param smContextRef SM context reference 37 * @param optional nil or *ReleaseSmContextParamOpts - Optional Parameters: 38 * @param "SmContextReleaseData" (optional.Interface of SmContextReleaseData) - representation of the data to be sent to the SMF when releasing the SM context 39 */ 40 41 type ReleaseSmContextParamOpts struct { 42 SmContextReleaseData optional.Interface 43 } 44 45 func (a *IndividualSMContextApiService) ReleaseSmContext(ctx context.Context, smContextRef string, releaseSmContextRequest models.ReleaseSmContextRequest) (*http.Response, error) { 46 var ( 47 localVarHttpMethod = strings.ToUpper("Post") 48 localVarPostBody interface{} 49 localVarFormFileName string 50 localVarFileName string 51 localVarFileBytes []byte 52 ) 53 54 // create path and map variables 55 localVarPath := a.client.cfg.BasePath() + "/sm-contexts/{smContextRef}/release" 56 localVarPath = strings.Replace(localVarPath, "{"+"smContextRef"+"}", fmt.Sprintf("%v", smContextRef), -1) 57 58 localVarHeaderParams := make(map[string]string) 59 localVarQueryParams := url.Values{} 60 localVarFormParams := url.Values{} 61 62 if releaseSmContextRequest.BinaryDataN2SmInformation != nil { 63 localVarHeaderParams["Content-Type"] = "multipart/related" 64 localVarPostBody = &releaseSmContextRequest 65 } else { 66 localVarHeaderParams["Content-Type"] = "application/json" 67 localVarPostBody = releaseSmContextRequest.JsonData 68 } 69 70 // to determine the Accept header 71 localVarHttpHeaderAccepts := []string{"application/problem+json"} 72 73 // set Accept header 74 localVarHttpHeaderAccept := openapi.SelectHeaderAccept(localVarHttpHeaderAccepts) 75 if localVarHttpHeaderAccept != "" { 76 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 77 } 78 79 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 80 if err != nil { 81 return nil, err 82 } 83 84 localVarHttpResponse, err := openapi.CallAPI(a.client.cfg, r) 85 if err != nil || localVarHttpResponse == nil { 86 return localVarHttpResponse, err 87 } 88 89 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 90 localVarHttpResponse.Body.Close() 91 if err != nil { 92 return localVarHttpResponse, err 93 } 94 95 apiError := openapi.GenericOpenAPIError{ 96 RawBody: localVarBody, 97 ErrorStatus: localVarHttpResponse.Status, 98 } 99 switch localVarHttpResponse.StatusCode { 100 case 204: 101 return localVarHttpResponse, nil 102 case 400: 103 var v models.ProblemDetails 104 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 105 if err != nil { 106 apiError.ErrorStatus = err.Error() 107 return localVarHttpResponse, apiError 108 } 109 apiError.ErrorModel = v 110 return localVarHttpResponse, apiError 111 case 403: 112 var v models.ProblemDetails 113 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 114 if err != nil { 115 apiError.ErrorStatus = err.Error() 116 return localVarHttpResponse, apiError 117 } 118 apiError.ErrorModel = v 119 return localVarHttpResponse, apiError 120 case 404: 121 var v models.ProblemDetails 122 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 123 if err != nil { 124 apiError.ErrorStatus = err.Error() 125 return localVarHttpResponse, apiError 126 } 127 apiError.ErrorModel = v 128 return localVarHttpResponse, apiError 129 case 411: 130 var v models.ProblemDetails 131 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 132 if err != nil { 133 apiError.ErrorStatus = err.Error() 134 return localVarHttpResponse, apiError 135 } 136 apiError.ErrorModel = v 137 return localVarHttpResponse, apiError 138 case 413: 139 var v models.ProblemDetails 140 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 141 if err != nil { 142 apiError.ErrorStatus = err.Error() 143 return localVarHttpResponse, apiError 144 } 145 apiError.ErrorModel = v 146 return localVarHttpResponse, apiError 147 case 415: 148 var v models.ProblemDetails 149 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 150 if err != nil { 151 apiError.ErrorStatus = err.Error() 152 return localVarHttpResponse, apiError 153 } 154 apiError.ErrorModel = v 155 return localVarHttpResponse, apiError 156 case 429: 157 var v models.ProblemDetails 158 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 159 if err != nil { 160 apiError.ErrorStatus = err.Error() 161 return localVarHttpResponse, apiError 162 } 163 apiError.ErrorModel = v 164 return localVarHttpResponse, apiError 165 case 500: 166 var v models.ProblemDetails 167 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 168 if err != nil { 169 apiError.ErrorStatus = err.Error() 170 return localVarHttpResponse, apiError 171 } 172 apiError.ErrorModel = v 173 return localVarHttpResponse, apiError 174 case 503: 175 var v models.ProblemDetails 176 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 177 if err != nil { 178 apiError.ErrorStatus = err.Error() 179 return localVarHttpResponse, apiError 180 } 181 apiError.ErrorModel = v 182 return localVarHttpResponse, apiError 183 default: 184 return localVarHttpResponse, openapi.ReportError("%d is not a valid status code in ReleaseSmContext", localVarHttpResponse.StatusCode) 185 } 186 } 187 188 /* 189 IndividualSMContextApiService Retrieve SM Context 190 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 191 * @param smContextRef SM context reference 192 * @param optional nil or *RetrieveSmContextParamOpts - Optional Parameters: 193 * @param "SmContextRetrieveData" (optional.Interface of SmContextRetrieveData) - parameters used to retrieve the SM context 194 @return SmContextRetrievedData 195 */ 196 197 type RetrieveSmContextParamOpts struct { 198 SmContextRetrieveData optional.Interface 199 } 200 201 func (a *IndividualSMContextApiService) RetrieveSmContext(ctx context.Context, smContextRef string, localVarOptionals *RetrieveSmContextParamOpts) (models.SmContextRetrievedData, *http.Response, error) { 202 var ( 203 localVarHttpMethod = strings.ToUpper("Post") 204 localVarPostBody interface{} 205 localVarFormFileName string 206 localVarFileName string 207 localVarFileBytes []byte 208 localVarReturnValue models.SmContextRetrievedData 209 ) 210 211 // create path and map variables 212 localVarPath := a.client.cfg.BasePath() + "/sm-contexts/{smContextRef}/retrieve" 213 localVarPath = strings.Replace(localVarPath, "{"+"smContextRef"+"}", fmt.Sprintf("%v", smContextRef), -1) 214 215 localVarHeaderParams := make(map[string]string) 216 localVarQueryParams := url.Values{} 217 localVarFormParams := url.Values{} 218 219 localVarHttpContentTypes := []string{"application/json"} 220 221 localVarHeaderParams["Content-Type"] = localVarHttpContentTypes[0] // use the first content type specified in 'consumes' 222 223 // to determine the Accept header 224 localVarHttpHeaderAccepts := []string{"application/json", "application/problem+json"} 225 226 // set Accept header 227 localVarHttpHeaderAccept := openapi.SelectHeaderAccept(localVarHttpHeaderAccepts) 228 if localVarHttpHeaderAccept != "" { 229 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 230 } 231 232 // body params 233 if localVarOptionals != nil && localVarOptionals.SmContextRetrieveData.IsSet() { 234 localVarOptionalSmContextRetrieveData, localVarOptionalSmContextRetrieveDataok := localVarOptionals.SmContextRetrieveData.Value().(models.SmContextRetrieveData) 235 if !localVarOptionalSmContextRetrieveDataok { 236 return localVarReturnValue, nil, openapi.ReportError("smContextRetrieveData should be SmContextRetrieveData") 237 } 238 localVarPostBody = &localVarOptionalSmContextRetrieveData 239 } 240 241 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 242 if err != nil { 243 return localVarReturnValue, nil, err 244 } 245 246 localVarHttpResponse, err := openapi.CallAPI(a.client.cfg, r) 247 if err != nil || localVarHttpResponse == nil { 248 return localVarReturnValue, localVarHttpResponse, err 249 } 250 251 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 252 localVarHttpResponse.Body.Close() 253 if err != nil { 254 return localVarReturnValue, localVarHttpResponse, err 255 } 256 257 apiError := openapi.GenericOpenAPIError{ 258 RawBody: localVarBody, 259 ErrorStatus: localVarHttpResponse.Status, 260 } 261 switch localVarHttpResponse.StatusCode { 262 case 200: 263 err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 264 if err != nil { 265 apiError.ErrorStatus = err.Error() 266 } 267 return localVarReturnValue, localVarHttpResponse, nil 268 case 400: 269 var v models.ProblemDetails 270 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 271 if err != nil { 272 apiError.ErrorStatus = err.Error() 273 return localVarReturnValue, localVarHttpResponse, apiError 274 } 275 apiError.ErrorModel = v 276 return localVarReturnValue, localVarHttpResponse, apiError 277 case 403: 278 var v models.ProblemDetails 279 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 280 if err != nil { 281 apiError.ErrorStatus = err.Error() 282 return localVarReturnValue, localVarHttpResponse, apiError 283 } 284 apiError.ErrorModel = v 285 return localVarReturnValue, localVarHttpResponse, apiError 286 case 404: 287 var v models.ProblemDetails 288 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 289 if err != nil { 290 apiError.ErrorStatus = err.Error() 291 return localVarReturnValue, localVarHttpResponse, apiError 292 } 293 apiError.ErrorModel = v 294 return localVarReturnValue, localVarHttpResponse, apiError 295 case 411: 296 var v models.ProblemDetails 297 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 298 if err != nil { 299 apiError.ErrorStatus = err.Error() 300 return localVarReturnValue, localVarHttpResponse, apiError 301 } 302 apiError.ErrorModel = v 303 return localVarReturnValue, localVarHttpResponse, apiError 304 case 413: 305 var v models.ProblemDetails 306 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 307 if err != nil { 308 apiError.ErrorStatus = err.Error() 309 return localVarReturnValue, localVarHttpResponse, apiError 310 } 311 apiError.ErrorModel = v 312 return localVarReturnValue, localVarHttpResponse, apiError 313 case 415: 314 var v models.ProblemDetails 315 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 316 if err != nil { 317 apiError.ErrorStatus = err.Error() 318 return localVarReturnValue, localVarHttpResponse, apiError 319 } 320 apiError.ErrorModel = v 321 return localVarReturnValue, localVarHttpResponse, apiError 322 case 429: 323 var v models.ProblemDetails 324 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 325 if err != nil { 326 apiError.ErrorStatus = err.Error() 327 return localVarReturnValue, localVarHttpResponse, apiError 328 } 329 apiError.ErrorModel = v 330 return localVarReturnValue, localVarHttpResponse, apiError 331 case 500: 332 var v models.ProblemDetails 333 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 334 if err != nil { 335 apiError.ErrorStatus = err.Error() 336 return localVarReturnValue, localVarHttpResponse, apiError 337 } 338 apiError.ErrorModel = v 339 return localVarReturnValue, localVarHttpResponse, apiError 340 case 503: 341 var v models.ProblemDetails 342 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 343 if err != nil { 344 apiError.ErrorStatus = err.Error() 345 return localVarReturnValue, localVarHttpResponse, apiError 346 } 347 apiError.ErrorModel = v 348 return localVarReturnValue, localVarHttpResponse, apiError 349 default: 350 return localVarReturnValue, localVarHttpResponse, openapi.ReportError("%d is not a valid status code in RetrieveSmContext", localVarHttpResponse.StatusCode) 351 } 352 } 353 354 /* 355 IndividualSMContextApiService Update SM Context 356 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 357 * @param smContextRef SM context reference 358 * @param smContextUpdateData representation of the updates to apply to the SM context 359 @return SmContextUpdatedData 360 */ 361 362 func (a *IndividualSMContextApiService) UpdateSmContext(ctx context.Context, smContextRef string, updateSmContextRequest models.UpdateSmContextRequest) (models.UpdateSmContextResponse, *http.Response, error) { 363 var ( 364 localVarHttpMethod = strings.ToUpper("Post") 365 localVarPostBody interface{} 366 localVarFormFileName string 367 localVarFileName string 368 localVarFileBytes []byte 369 localVarReturnValue models.UpdateSmContextResponse 370 ) 371 372 // create path and map variables 373 localVarPath := a.client.cfg.BasePath() + "/sm-contexts/{smContextRef}/modify" 374 localVarPath = strings.Replace(localVarPath, "{"+"smContextRef"+"}", fmt.Sprintf("%v", smContextRef), -1) 375 376 localVarHeaderParams := make(map[string]string) 377 localVarQueryParams := url.Values{} 378 localVarFormParams := url.Values{} 379 380 // to determine the request Content-Type header 381 if updateSmContextRequest.BinaryDataN1SmMessage != nil || updateSmContextRequest.BinaryDataN2SmInformation != nil { 382 localVarHeaderParams["Content-Type"] = "multipart/related" 383 localVarPostBody = &updateSmContextRequest 384 } else { 385 localVarHeaderParams["Content-Type"] = "application/json" 386 localVarPostBody = updateSmContextRequest.JsonData 387 } 388 389 // to determine the Accept header 390 localVarHttpHeaderAccepts := []string{"application/json", "multipart/related", "application/problem+json"} 391 392 // set Accept header 393 localVarHttpHeaderAccept := openapi.SelectHeaderAccept(localVarHttpHeaderAccepts) 394 if localVarHttpHeaderAccept != "" { 395 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 396 } 397 398 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 399 if err != nil { 400 return localVarReturnValue, nil, err 401 } 402 403 localVarHttpResponse, err := openapi.CallAPI(a.client.cfg, r) 404 if err != nil || localVarHttpResponse == nil { 405 return localVarReturnValue, localVarHttpResponse, err 406 } 407 408 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 409 localVarHttpResponse.Body.Close() 410 if err != nil { 411 return localVarReturnValue, localVarHttpResponse, err 412 } 413 414 apiError := openapi.GenericOpenAPIError{ 415 RawBody: localVarBody, 416 ErrorStatus: localVarHttpResponse.Status, 417 } 418 switch localVarHttpResponse.StatusCode { 419 case 200: 420 err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 421 if err != nil { 422 apiError.ErrorStatus = err.Error() 423 } 424 return localVarReturnValue, localVarHttpResponse, nil 425 case 204: 426 return localVarReturnValue, localVarHttpResponse, nil 427 case 400: 428 var v models.UpdateSmContextErrorResponse 429 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 430 if err != nil { 431 apiError.ErrorStatus = err.Error() 432 return localVarReturnValue, localVarHttpResponse, apiError 433 } 434 apiError.ErrorModel = v 435 return localVarReturnValue, localVarHttpResponse, apiError 436 case 403: 437 var v models.UpdateSmContextErrorResponse 438 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 439 if err != nil { 440 apiError.ErrorStatus = err.Error() 441 return localVarReturnValue, localVarHttpResponse, apiError 442 } 443 apiError.ErrorModel = v 444 return localVarReturnValue, localVarHttpResponse, apiError 445 case 404: 446 var v models.UpdateSmContextErrorResponse 447 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 448 if err != nil { 449 apiError.ErrorStatus = err.Error() 450 return localVarReturnValue, localVarHttpResponse, apiError 451 } 452 apiError.ErrorModel = v 453 return localVarReturnValue, localVarHttpResponse, apiError 454 case 411: 455 var v models.ProblemDetails 456 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 457 if err != nil { 458 apiError.ErrorStatus = err.Error() 459 return localVarReturnValue, localVarHttpResponse, apiError 460 } 461 apiError.ErrorModel = v 462 return localVarReturnValue, localVarHttpResponse, apiError 463 case 413: 464 var v models.ProblemDetails 465 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 466 if err != nil { 467 apiError.ErrorStatus = err.Error() 468 return localVarReturnValue, localVarHttpResponse, apiError 469 } 470 apiError.ErrorModel = v 471 return localVarReturnValue, localVarHttpResponse, apiError 472 case 415: 473 var v models.ProblemDetails 474 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 475 if err != nil { 476 apiError.ErrorStatus = err.Error() 477 return localVarReturnValue, localVarHttpResponse, apiError 478 } 479 apiError.ErrorModel = v 480 return localVarReturnValue, localVarHttpResponse, apiError 481 case 429: 482 var v models.ProblemDetails 483 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 484 if err != nil { 485 apiError.ErrorStatus = err.Error() 486 return localVarReturnValue, localVarHttpResponse, apiError 487 } 488 apiError.ErrorModel = v 489 return localVarReturnValue, localVarHttpResponse, apiError 490 case 500: 491 var v models.UpdateSmContextErrorResponse 492 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 493 if err != nil { 494 apiError.ErrorStatus = err.Error() 495 return localVarReturnValue, localVarHttpResponse, apiError 496 } 497 apiError.ErrorModel = v 498 return localVarReturnValue, localVarHttpResponse, apiError 499 case 503: 500 var v models.UpdateSmContextErrorResponse 501 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 502 if err != nil { 503 apiError.ErrorStatus = err.Error() 504 return localVarReturnValue, localVarHttpResponse, apiError 505 } 506 apiError.ErrorModel = v 507 return localVarReturnValue, localVarHttpResponse, apiError 508 default: 509 return localVarReturnValue, localVarHttpResponse, openapi.ReportError("%d is not a valid status code in UpdateSmContext", localVarHttpResponse.StatusCode) 510 } 511 }