github.com/free5gc/openapi@v1.0.8/Nnrf_NFDiscovery/api_nf_instances_store.go (about) 1 /* 2 * NRF NFDiscovery Service 3 * 4 * NRF NFDiscovery Service 5 * 6 * API version: 1.0.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package Nnrf_NFDiscovery 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 NFInstancesStoreApiService service 31 32 /* 33 NFInstancesStoreApiService Search a collection of NF Instances 34 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 35 * @param targetNfType Type of the target NF 36 * @param requesterNfType Type of the requester NF 37 * @param optional nil or *SearchNFInstancesParamOpts - Optional Parameters: 38 * @param "ServiceNames" (optional.Interface of []string) - Name of the service offered by the NF 39 * @param "RequesterNfInstanceFqdn" (optional.String) - FQDN of the requester NF 40 * @param "TargetPlmnList" (optional.Interface of []models.PlmnId) - Id of the PLMN where the target NF is located 41 * @param "RequesterPlmnList" (optional.Interface of []models.PlmnId) - Id of the PLMN where the NF issuing the Discovery request is located 42 * @param "TargetNfInstanceId" (optional.Interface of string) - Identity of the NF instance being discovered 43 * @param "TargetNfFqdn" (optional.String) - FQDN of the NF instance being discovered 44 * @param "HnrfUri" (optional.String) - Uri of the home NRF 45 * @param "Snssais" (optional.Interface of []models.Snssai) - Slice info of the target NF 46 * @param "Dnn" (optional.String) - Dnn supported by the BSF, SMF or UPF 47 * @param "NsiList" (optional.Interface of []string) - NSI IDs that are served by the services being discovered 48 * @param "SmfServingArea" (optional.String) - 49 * @param "Tai" (optional.Interface of models.Tai) - Tracking Area Identity 50 * @param "AmfRegionId" (optional.String) - AMF Region Identity 51 * @param "AmfSetId" (optional.String) - AMF Set Identity 52 * @param "Guami" (optional.Interface of models.Guami) - Guami used to search for an appropriate AMF 53 * @param "Supi" (optional.String) - SUPI of the user 54 * @param "UeIpv4Address" (optional.String) - IPv4 address of the UE 55 * @param "IpDomain" (optional.String) - IP domain of the UE, which supported by BSF 56 * @param "UeIpv6Prefix" (optional.Interface of string) - IPv6 prefix of the UE 57 * @param "PgwInd" (optional.Bool) - Combined PGW-C and SMF or a standalone SMF 58 * @param "Pgw" (optional.String) - PGW FQDN of a combined PGW-C and SMF 59 * @param "Gpsi" (optional.String) - GPSI of the user 60 * @param "ExternalGroupIdentity" (optional.String) - external group identifier of the user 61 * @param "DataSet" (optional.Interface of models.DataSetId) - data set supported by the NF 62 * @param "RoutingIndicator" (optional.String) - routing indicator in SUCI 63 * @param "GroupIdList" (optional.Interface of []string) - Group IDs of the NFs being discovered 64 * @param "DnaiList" (optional.Interface of []string) - Data network access identifiers of the NFs being discovered 65 * @param "SupportedFeatures" (optional.String) - Features required to be supported by the target NF 66 * @param "UpfIwkEpsInd" (optional.Bool) - UPF supporting interworking with EPS or not 67 * @param "ChfSupportedPlmn" (optional.Interface of models.PlmnId) - PLMN ID supported by a CHF 68 * @param "PreferredLocality" (optional.String) - preferred target NF location 69 * @param "AccessType" (optional.Interface of models.AccessType) - AccessType supported by the target NF 70 * @param "IfNoneMatch" (optional.String) - Validator for conditional requests, as described in IETF RFC 7232, 3.2 71 @return models.SearchResult 72 */ 73 74 type SearchNFInstancesParamOpts struct { 75 ServiceNames optional.Interface 76 RequesterNfInstanceFqdn optional.String 77 TargetPlmnList optional.Interface 78 RequesterPlmnList optional.Interface 79 TargetNfInstanceId optional.Interface 80 TargetNfFqdn optional.String 81 HnrfUri optional.String 82 Snssais optional.Interface 83 Dnn optional.String 84 NsiList optional.Interface 85 SmfServingArea optional.String 86 Tai optional.Interface 87 AmfRegionId optional.String 88 AmfSetId optional.String 89 Guami optional.Interface 90 Supi optional.String 91 UeIpv4Address optional.String 92 IpDomain optional.String 93 UeIpv6Prefix optional.Interface 94 PgwInd optional.Bool 95 Pgw optional.String 96 Gpsi optional.String 97 ExternalGroupIdentity optional.String 98 DataSet optional.Interface 99 RoutingIndicator optional.String 100 GroupIdList optional.Interface 101 DnaiList optional.Interface 102 SupportedFeatures optional.String 103 UpfIwkEpsInd optional.Bool 104 ChfSupportedPlmn optional.Interface 105 PreferredLocality optional.String 106 AccessType optional.Interface 107 IfNoneMatch optional.String 108 } 109 110 func (a *NFInstancesStoreApiService) SearchNFInstances(ctx context.Context, targetNfType models.NfType, requesterNfType models.NfType, localVarOptionals *SearchNFInstancesParamOpts) (models.SearchResult, *http.Response, error) { 111 var ( 112 localVarHTTPMethod = strings.ToUpper("Get") 113 localVarPostBody interface{} 114 localVarFormFileName string 115 localVarFileName string 116 localVarFileBytes []byte 117 localVarReturnValue models.SearchResult 118 ) 119 120 // create path and map variables 121 localVarPath := a.client.cfg.BasePath() + "/nf-instances" 122 123 localVarHeaderParams := make(map[string]string) 124 localVarQueryParams := url.Values{} 125 localVarFormParams := url.Values{} 126 127 localVarQueryParams.Add("target-nf-type", openapi.ParameterToString(targetNfType, "")) 128 localVarQueryParams.Add("requester-nf-type", openapi.ParameterToString(requesterNfType, "")) 129 if localVarOptionals != nil && localVarOptionals.ServiceNames.IsSet() { 130 localVarQueryParams.Add("service-names", openapi.ParameterToString(localVarOptionals.ServiceNames.Value(), "csv")) 131 } 132 if localVarOptionals != nil && localVarOptionals.RequesterNfInstanceFqdn.IsSet() && localVarOptionals.RequesterNfInstanceFqdn.Value() != "" { 133 localVarQueryParams.Add("requester-nf-instance-fqdn", openapi.ParameterToString(localVarOptionals.RequesterNfInstanceFqdn.Value(), "")) 134 } 135 if localVarOptionals != nil && localVarOptionals.TargetPlmnList.IsSet() { 136 localVarQueryParams.Add("target-plmn-list", openapi.ParameterToString(localVarOptionals.TargetPlmnList.Value(), "multi")) 137 } 138 if localVarOptionals != nil && localVarOptionals.RequesterPlmnList.IsSet() { 139 localVarQueryParams.Add("requester-plmn-list", openapi.ParameterToString(localVarOptionals.RequesterPlmnList.Value(), "multi")) 140 } 141 if localVarOptionals != nil && localVarOptionals.TargetNfInstanceId.IsSet() { 142 localVarQueryParams.Add("target-nf-instance-id", openapi.ParameterToString(localVarOptionals.TargetNfInstanceId.Value(), "")) 143 } 144 if localVarOptionals != nil && localVarOptionals.TargetNfFqdn.IsSet() && localVarOptionals.TargetNfFqdn.Value() != "" { 145 localVarQueryParams.Add("target-nf-fqdn", openapi.ParameterToString(localVarOptionals.TargetNfFqdn.Value(), "")) 146 } 147 if localVarOptionals != nil && localVarOptionals.HnrfUri.IsSet() && localVarOptionals.HnrfUri.Value() != "" { 148 localVarQueryParams.Add("hnrf-uri", openapi.ParameterToString(localVarOptionals.HnrfUri.Value(), "")) 149 } 150 if localVarOptionals != nil && localVarOptionals.Snssais.IsSet() { 151 localVarQueryParams.Add("snssais", openapi.ParameterToString(localVarOptionals.Snssais.Value(), "multi")) 152 } 153 if localVarOptionals != nil && localVarOptionals.Dnn.IsSet() && localVarOptionals.Dnn.Value() != "" { 154 localVarQueryParams.Add("dnn", openapi.ParameterToString(localVarOptionals.Dnn.Value(), "")) 155 } 156 if localVarOptionals != nil && localVarOptionals.NsiList.IsSet() { 157 localVarQueryParams.Add("nsi-list", openapi.ParameterToString(localVarOptionals.NsiList.Value(), "csv")) 158 } 159 if localVarOptionals != nil && localVarOptionals.SmfServingArea.IsSet() && localVarOptionals.SmfServingArea.Value() != "" { 160 localVarQueryParams.Add("smf-serving-area", openapi.ParameterToString(localVarOptionals.SmfServingArea.Value(), "")) 161 } 162 if localVarOptionals != nil && localVarOptionals.Tai.IsSet() { 163 localVarQueryParams.Add("tai", openapi.ParameterToString(localVarOptionals.Tai.Value(), "")) 164 } 165 if localVarOptionals != nil && localVarOptionals.AmfRegionId.IsSet() && localVarOptionals.AmfRegionId.Value() != "" { 166 localVarQueryParams.Add("amf-region-id", openapi.ParameterToString(localVarOptionals.AmfRegionId.Value(), "")) 167 } 168 if localVarOptionals != nil && localVarOptionals.AmfSetId.IsSet() && localVarOptionals.AmfSetId.Value() != "" { 169 localVarQueryParams.Add("amf-set-id", openapi.ParameterToString(localVarOptionals.AmfSetId.Value(), "")) 170 } 171 if localVarOptionals != nil && localVarOptionals.Guami.IsSet() { 172 localVarQueryParams.Add("guami", openapi.ParameterToString(localVarOptionals.Guami.Value(), "")) 173 } 174 if localVarOptionals != nil && localVarOptionals.Supi.IsSet() && localVarOptionals.Supi.Value() != "" { 175 localVarQueryParams.Add("supi", openapi.ParameterToString(localVarOptionals.Supi.Value(), "")) 176 } 177 if localVarOptionals != nil && localVarOptionals.UeIpv4Address.IsSet() && localVarOptionals.UeIpv4Address.Value() != "" { 178 localVarQueryParams.Add("ue-ipv4-address", openapi.ParameterToString(localVarOptionals.UeIpv4Address.Value(), "")) 179 } 180 if localVarOptionals != nil && localVarOptionals.IpDomain.IsSet() && localVarOptionals.IpDomain.Value() != "" { 181 localVarQueryParams.Add("ip-domain", openapi.ParameterToString(localVarOptionals.IpDomain.Value(), "")) 182 } 183 if localVarOptionals != nil && localVarOptionals.UeIpv6Prefix.IsSet() { 184 localVarQueryParams.Add("ue-ipv6-prefix", openapi.ParameterToString(localVarOptionals.UeIpv6Prefix.Value(), "")) 185 } 186 if localVarOptionals != nil && localVarOptionals.PgwInd.IsSet() { 187 localVarQueryParams.Add("pgw-ind", openapi.ParameterToString(localVarOptionals.PgwInd.Value(), "")) 188 } 189 if localVarOptionals != nil && localVarOptionals.Pgw.IsSet() && localVarOptionals.Pgw.Value() != "" { 190 localVarQueryParams.Add("pgw", openapi.ParameterToString(localVarOptionals.Pgw.Value(), "")) 191 } 192 if localVarOptionals != nil && localVarOptionals.Gpsi.IsSet() && localVarOptionals.Gpsi.Value() != "" { 193 localVarQueryParams.Add("gpsi", openapi.ParameterToString(localVarOptionals.Gpsi.Value(), "")) 194 } 195 if localVarOptionals != nil && localVarOptionals.ExternalGroupIdentity.IsSet() && localVarOptionals.ExternalGroupIdentity.Value() != "" { 196 localVarQueryParams.Add("external-group-identity", openapi.ParameterToString(localVarOptionals.ExternalGroupIdentity.Value(), "")) 197 } 198 if localVarOptionals != nil && localVarOptionals.DataSet.IsSet() { 199 localVarQueryParams.Add("data-set", openapi.ParameterToString(localVarOptionals.DataSet.Value(), "")) 200 } 201 if localVarOptionals != nil && localVarOptionals.RoutingIndicator.IsSet() && localVarOptionals.RoutingIndicator.Value() != "" { 202 localVarQueryParams.Add("routing-indicator", openapi.ParameterToString(localVarOptionals.RoutingIndicator.Value(), "")) 203 } 204 if localVarOptionals != nil && localVarOptionals.GroupIdList.IsSet() { 205 localVarQueryParams.Add("group-id-list", openapi.ParameterToString(localVarOptionals.GroupIdList.Value(), "csv")) 206 } 207 if localVarOptionals != nil && localVarOptionals.DnaiList.IsSet() { 208 localVarQueryParams.Add("dnai-list", openapi.ParameterToString(localVarOptionals.DnaiList.Value(), "csv")) 209 } 210 if localVarOptionals != nil && localVarOptionals.SupportedFeatures.IsSet() && localVarOptionals.SupportedFeatures.Value() != "" { 211 localVarQueryParams.Add("supported-features", openapi.ParameterToString(localVarOptionals.SupportedFeatures.Value(), "")) 212 } 213 if localVarOptionals != nil && localVarOptionals.UpfIwkEpsInd.IsSet() { 214 localVarQueryParams.Add("upf-iwk-eps-ind", openapi.ParameterToString(localVarOptionals.UpfIwkEpsInd.Value(), "")) 215 } 216 if localVarOptionals != nil && localVarOptionals.ChfSupportedPlmn.IsSet() { 217 localVarQueryParams.Add("chf-supported-plmn", openapi.ParameterToString(localVarOptionals.ChfSupportedPlmn.Value(), "")) 218 } 219 if localVarOptionals != nil && localVarOptionals.PreferredLocality.IsSet() && localVarOptionals.PreferredLocality.Value() != "" { 220 localVarQueryParams.Add("preferred-locality", openapi.ParameterToString(localVarOptionals.PreferredLocality.Value(), "")) 221 } 222 if localVarOptionals != nil && localVarOptionals.AccessType.IsSet() { 223 localVarQueryParams.Add("access-type", openapi.ParameterToString(localVarOptionals.AccessType.Value(), "")) 224 } 225 226 localVarHTTPContentTypes := []string{"application/json"} 227 228 localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes' 229 230 // to determine the Accept header 231 localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"} 232 233 // set Accept header 234 localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts) 235 if localVarHTTPHeaderAccept != "" { 236 localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept 237 } 238 239 if localVarOptionals != nil && localVarOptionals.IfNoneMatch.IsSet() { 240 localVarHeaderParams["If-None-Match"] = openapi.ParameterToString(localVarOptionals.IfNoneMatch.Value(), "") 241 } 242 243 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 244 if err != nil { 245 return localVarReturnValue, nil, err 246 } 247 248 localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r) 249 if err != nil || localVarHTTPResponse == nil { 250 return localVarReturnValue, localVarHTTPResponse, err 251 } 252 253 localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body) 254 localVarHTTPResponse.Body.Close() 255 if err != nil { 256 return localVarReturnValue, localVarHTTPResponse, err 257 } 258 259 apiError := openapi.GenericOpenAPIError{ 260 RawBody: localVarBody, 261 ErrorStatus: localVarHTTPResponse.Status, 262 } 263 264 switch localVarHTTPResponse.StatusCode { 265 case 200: 266 err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 267 if err != nil { 268 apiError.ErrorStatus = err.Error() 269 } 270 return localVarReturnValue, localVarHTTPResponse, nil 271 case 307: 272 return localVarReturnValue, localVarHTTPResponse, nil 273 case 400: 274 var v models.ProblemDetails 275 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 276 if err != nil { 277 apiError.ErrorStatus = err.Error() 278 return localVarReturnValue, localVarHTTPResponse, apiError 279 } 280 apiError.ErrorModel = v 281 return localVarReturnValue, localVarHTTPResponse, apiError 282 case 403: 283 var v models.ProblemDetails 284 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 285 if err != nil { 286 apiError.ErrorStatus = err.Error() 287 return localVarReturnValue, localVarHTTPResponse, apiError 288 } 289 apiError.ErrorModel = v 290 return localVarReturnValue, localVarHTTPResponse, apiError 291 case 404: 292 var v models.ProblemDetails 293 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 294 if err != nil { 295 apiError.ErrorStatus = err.Error() 296 return localVarReturnValue, localVarHTTPResponse, apiError 297 } 298 apiError.ErrorModel = v 299 return localVarReturnValue, localVarHTTPResponse, apiError 300 case 411: 301 var v models.ProblemDetails 302 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 303 if err != nil { 304 apiError.ErrorStatus = err.Error() 305 return localVarReturnValue, localVarHTTPResponse, apiError 306 } 307 apiError.ErrorModel = v 308 return localVarReturnValue, localVarHTTPResponse, apiError 309 case 413: 310 var v models.ProblemDetails 311 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 312 if err != nil { 313 apiError.ErrorStatus = err.Error() 314 return localVarReturnValue, localVarHTTPResponse, apiError 315 } 316 apiError.ErrorModel = v 317 return localVarReturnValue, localVarHTTPResponse, apiError 318 case 415: 319 var v models.ProblemDetails 320 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 321 if err != nil { 322 apiError.ErrorStatus = err.Error() 323 return localVarReturnValue, localVarHTTPResponse, apiError 324 } 325 apiError.ErrorModel = v 326 return localVarReturnValue, localVarHTTPResponse, apiError 327 case 500: 328 var v models.ProblemDetails 329 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 330 if err != nil { 331 apiError.ErrorStatus = err.Error() 332 return localVarReturnValue, localVarHTTPResponse, apiError 333 } 334 apiError.ErrorModel = v 335 return localVarReturnValue, localVarHTTPResponse, apiError 336 case 501: 337 var v models.ProblemDetails 338 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 339 if err != nil { 340 apiError.ErrorStatus = err.Error() 341 return localVarReturnValue, localVarHTTPResponse, apiError 342 } 343 apiError.ErrorModel = v 344 return localVarReturnValue, localVarHTTPResponse, apiError 345 case 503: 346 var v models.ProblemDetails 347 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 348 if err != nil { 349 apiError.ErrorStatus = err.Error() 350 return localVarReturnValue, localVarHTTPResponse, apiError 351 } 352 apiError.ErrorModel = v 353 return localVarReturnValue, localVarHTTPResponse, apiError 354 default: 355 return localVarReturnValue, localVarHTTPResponse, nil 356 } 357 }