e6143caceaf031e6b1a610f76c0a57dfc92e7f62
[nonrtric/plt/sme.git] / internal / common / common.gen.go
1 // Package common provides primitives to interact with the openapi HTTP API.
2 //
3 // Code generated by github.com/deepmap/oapi-codegen version v1.10.1 DO NOT EDIT.
4 package common
5
6 import (
7         "bytes"
8         "compress/gzip"
9         "encoding/base64"
10         "fmt"
11         "net/url"
12         "path"
13         "strings"
14
15         "github.com/getkin/kin-openapi/openapi3"
16         externalRef0 "oransc.org/nonrtric/sme/internal/common29571"
17 )
18
19 // Defines values for AfResultStatus.
20 const (
21         AfResultStatusOTHER AfResultStatus = "OTHER"
22
23         AfResultStatusRELOCNOALLOWED AfResultStatus = "RELOC_NO_ALLOWED"
24
25         AfResultStatusSUCCESS AfResultStatus = "SUCCESS"
26
27         AfResultStatusTEMPORARYCONGESTION AfResultStatus = "TEMPORARY_CONGESTION"
28 )
29
30 // Defines values for FlowDirection.
31 const (
32         FlowDirectionBIDIRECTIONAL FlowDirection = "BIDIRECTIONAL"
33
34         FlowDirectionDOWNLINK FlowDirection = "DOWNLINK"
35
36         FlowDirectionUNSPECIFIED FlowDirection = "UNSPECIFIED"
37
38         FlowDirectionUPLINK FlowDirection = "UPLINK"
39 )
40
41 // Defines values for NotificationMethod.
42 const (
43         NotificationMethodONETIME NotificationMethod = "ONE_TIME"
44
45         NotificationMethodONEVENTDETECTION NotificationMethod = "ON_EVENT_DETECTION"
46
47         NotificationMethodPERIODIC NotificationMethod = "PERIODIC"
48 )
49
50 // Defines values for SupportedGADShapes.
51 const (
52         SupportedGADShapesELLIPSOIDARC SupportedGADShapes = "ELLIPSOID_ARC"
53
54         SupportedGADShapesLOCAL2DPOINTUNCERTAINTYELLIPSE SupportedGADShapes = "LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE"
55
56         SupportedGADShapesLOCAL3DPOINTUNCERTAINTYELLIPSOID SupportedGADShapes = "LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID"
57
58         SupportedGADShapesPOINT SupportedGADShapes = "POINT"
59
60         SupportedGADShapesPOINTALTITUDE SupportedGADShapes = "POINT_ALTITUDE"
61
62         SupportedGADShapesPOINTALTITUDEUNCERTAINTY SupportedGADShapes = "POINT_ALTITUDE_UNCERTAINTY"
63
64         SupportedGADShapesPOINTUNCERTAINTYCIRCLE SupportedGADShapes = "POINT_UNCERTAINTY_CIRCLE"
65
66         SupportedGADShapesPOINTUNCERTAINTYELLIPSE SupportedGADShapes = "POINT_UNCERTAINTY_ELLIPSE"
67
68         SupportedGADShapesPOLYGON SupportedGADShapes = "POLYGON"
69 )
70
71 // IP address and/or FQDN.
72 type AddrFqdn struct {
73         // Indicates an FQDN.
74         Fqdn *string `json:"fqdn,omitempty"`
75
76         // Contains an IP adresse.
77         IpAddr *externalRef0.IpAddr `json:"ipAddr,omitempty"`
78 }
79
80 // Identifies the result of application layer handling.
81 type AfResultInfo struct {
82         // Possible values are:
83         // - SUCCESS: The application layer is ready or the relocation is completed.
84         // - TEMPORARY_CONGESTION: The application relocation fails due to temporary congestion.
85         // - RELOC_NO_ALLOWED: The application relocation fails because application relocation is not allowed.
86         // - OTHER: The application relocation fails due to other reason.
87         AfStatus AfResultStatus `json:"afStatus"`
88
89         // Contains EAS IP replacement information.
90         EasIpReplaceInfos *[]externalRef0.EasIpReplacementInfo `json:"easIpReplaceInfos,omitempty"`
91
92         // Either the "routeInfo" attribute or the "routeProfId" attribute shall be included in the "RouteToLocation" data type.
93         TrafficRoute *externalRef0.RouteToLocation `json:"trafficRoute"`
94
95         // If present and set to "true" it indicates that buffering of uplink traffic to the target DNAI is needed.
96         UpBuffInd *bool `json:"upBuffInd,omitempty"`
97 }
98
99 // Possible values are:
100 // - SUCCESS: The application layer is ready or the relocation is completed.
101 // - TEMPORARY_CONGESTION: The application relocation fails due to temporary congestion.
102 // - RELOC_NO_ALLOWED: The application relocation fails because application relocation is not allowed.
103 // - OTHER: The application relocation fails due to other reason.
104 type AfResultStatus string
105
106 // Indicates value of altitude.
107 type Altitude float64
108
109 // Indicates value of angle.
110 type Angle int
111
112 // Indicates a Civic address.
113 type CivicAddress struct {
114         A1         *string `json:"A1,omitempty"`
115         A2         *string `json:"A2,omitempty"`
116         A3         *string `json:"A3,omitempty"`
117         A4         *string `json:"A4,omitempty"`
118         A5         *string `json:"A5,omitempty"`
119         A6         *string `json:"A6,omitempty"`
120         ADDCODE    *string `json:"ADDCODE,omitempty"`
121         BLD        *string `json:"BLD,omitempty"`
122         FLR        *string `json:"FLR,omitempty"`
123         HNO        *string `json:"HNO,omitempty"`
124         HNS        *string `json:"HNS,omitempty"`
125         LMK        *string `json:"LMK,omitempty"`
126         LOC        *string `json:"LOC,omitempty"`
127         NAM        *string `json:"NAM,omitempty"`
128         PC         *string `json:"PC,omitempty"`
129         PCN        *string `json:"PCN,omitempty"`
130         PLC        *string `json:"PLC,omitempty"`
131         POBOX      *string `json:"POBOX,omitempty"`
132         POD        *string `json:"POD,omitempty"`
133         POM        *string `json:"POM,omitempty"`
134         PRD        *string `json:"PRD,omitempty"`
135         PRM        *string `json:"PRM,omitempty"`
136         RD         *string `json:"RD,omitempty"`
137         RDBR       *string `json:"RDBR,omitempty"`
138         RDSEC      *string `json:"RDSEC,omitempty"`
139         RDSUBBR    *string `json:"RDSUBBR,omitempty"`
140         ROOM       *string `json:"ROOM,omitempty"`
141         SEAT       *string `json:"SEAT,omitempty"`
142         STS        *string `json:"STS,omitempty"`
143         UNIT       *string `json:"UNIT,omitempty"`
144         Country    *string `json:"country,omitempty"`
145         Method     *string `json:"method,omitempty"`
146         ProvidedBy *string `json:"providedBy,omitempty"`
147         UsageRules *string `json:"usageRules,omitempty"`
148 }
149
150 // Describes a communication failure detected by AMF
151 type CommunicationFailure struct {
152         NasReleaseCode *string `json:"nasReleaseCode,omitempty"`
153
154         // Represents the NGAP cause.
155         RanReleaseCode *externalRef0.NgApCause `json:"ranReleaseCode,omitempty"`
156 }
157
158 // Indicates value of confidence.
159 type Confidence int
160
161 // Represents the content version of some content.
162 type ContentVersion int
163
164 // EllipsoidArc defines model for EllipsoidArc.
165 type EllipsoidArc struct {
166         // Embedded struct due to allOf(#/components/schemas/GADShape)
167         GADShape `yaml:",inline"`
168         // Embedded fields due to inline allOf schema
169         // Indicates value of confidence.
170         Confidence Confidence `json:"confidence"`
171
172         // Indicates value of angle.
173         IncludedAngle Angle `json:"includedAngle"`
174
175         // Indicates value of the inner radius.
176         InnerRadius InnerRadius `json:"innerRadius"`
177
178         // Indicates value of angle.
179         OffsetAngle Angle `json:"offsetAngle"`
180
181         // Geographical coordinates.
182         Point GeographicalCoordinates `json:"point"`
183
184         // Indicates value of uncertainty.
185         UncertaintyRadius Uncertainty `json:"uncertaintyRadius"`
186 }
187
188 // Identifies an Ethernet flow.
189 type EthFlowDescription struct {
190         // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
191         DestMacAddr *externalRef0.MacAddr48 `json:"destMacAddr,omitempty"`
192
193         // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
194         DestMacAddrEnd *externalRef0.MacAddr48 `json:"destMacAddrEnd,omitempty"`
195         EthType        string                  `json:"ethType"`
196
197         // Defines a packet filter of an IP flow.
198         FDesc *FlowDescription `json:"fDesc,omitempty"`
199
200         // Possible values are
201         // - DOWNLINK: The corresponding filter applies for traffic to the UE.
202         // - UPLINK: The corresponding filter applies for traffic from the UE.
203         // - BIDIRECTIONAL: The corresponding filter applies for traffic both to and from the UE.
204         // - UNSPECIFIED: The corresponding filter applies for traffic to the UE (downlink), but has no specific direction declared. The service data flow detection shall apply the filter for uplink traffic as if the filter was bidirectional. The PCF shall not use the value UNSPECIFIED in filters created by the network in NW-initiated procedures. The PCF shall only include the value UNSPECIFIED in filters in UE-initiated procedures if the same value is received from the SMF.
205         FDir *FlowDirection `json:"fDir,omitempty"`
206
207         // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
208         SourceMacAddr *externalRef0.MacAddr48 `json:"sourceMacAddr,omitempty"`
209
210         // String identifying a MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of RFC 7042
211         SrcMacAddrEnd *externalRef0.MacAddr48 `json:"srcMacAddrEnd,omitempty"`
212         VlanTags      *[]string               `json:"vlanTags,omitempty"`
213 }
214
215 // Defines a packet filter of an IP flow.
216 type FlowDescription string
217
218 // Possible values are
219 // - DOWNLINK: The corresponding filter applies for traffic to the UE.
220 // - UPLINK: The corresponding filter applies for traffic from the UE.
221 // - BIDIRECTIONAL: The corresponding filter applies for traffic both to and from the UE.
222 // - UNSPECIFIED: The corresponding filter applies for traffic to the UE (downlink), but has no specific direction declared. The service data flow detection shall apply the filter for uplink traffic as if the filter was bidirectional. The PCF shall not use the value UNSPECIFIED in filters created by the network in NW-initiated procedures. The PCF shall only include the value UNSPECIFIED in filters in UE-initiated procedures if the same value is received from the SMF.
223 type FlowDirection string
224
225 // Common base type for GAD shapes.
226 type GADShape struct {
227         // Indicates supported GAD shapes.
228         Shape SupportedGADShapes `json:"shape"`
229 }
230
231 // Geographic area specified by different shape.
232 type GeographicArea interface{}
233
234 // Geographical coordinates.
235 type GeographicalCoordinates struct {
236         Lat float64 `json:"lat"`
237         Lon float64 `json:"lon"`
238 }
239
240 // Indicates value of the inner radius.
241 type InnerRadius int32
242
243 // Range of IPv4 addresses
244 type Ipv4AddressRange struct {
245         // String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166.
246         End *externalRef0.Ipv4Addr `json:"end,omitempty"`
247
248         // String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166.
249         Start *externalRef0.Ipv4Addr `json:"start,omitempty"`
250 }
251
252 // Local2dPointUncertaintyEllipse defines model for Local2dPointUncertaintyEllipse.
253 type Local2dPointUncertaintyEllipse struct {
254         // Embedded struct due to allOf(#/components/schemas/GADShape)
255         GADShape `yaml:",inline"`
256         // Embedded fields due to inline allOf schema
257         // Indicates value of confidence.
258         Confidence Confidence `json:"confidence"`
259
260         // Indicates a Local origin in a reference system
261         LocalOrigin LocalOrigin `json:"localOrigin"`
262
263         // Relative Cartesian Location
264         Point RelativeCartesianLocation `json:"point"`
265
266         // Ellipse with uncertainty.
267         UncertaintyEllipse UncertaintyEllipse `json:"uncertaintyEllipse"`
268 }
269
270 // Local3dPointUncertaintyEllipsoid defines model for Local3dPointUncertaintyEllipsoid.
271 type Local3dPointUncertaintyEllipsoid struct {
272         // Embedded struct due to allOf(#/components/schemas/GADShape)
273         GADShape `yaml:",inline"`
274         // Embedded fields due to inline allOf schema
275         // Indicates value of confidence.
276         Confidence Confidence `json:"confidence"`
277
278         // Indicates a Local origin in a reference system
279         LocalOrigin LocalOrigin `json:"localOrigin"`
280
281         // Relative Cartesian Location
282         Point RelativeCartesianLocation `json:"point"`
283
284         // Ellipsoid with uncertainty
285         UncertaintyEllipsoid UncertaintyEllipsoid `json:"uncertaintyEllipsoid"`
286 }
287
288 // Indicates a Local origin in a reference system
289 type LocalOrigin struct {
290         CoordinateId *string `json:"coordinateId,omitempty"`
291
292         // Geographical coordinates.
293         Point *GeographicalCoordinates `json:"point,omitempty"`
294 }
295
296 // Describes a network area information in which the NF service consumer requests the number of UEs.
297 type NetworkAreaInfo struct {
298         // Contains a list of E-UTRA cell identities.
299         Ecgis *[]externalRef0.Ecgi `json:"ecgis,omitempty"`
300
301         // Contains a list of NG RAN nodes.
302         GRanNodeIds *[]externalRef0.GlobalRanNodeId `json:"gRanNodeIds,omitempty"`
303
304         // Contains a list of NR cell identities.
305         Ncgis *[]externalRef0.Ncgi `json:"ncgis,omitempty"`
306
307         // Contains a list of tracking area identities.
308         Tais *[]externalRef0.Tai `json:"tais,omitempty"`
309 }
310
311 // Possible values are - PERIODIC - ONE_TIME - ON_EVENT_DETECTION
312 type NotificationMethod string
313
314 // Indicates value of orientation angle.
315 type Orientation int
316
317 // Point defines model for Point.
318 type Point struct {
319         // Embedded struct due to allOf(#/components/schemas/GADShape)
320         GADShape `yaml:",inline"`
321         // Embedded fields due to inline allOf schema
322         // Geographical coordinates.
323         Point GeographicalCoordinates `json:"point"`
324 }
325
326 // PointAltitude defines model for PointAltitude.
327 type PointAltitude struct {
328         // Embedded struct due to allOf(#/components/schemas/GADShape)
329         GADShape `yaml:",inline"`
330         // Embedded fields due to inline allOf schema
331         // Indicates value of altitude.
332         Altitude Altitude `json:"altitude"`
333
334         // Geographical coordinates.
335         Point GeographicalCoordinates `json:"point"`
336 }
337
338 // PointAltitudeUncertainty defines model for PointAltitudeUncertainty.
339 type PointAltitudeUncertainty struct {
340         // Embedded struct due to allOf(#/components/schemas/GADShape)
341         GADShape `yaml:",inline"`
342         // Embedded fields due to inline allOf schema
343         // Indicates value of altitude.
344         Altitude Altitude `json:"altitude"`
345
346         // Indicates value of confidence.
347         Confidence Confidence `json:"confidence"`
348
349         // Geographical coordinates.
350         Point GeographicalCoordinates `json:"point"`
351
352         // Indicates value of uncertainty.
353         UncertaintyAltitude Uncertainty `json:"uncertaintyAltitude"`
354
355         // Ellipse with uncertainty.
356         UncertaintyEllipse UncertaintyEllipse `json:"uncertaintyEllipse"`
357 }
358
359 // List of points.
360 type PointList []GeographicalCoordinates
361
362 // PointUncertaintyCircle defines model for PointUncertaintyCircle.
363 type PointUncertaintyCircle struct {
364         // Embedded struct due to allOf(#/components/schemas/GADShape)
365         GADShape `yaml:",inline"`
366         // Embedded fields due to inline allOf schema
367         // Geographical coordinates.
368         Point GeographicalCoordinates `json:"point"`
369
370         // Indicates value of uncertainty.
371         Uncertainty Uncertainty `json:"uncertainty"`
372 }
373
374 // PointUncertaintyEllipse defines model for PointUncertaintyEllipse.
375 type PointUncertaintyEllipse struct {
376         // Embedded struct due to allOf(#/components/schemas/GADShape)
377         GADShape `yaml:",inline"`
378         // Embedded fields due to inline allOf schema
379         // Indicates value of confidence.
380         Confidence Confidence `json:"confidence"`
381
382         // Geographical coordinates.
383         Point GeographicalCoordinates `json:"point"`
384
385         // Ellipse with uncertainty.
386         UncertaintyEllipse UncertaintyEllipse `json:"uncertaintyEllipse"`
387 }
388
389 // Polygon defines model for Polygon.
390 type Polygon struct {
391         // Embedded struct due to allOf(#/components/schemas/GADShape)
392         GADShape `yaml:",inline"`
393         // Embedded fields due to inline allOf schema
394         // List of points.
395         PointList PointList `json:"pointList"`
396 }
397
398 // Relative Cartesian Location
399 type RelativeCartesianLocation struct {
400         // string with format 'float' as defined in OpenAPI.
401         X externalRef0.Float `json:"x"`
402
403         // string with format 'float' as defined in OpenAPI.
404         Z *externalRef0.Float `json:"z,omitempty"`
405 }
406
407 // Represents the type of reporting that the subscription requires.
408 type ReportingInformation struct {
409         // indicating a time in seconds.
410         GrpRepTime *externalRef0.DurationSec `json:"grpRepTime,omitempty"`
411         ImmRep     *bool                     `json:"immRep,omitempty"`
412
413         // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
414         MaxReportNbr *externalRef0.Uinteger `json:"maxReportNbr,omitempty"`
415
416         // string with format 'date-time' as defined in OpenAPI.
417         MonDur *externalRef0.DateTime `json:"monDur,omitempty"`
418
419         // Possible values are:
420         // - ACTIVATE: The event notification is activated.
421         // - DEACTIVATE: The event notification is deactivated and shall be muted. The available event(s) shall be stored.
422         // - RETRIEVAL: The event notification shall be sent to the NF service consumer(s), after that, is muted again.
423         NotifFlag *externalRef0.NotificationFlag `json:"notifFlag,omitempty"`
424
425         // Possible values are - PERIODIC - ONE_TIME - ON_EVENT_DETECTION
426         NotifMethod *NotificationMethod `json:"notifMethod,omitempty"`
427
428         // Criteria for partitioning the UEs before applying the sampling ratio.
429         PartitionCriteria *[]externalRef0.PartitioningCriteria `json:"partitionCriteria,omitempty"`
430
431         // indicating a time in seconds.
432         RepPeriod *externalRef0.DurationSec `json:"repPeriod,omitempty"`
433
434         // Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 of 3GPP TS 23.502), expressed in percent.
435         SampRatio *externalRef0.SamplingRatio `json:"sampRatio,omitempty"`
436 }
437
438 // Indicates supported GAD shapes.
439 type SupportedGADShapes string
440
441 // Indicates TSC Traffic pattern.
442 type TscaiInputContainer struct {
443         // string with format 'date-time' as defined in OpenAPI.
444         BurstArrivalTime *externalRef0.DateTime `json:"burstArrivalTime,omitempty"`
445
446         // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
447         Periodicity *externalRef0.Uinteger `json:"periodicity,omitempty"`
448
449         // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
450         SurTimeInNumMsg *externalRef0.Uinteger `json:"surTimeInNumMsg,omitempty"`
451
452         // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
453         SurTimeInTime *externalRef0.Uinteger `json:"surTimeInTime,omitempty"`
454 }
455
456 // Indicates value of uncertainty.
457 type Uncertainty float32
458
459 // Ellipse with uncertainty.
460 type UncertaintyEllipse struct {
461         // Indicates value of orientation angle.
462         OrientationMajor Orientation `json:"orientationMajor"`
463
464         // Indicates value of uncertainty.
465         SemiMajor Uncertainty `json:"semiMajor"`
466
467         // Indicates value of uncertainty.
468         SemiMinor Uncertainty `json:"semiMinor"`
469 }
470
471 // Ellipsoid with uncertainty
472 type UncertaintyEllipsoid struct {
473         // Indicates value of orientation angle.
474         OrientationMajor Orientation `json:"orientationMajor"`
475
476         // Indicates value of uncertainty.
477         SemiMajor Uncertainty `json:"semiMajor"`
478
479         // Indicates value of uncertainty.
480         SemiMinor Uncertainty `json:"semiMinor"`
481
482         // Indicates value of uncertainty.
483         Vertical Uncertainty `json:"vertical"`
484 }
485
486 // Base64 encoded, gzipped, json marshaled Swagger object
487 var swaggerSpec = []string{
488
489         "H4sIAAAAAAAC/+xbbW/jNvL/KoT+/xd3gJPdTXb7kHdaW0mFOrJPdtorukVASyObXYpUSSpZ3yLf/UDq",
490         "wXqgbMdJ0Tvg3ixiamY4nBnNzI+j/epEPM04A6akc/XVkdEGUmz+dONYXP8RM/13DDISJFOEM+fK8ecI",
491         "x7EAKRFm8Rsu0PU/JsG5M3IywTMQioCRkNi5WUwirEAz14xqm4Fz5UglCFs7TyOHZHp/zf3/AhLnylku",
492         "Lr7/8O27+zFPU84mWOHzLU7p/73ZHeBNqf0bv2B+eqoF89XvECkt2E1CkDlVPku4RbkYmCIJAYnUBpAw",
493         "pIgnCGcZ1WoTzhDFWxBog1lMCVv3z42ThcIqlw3trWpWqpTUTyMHsPSzEDKKI9AKyr6GY84UJkwiz10g",
494         "f45EQZ0CU4iwhIvUKKm1IgpSeaIJvYYmWrYx19PISQnzC7HvauNiIfBWP1QCJwmJQp4rOHFfw7vkU17Y",
495         "WkvNs495kvgstrgrQZkAqc+OWYwkKKQ4+uQokcMnBxFtkira1AYrtMqTBHSMaZ/mGSXsMyq11pza5wqL",
496         "NSg0CVwfEYkYQAzx+Se2i9IV5xQwM/El4I+cCIidq193fv9tT9ztQqN9lDmXkqwooAdMc/1yCLj6xM7Q",
497         "4m489haLK7TcgCUKiUQCcLxFXJQRS0vT6UfawBSU0f8MLb3b+Sx0w1/ux7Pgxlss/VnQl9uQkGBCJYpz",
498         "MLaBNOMCiy2KOFuDNFGmxYbedDa+D2b37nQ6+9mbHCFyBRHO5SCRNjtXCFPKH0vdZ8sfvPB4ZbnagNCW",
499         "kUZJZ+QAy1PtpNKezsixmcMZOd3jOCPHbN7w6i5NuVQRlcewL80Zh5ocUhLrd7N4UZ0rJ+b5ioIzclL8",
500         "haRax8uLb7/51rxpxe+zcqHcnOXpCoTZnK3pkTtryvPWJt+8bWzxtpZOmIJ1IX5MHkjkFol+bxpHhrKq",
501         "Cf186L7T//Ztd2FfvrQvv7cvf7Avf2NfnkzGs4lnffZxOrGuX09D6/oPwWxgfWFdn97+aF+fja3rgXtr",
502         "XZ+PB5YD+/p0gH72cfbPgSeTgfUBhcIB+tBOP0AeTj6GAw8W3njoyd3HIa7ZgLoLz13aHyztjrsLfDtD",
503         "xHOmxNb6LAW14bH1USb4A4kh/mjnzCVeQ5jT4t3pPLZ1NLqs5qzMiNeY0FxYssLE/FqZ9zVqcpjEmQtA",
504         "MSiIFMRotUXu7XXvNWZYhkABSxjzIuP1dBeYdUhOaAGCtZuNdXkYOi5LSAwsOi71RTV5K/+9e3s4/3Gm",
505         "gKmfQEgjvbtZCGXvUfSKUUGOHgp6vbfkab3e6HIbe3iUkkxyErsiMq0jpbPEufp1f+N4404WG5yB8zT6",
506         "2nFS1LLOPiENO+p+m0U0jyGua8rextUQGS4GIsQxOdzs+g3Sp5HDk0SCet5uGSdMHaK+Ab4WONuQCNMx",
507         "5yImTAeEebNYBEI3z2p7nM53O4Zes1co0zaBbYv2UbuGHjUd1m8bfxt1Yq6OF+SK6NxEkNpcU/44aZLt",
508         "QTWYIU/3RgwUSih/7FfrGKS6xdEL4FfJ/f47rV9DnFe08C+VCGqzNGayJKBE2+GQW7v2MnxEHMVGBEQV",
509         "k+S5iOAVbSVF9LqmeqCYLfHa+LVGg/1ahb+UmO5iL8DrvAGVH2xo52BITiAhzBSjDEefdTASqkAUzarG",
510         "tVVw9vuxlhuOwVEaP0xmPwdTP/ixgBARFwJkxlmsoWC5tcEVIFGioVQbE955BoTczU8QkQieNoV89Cd+",
511         "6I012nCnz5S14mqjddJgtyv3LljMvbF/7VcI7PmHRH+L+SPToPjvI7TKFdpgjcSQzCAimjKu7I5iiCgW",
512         "EJ+brSSIBxIBirHCxnNlM6Ep5QZTavbdmm1KRbQCHQCOJSJJk+YRS7Qi9aaYFrvNx9elVI0SNY7UPEXF",
513         "b1gBEVYKkigSgMvWRtMyUI9cfNYUwc9nhBFFzONM8AjiXIDs7sQZ3aIydx/ejjB051nlVieUOK1kGAgf",
514         "AXmAhlMXt9dt3FoFsDNyijB0Rk4rlPSDnTZWtFr3DZZbJZ1Z0AprY24zMO65cSf69BkYTBcTzZDqcspN",
515         "tktxlmnBV18dbzr154uZP7l3w/FQ/mz1Ogb3uNP7i8n9fOYHy/u7YOyFS9cPlr/cF+K8IUFTHmF6Ec91",
516         "BW6U6EI+1KIvh0XP/Mle4ZcDwjmJHQ2E/GA5xD8v+4Jia3e69Jd3E28vdX2J0OVqan6UhGbDUglrnn7s",
517         "h+PpfmUaIsZERBSsgg54aNg189n0l5tZMMxIt+uiupZdyTbAqYnisuHtdCuyiud9lXuRZxkXCuLqBZC9",
518         "YlbIsZWyXUPpCsCmSWfbI5r0IhB0h36Qqm/z57JVBj7MV9n3CPl1XD6LutU0H2BspYR+t7szvS7juKpD",
519         "RR6PSZKA0IjL+O687at289/Ld01CFO0o++0wxQZy7Lmv+76JJM++f2u5qaNFp7JHyLvvWlLMz46YTsRq",
520         "mSOjni1q/TYyOwiTdc0xUAYJw9S6oyRMXV70rig/HALQfvbwvrw/DDFbW8qOWdbb+/OH99UFIsieE+Dk",
521         "drjSwbTXCgv1Yjm2O4kDFemvBPZUqzYTZE3YIcZpg/RYuB0CxYo8wBgLBZJg1prcWE1xJOKuU1ov7nda",
522         "jmoYntuKzfOwtTk+upggIxM9ErVBDbEI6hzrHGwS/ufxtjGe5XPNc6LXiwbtFL9fHvC7Uar0/M64wzOR",
523         "Qio3lBoPYCTA1KsIkNxKBWkvy+3qkD9wc/yiCzBb4goKIKQ7G/tAvHltXKEmU4sbs2Z9vMcNiTamigTX",
524         "NRyMOJN5agZxf+Qgy4vSop7prH/nyQLkdLJ9tCb7Jt8YUSLNVN47u1uGLoqAUkTMJZeW8eLZd7QmB2fd",
525         "6xCzgMfgx8epGtyg0A0Q4/HLFbyhfIVprcBBXdnRBg3C1zZmcIwxFT5SPyVw9JmwdRmDr6blEh9S0vr2",
526         "cEWScoxyWw98Dt5HoTM090J/NvHH6AzNAu9+6d965s977ycvWN5PvGUB61tXABWTM3IqJvNnl8mK/WeC",
527         "AFN44IK43xDyHb1lfNxuV63d37xKVi8uhC9Oe/17+2ddtZuTnNdnas78X3w23BC2dwiyw2J/hj1GO0We",
528         "ZZpGydx93dA1VBMR/lU2O7WZesWZk3uk2m0A/ec00T2vD3TQNvVPn1lZosVcZVu7rV0cTYlU/Zw1LUuC",
529         "EWotAM/11W4O8u5DsxZc9gvWwLXNX5/tWi57jflmU9ypzm76NzKWOrcZ8T8BLr+i9V//bX0FkHvQPyXK",
530         "LR1U3Ba+WlhXb/LBy0RDaDWDeXLEQUvdzTmGIavlo46CFNW0qCbu4pQvJzab15Rj0z/+62UCOub5Yr0I",
531         "DCHjQhG29neA7eC3LGYExBMkKubi61kzuMpXNSMqt7dcm65FFkK2JOmpXwFNcmF0XUBkvjRJ0xCyBiqu",
532         "P8I1ebs4ZbA6dQx/12hcNXF+qqAJVmBOrWGXhgfXFK9PhU4NeGHEVDJ3WGPfi2RBJzrBYaEhE2djQRQI",
533         "gi24q3xihoA1fREFoEE7WkHCRfEl7rZalzjNqP5h/PZSQDZvbFtreghGCsjmIAiPXyfm9IlCvXCiuEVp",
534         "kUKGFUFaJlN7wJmsqDuj2RogmsHknsHfvlHebjbXG17unUuOOtPfoya7R85obUB2KSNMfJblqrwfALHP",
535         "ZsvFGC3LDwwyrBQI838jWE4pXumWTYkcutlrlQupXCHIA6YvyWGNZJCZwCQRabVlp+YomQst2GdBnt7K",
536         "9WtKfMF5d/Jssd6BgQdvIBpdSWsalZjqZ71+2E3c7G2lrReCXg/Ur2aNy5Bb/Ds/+KlY87JF2xZSchRf",
537         "B/oZPsKeydedbNebNwWO+mf6bb/PWvf5Q01l15T/3ZYcOQ9a8wjTP8MBteyjfPFkPrctrugVUTpzlV/t",
538         "FKKKb5Sdd+dvz9+aD2wzYDgjzpVzaZZ05Vcb6VzpzPf07wAAAP//IUnb6Pg3AAA=",
539 }
540
541 // GetSwagger returns the content of the embedded swagger specification file
542 // or error if failed to decode
543 func decodeSpec() ([]byte, error) {
544         zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
545         if err != nil {
546                 return nil, fmt.Errorf("error base64 decoding spec: %s", err)
547         }
548         zr, err := gzip.NewReader(bytes.NewReader(zipped))
549         if err != nil {
550                 return nil, fmt.Errorf("error decompressing spec: %s", err)
551         }
552         var buf bytes.Buffer
553         _, err = buf.ReadFrom(zr)
554         if err != nil {
555                 return nil, fmt.Errorf("error decompressing spec: %s", err)
556         }
557
558         return buf.Bytes(), nil
559 }
560
561 var rawSpec = decodeSpecCached()
562
563 // a naive cached of a decoded swagger spec
564 func decodeSpecCached() func() ([]byte, error) {
565         data, err := decodeSpec()
566         return func() ([]byte, error) {
567                 return data, err
568         }
569 }
570
571 // Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
572 func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
573         var res = make(map[string]func() ([]byte, error))
574         if len(pathToFile) > 0 {
575                 res[pathToFile] = rawSpec
576         }
577
578         pathPrefix := path.Dir(pathToFile)
579
580         for rawPath, rawFunc := range externalRef0.PathToRawSpec(path.Join(pathPrefix, "TS29571_CommonData.yaml")) {
581                 if _, ok := res[rawPath]; ok {
582                         // it is not possible to compare functions in golang, so always overwrite the old value
583                 }
584                 res[rawPath] = rawFunc
585         }
586         return res
587 }
588
589 // GetSwagger returns the Swagger specification corresponding to the generated code
590 // in this file. The external references of Swagger specification are resolved.
591 // The logic of resolving external references is tightly connected to "import-mapping" feature.
592 // Externally referenced files must be embedded in the corresponding golang packages.
593 // Urls can be supported but this task was out of the scope.
594 func GetSwagger() (swagger *openapi3.T, err error) {
595         var resolvePath = PathToRawSpec("")
596
597         loader := openapi3.NewLoader()
598         loader.IsExternalRefsAllowed = true
599         loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
600                 var pathToFile = url.String()
601                 pathToFile = path.Clean(pathToFile)
602                 getSpec, ok := resolvePath[pathToFile]
603                 if !ok {
604                         err1 := fmt.Errorf("path not found: %s", pathToFile)
605                         return nil, err1
606                 }
607                 return getSpec()
608         }
609         var specData []byte
610         specData, err = rawSpec()
611         if err != nil {
612                 return
613         }
614         swagger, err = loader.LoadFromData(specData)
615         if err != nil {
616                 return
617         }
618         return
619 }