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