1 // Package common provides primitives to interact with the openapi HTTP API.
3 // Code generated by github.com/deepmap/oapi-codegen version v1.10.1 DO NOT EDIT.
15 "github.com/getkin/kin-openapi/openapi3"
16 externalRef0 "oransc.org/nonrtric/capifcore/internal/common29571"
19 // Defines values for AfResultStatus.
21 AfResultStatusOTHER AfResultStatus = "OTHER"
23 AfResultStatusRELOCNOALLOWED AfResultStatus = "RELOC_NO_ALLOWED"
25 AfResultStatusSUCCESS AfResultStatus = "SUCCESS"
27 AfResultStatusTEMPORARYCONGESTION AfResultStatus = "TEMPORARY_CONGESTION"
30 // Defines values for FlowDirection.
32 FlowDirectionBIDIRECTIONAL FlowDirection = "BIDIRECTIONAL"
34 FlowDirectionDOWNLINK FlowDirection = "DOWNLINK"
36 FlowDirectionUNSPECIFIED FlowDirection = "UNSPECIFIED"
38 FlowDirectionUPLINK FlowDirection = "UPLINK"
41 // Defines values for NotificationMethod.
43 NotificationMethodONETIME NotificationMethod = "ONE_TIME"
45 NotificationMethodONEVENTDETECTION NotificationMethod = "ON_EVENT_DETECTION"
47 NotificationMethodPERIODIC NotificationMethod = "PERIODIC"
50 // Defines values for SupportedGADShapes.
52 SupportedGADShapesELLIPSOIDARC SupportedGADShapes = "ELLIPSOID_ARC"
54 SupportedGADShapesLOCAL2DPOINTUNCERTAINTYELLIPSE SupportedGADShapes = "LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE"
56 SupportedGADShapesLOCAL3DPOINTUNCERTAINTYELLIPSOID SupportedGADShapes = "LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID"
58 SupportedGADShapesPOINT SupportedGADShapes = "POINT"
60 SupportedGADShapesPOINTALTITUDE SupportedGADShapes = "POINT_ALTITUDE"
62 SupportedGADShapesPOINTALTITUDEUNCERTAINTY SupportedGADShapes = "POINT_ALTITUDE_UNCERTAINTY"
64 SupportedGADShapesPOINTUNCERTAINTYCIRCLE SupportedGADShapes = "POINT_UNCERTAINTY_CIRCLE"
66 SupportedGADShapesPOINTUNCERTAINTYELLIPSE SupportedGADShapes = "POINT_UNCERTAINTY_ELLIPSE"
68 SupportedGADShapesPOLYGON SupportedGADShapes = "POLYGON"
71 // IP address and/or FQDN.
72 type AddrFqdn struct {
74 Fqdn *string `json:"fqdn,omitempty"`
76 // Contains an IP adresse.
77 IpAddr *externalRef0.IpAddr `json:"ipAddr,omitempty"`
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"`
89 // Contains EAS IP replacement information.
90 EasIpReplaceInfos *[]externalRef0.EasIpReplacementInfo `json:"easIpReplaceInfos,omitempty"`
92 // At least one of the "routeInfo" attribute and the "routeProfId" attribute shall be included in the "RouteToLocation" data type.
93 TrafficRoute *externalRef0.RouteToLocation `json:"trafficRoute"`
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"`
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
106 // Indicates value of altitude.
107 type Altitude float64
109 // Indicates value of angle.
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"`
150 // Describes a communication failure detected by AMF
151 type CommunicationFailure struct {
152 NasReleaseCode *string `json:"nasReleaseCode,omitempty"`
154 // Represents the NGAP cause.
155 RanReleaseCode *externalRef0.NgApCause `json:"ranReleaseCode,omitempty"`
158 // Indicates value of confidence.
161 // Represents the content version of some content.
162 type ContentVersion int
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"`
172 // Indicates value of angle.
173 IncludedAngle Angle `json:"includedAngle"`
175 // Indicates value of the inner radius.
176 InnerRadius InnerRadius `json:"innerRadius"`
178 // Indicates value of angle.
179 OffsetAngle Angle `json:"offsetAngle"`
181 // Geographical coordinates.
182 Point GeographicalCoordinates `json:"point"`
184 // Indicates value of uncertainty.
185 UncertaintyRadius Uncertainty `json:"uncertaintyRadius"`
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"`
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"`
197 // Defines a packet filter of an IP flow.
198 FDesc *FlowDescription `json:"fDesc,omitempty"`
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"`
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"`
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"`
215 // Defines a packet filter of an IP flow.
216 type FlowDescription string
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
225 // Common base type for GAD shapes.
226 type GADShape struct {
227 // Indicates supported GAD shapes.
228 Shape SupportedGADShapes `json:"shape"`
231 // Geographic area specified by different shape.
232 type GeographicArea interface{}
234 // Geographical coordinates.
235 type GeographicalCoordinates struct {
236 Lat float64 `json:"lat"`
237 Lon float64 `json:"lon"`
240 // Indicates value of the inner radius.
241 type InnerRadius int32
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"`
248 // String identifying a IPv4 address formatted in the 'dotted decimal' notation as defined in RFC 1166.
249 Start *externalRef0.Ipv4Addr `json:"start,omitempty"`
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"`
260 // Indicates a Local origin in a reference system
261 LocalOrigin LocalOrigin `json:"localOrigin"`
263 // Relative Cartesian Location
264 Point RelativeCartesianLocation `json:"point"`
266 // Ellipse with uncertainty.
267 UncertaintyEllipse UncertaintyEllipse `json:"uncertaintyEllipse"`
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"`
278 // Indicates a Local origin in a reference system
279 LocalOrigin LocalOrigin `json:"localOrigin"`
281 // Relative Cartesian Location
282 Point RelativeCartesianLocation `json:"point"`
284 // Ellipsoid with uncertainty
285 UncertaintyEllipsoid UncertaintyEllipsoid `json:"uncertaintyEllipsoid"`
288 // Indicates a Local origin in a reference system
289 type LocalOrigin struct {
290 CoordinateId *string `json:"coordinateId,omitempty"`
292 // Geographical coordinates.
293 Point *GeographicalCoordinates `json:"point,omitempty"`
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"`
301 // Contains a list of NG RAN nodes.
302 GRanNodeIds *[]externalRef0.GlobalRanNodeId `json:"gRanNodeIds,omitempty"`
304 // Contains a list of NR cell identities.
305 Ncgis *[]externalRef0.Ncgi `json:"ncgis,omitempty"`
307 // Contains a list of tracking area identities.
308 Tais *[]externalRef0.Tai `json:"tais,omitempty"`
311 // Possible values are:
314 // - ON_EVENT_DETECTION
315 type NotificationMethod string
317 // Indicates value of orientation angle.
320 // Point defines model for Point.
322 // Embedded struct due to allOf(#/components/schemas/GADShape)
323 GADShape `yaml:",inline"`
324 // Embedded fields due to inline allOf schema
325 // Geographical coordinates.
326 Point GeographicalCoordinates `json:"point"`
329 // PointAltitude defines model for PointAltitude.
330 type PointAltitude struct {
331 // Embedded struct due to allOf(#/components/schemas/GADShape)
332 GADShape `yaml:",inline"`
333 // Embedded fields due to inline allOf schema
334 // Indicates value of altitude.
335 Altitude Altitude `json:"altitude"`
337 // Geographical coordinates.
338 Point GeographicalCoordinates `json:"point"`
341 // PointAltitudeUncertainty defines model for PointAltitudeUncertainty.
342 type PointAltitudeUncertainty struct {
343 // Embedded struct due to allOf(#/components/schemas/GADShape)
344 GADShape `yaml:",inline"`
345 // Embedded fields due to inline allOf schema
346 // Indicates value of altitude.
347 Altitude Altitude `json:"altitude"`
349 // Indicates value of confidence.
350 Confidence Confidence `json:"confidence"`
352 // Geographical coordinates.
353 Point GeographicalCoordinates `json:"point"`
355 // Indicates value of uncertainty.
356 UncertaintyAltitude Uncertainty `json:"uncertaintyAltitude"`
358 // Ellipse with uncertainty.
359 UncertaintyEllipse UncertaintyEllipse `json:"uncertaintyEllipse"`
363 type PointList []GeographicalCoordinates
365 // PointUncertaintyCircle defines model for PointUncertaintyCircle.
366 type PointUncertaintyCircle struct {
367 // Embedded struct due to allOf(#/components/schemas/GADShape)
368 GADShape `yaml:",inline"`
369 // Embedded fields due to inline allOf schema
370 // Geographical coordinates.
371 Point GeographicalCoordinates `json:"point"`
373 // Indicates value of uncertainty.
374 Uncertainty Uncertainty `json:"uncertainty"`
377 // PointUncertaintyEllipse defines model for PointUncertaintyEllipse.
378 type PointUncertaintyEllipse struct {
379 // Embedded struct due to allOf(#/components/schemas/GADShape)
380 GADShape `yaml:",inline"`
381 // Embedded fields due to inline allOf schema
382 // Indicates value of confidence.
383 Confidence Confidence `json:"confidence"`
385 // Geographical coordinates.
386 Point GeographicalCoordinates `json:"point"`
388 // Ellipse with uncertainty.
389 UncertaintyEllipse UncertaintyEllipse `json:"uncertaintyEllipse"`
392 // Polygon defines model for Polygon.
393 type Polygon struct {
394 // Embedded struct due to allOf(#/components/schemas/GADShape)
395 GADShape `yaml:",inline"`
396 // Embedded fields due to inline allOf schema
398 PointList PointList `json:"pointList"`
401 // Relative Cartesian Location
402 type RelativeCartesianLocation struct {
403 // string with format 'float' as defined in OpenAPI.
404 X externalRef0.Float `json:"x"`
406 // string with format 'float' as defined in OpenAPI.
407 Z *externalRef0.Float `json:"z,omitempty"`
410 // Represents the type of reporting that the subscription requires.
411 type ReportingInformation struct {
412 // indicating a time in seconds.
413 GrpRepTime *externalRef0.DurationSec `json:"grpRepTime,omitempty"`
414 ImmRep *bool `json:"immRep,omitempty"`
416 // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
417 MaxReportNbr *externalRef0.Uinteger `json:"maxReportNbr,omitempty"`
419 // string with format 'date-time' as defined in OpenAPI.
420 MonDur *externalRef0.DateTime `json:"monDur,omitempty"`
422 // Possible values are:
423 // - ACTIVATE: The event notification is activated.
424 // - DEACTIVATE: The event notification is deactivated and shall be muted. The available
425 // event(s) shall be stored.
426 // - RETRIEVAL: The event notification shall be sent to the NF service consumer(s),
427 // after that, is muted again.
428 NotifFlag *externalRef0.NotificationFlag `json:"notifFlag,omitempty"`
430 // Possible values are:
433 // - ON_EVENT_DETECTION
434 NotifMethod *NotificationMethod `json:"notifMethod,omitempty"`
436 // Criteria for partitioning the UEs before applying the sampling ratio.
437 PartitionCriteria *[]externalRef0.PartitioningCriteria `json:"partitionCriteria,omitempty"`
439 // indicating a time in seconds.
440 RepPeriod *externalRef0.DurationSec `json:"repPeriod,omitempty"`
442 // Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 of 3GPP TS 23.502), expressed in percent.
443 SampRatio *externalRef0.SamplingRatio `json:"sampRatio,omitempty"`
446 // Indicates supported GAD shapes.
447 type SupportedGADShapes string
449 // Indicates TSC Traffic pattern.
450 type TscaiInputContainer struct {
451 // string with format 'date-time' as defined in OpenAPI.
452 BurstArrivalTime *externalRef0.DateTime `json:"burstArrivalTime,omitempty"`
454 // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
455 Periodicity *externalRef0.Uinteger `json:"periodicity,omitempty"`
457 // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
458 SurTimeInNumMsg *externalRef0.Uinteger `json:"surTimeInNumMsg,omitempty"`
460 // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
461 SurTimeInTime *externalRef0.Uinteger `json:"surTimeInTime,omitempty"`
464 // Indicates value of uncertainty.
465 type Uncertainty float32
467 // Ellipse with uncertainty.
468 type UncertaintyEllipse struct {
469 // Indicates value of orientation angle.
470 OrientationMajor Orientation `json:"orientationMajor"`
472 // Indicates value of uncertainty.
473 SemiMajor Uncertainty `json:"semiMajor"`
475 // Indicates value of uncertainty.
476 SemiMinor Uncertainty `json:"semiMinor"`
479 // Ellipsoid with uncertainty
480 type UncertaintyEllipsoid struct {
481 // Indicates value of orientation angle.
482 OrientationMajor Orientation `json:"orientationMajor"`
484 // Indicates value of uncertainty.
485 SemiMajor Uncertainty `json:"semiMajor"`
487 // Indicates value of uncertainty.
488 SemiMinor Uncertainty `json:"semiMinor"`
490 // Indicates value of uncertainty.
491 Vertical Uncertainty `json:"vertical"`
494 // Base64 encoded, gzipped, json marshaled Swagger object
495 var swaggerSpec = []string{
497 "H4sIAAAAAAAC/+xbbW/jNvL/KoT+/xd3gDe7m+z2Ie8UW0mFOrJPdtorukVASyObXYpUSSpZ3yLf/UDq",
498 "wXqgbMdJ0Tvg3ixiamY4nBnNzI+j/epEPM04A6akc/nVkdEGUmz+dONYXP8RM/13DDISJFOEM+fS8ecI",
499 "x7EAKRFm8Vsu0PU/JsGZM3IywTMQioCRkNi5WUwirEAz14xqm4Fz6UglCFs7TyOHZHp/zf3/AhLn0lku",
500 "zr//+O37+zFPU84mWOGzLU7p/73dHeBtqf1bv2B+eqoF89XvECkt2E1CkDlVPku4RbkYmCIJAYnUBpAw",
501 "pIgnCGcZ1WoTzhDFWxBog1lMCVv3z42ThcIqlw3trWpWqpTUTyMHsPSzEDKKI9AKyr6GY84UJkwiz10g",
502 "f45EQZ0CU4iwhIvUKKm1IgpSeaIJvYYmWrYx19PISQnzC7Hva+NiIfBWP1QCJwmJQp4rOHFfw7vkU17Y",
503 "WkvNs6s8SXwWW9yVoEyA1GfHLEYSFFIcfXKUyOGTg4g2SRVtaoMVWuVJAjrGtE/zjBL2GZVaa07tc4XF",
504 "GhSaBK6PiEQMIIb47BPbRemKcwqYmfgS8EdOBMTO5a87v/+2J+52odE+ypxLSVYU0AOmuX45BFx+Ym/Q",
505 "4m489haLS7TcgCUKiUQCcLxFXJQRS0vT6UfawBSU0f8NWnq381nohr/cj2fBjbdY+rOgL7chIcGEShTn",
506 "YGwDacYFFlsUcbYGaaJMiw296Wx8H8zu3el09rM3OULkCiKcy0EibXauEKaUP5a6z5Y/eOHxynK1AaEt",
507 "I42SzsgBlqfaSaU9nZFjM4czcrrHcUaO2bzh1V2acqkiKo9hX5ozDjU5pCTW72bxojqXTszzFQVn5KT4",
508 "C0m1jhfn337zrXnTit9vyoVyc5anKxBmc7amR+6sKc9am3zzrrHFu1o6YQrWhfgxeSCRWyT6vWkcGcqq",
509 "JvTzofte/9u33bl9+cK+/MG+/NG+/I19eTIZzyae9dnVdGJdv56G1vUfgtnA+sK6Pr390b4+G1vXA/fW",
510 "uj4fDywH9vXpAP3savbPgSeTgfUBhcIB+tBOP0AeTq7CgQcLbzz05O5qiGs2oO7Cc5f2B0u74+4C384Q",
511 "8ZwpsbU+S0FteGx9lAn+QGKIr+ycucRrCHNavDudx7aORpfVnJUZ8RoTmgtLVpiYXyvzvkZNDpM4cwEo",
512 "BgWRghittsi9ve69xgzLEChgCWNeZLye7gKzDskJLUCwdrOxLg9Dx2UJiYFFx6W+qCZv5b/37w7nP84U",
513 "MPUTCGmkdzcLoew9il4xKsjRQ0Gv95Y8rdcbXW5jD49SkklOYldEpnWkdJY4l7/ubxxv3MligzNwnkZf",
514 "O06KWtbZJ6RhR91vs4jmMcR1TdnbuBoiw8VAhDgmh5tdv0H6NHJ4kkhQz9st44SpQ9Q3wNcCZxsSYTrm",
515 "XMSE6YAwbxaLQOjmWW2P0/lux9Br9gpl2iawbdE+atfQo6bD+m3jb6NOzNXxglwRnZkIUptryh8nTbI9",
516 "qAYz5OneiIFCCeWP/Wodg1S3OHoB/Cq5P3yn9WuI84oW/qUSQW2WxkyWBJRoOxxya9deho+Io9iIgKhi",
517 "kjwXEbyiraSIXtdUDxSzJV4bv9ZosF+r8JcS053vBXidN6Dygw3tHAzJCSSEmWKU4eizDkZCFYiiWdW4",
518 "tgrOfj/WcsMxOErjh8ns52DqBz8WECLiQoDMOIs1FCy3NrgCJEo0lGpjwjvPgJC7+QkiEsHTppArf+KH",
519 "3lijDXf6TFkrrjZaJw12u3LvgsXcG/vXfoXAnn9I9LeYPzINiv8+QqtcoQ3WSAzJDCKiKePK7iiGiGIB",
520 "8ZnZSoJ4IBGgGCtsPFc2E5pSbjClZt+t2aZURCvQAeBYIpI0aR6xRCtSb4ppsdt8fF1K1ShR40jNU1T8",
521 "hhUQYaUgiSIBuGxtNC0D9cjFZ00R/PyGMKKIeZwJHkGcC5DdnTijW1Tm7sPbEYbuPKvc6oQSp5UMA+Ej",
522 "IA/QcOri9rqNW6sAdkZOEYbOyGmFkn6w08aKVuu+wXKrpDMLWmFtzG0Gxj037kSfPgOD6WKiGVJdTrnJ",
523 "dinOMi348qvjTaf+fDHzJ/duOB7Kn61ex+Aed3p/Prmfz/xgeX8XjL1w6frB8pf7Qpw3JGjKI0zP47mu",
524 "wI0SXciHWvTFsOiZP9kr/GJAOCexo4GQHyyH+OdlX1Bs7U6X/vJu4u2lri8RulxNzY+S0GxYKmHN04/9",
525 "cDzdr0xDxJiIiIJV0AEPDbtmPpv+cjMLhhnpdl1U17Ir2QY4NVFcNrydbkVW8byvci/yLONCQVy9ALJX",
526 "zAo5tlK2ayhdAdg06Wx7RJNeBILu0A9S9W3+XLbKwIf5KvseIb+Oy2dRt5rmA4ytlNDvdnem12UcV3Wo",
527 "yOMxSRIQGnEZ3521fdVu/nv5rkmIoh1lvx2m2ECOPfd13zeR5Jvv31lu6mjRqewR8v67lhTzsyOmE7Fa",
528 "5sioZ4tav43MDsJkXXMMlEHCMLXuKAlTF+e9K8qPhwC0nz18KO8PQ8zWlrJjlvX2/vzhQ3WBCLLnBDi5",
529 "Ha50MO21wkK9WI7tTuJARforgT3Vqs0EWRN2iHHaID0WbodAsSIPMMZCgSSYtSY3VlMcibjrlNaL+52W",
530 "oxqG57Zi8zxsbY6PzifIyESPRG1QQyyCOsc6B5uE/3m8bYxn+VzznOj1okE7xe8XB/xulCo9vzPu8Eyk",
531 "kMoNpcYDGAkw9SoCJLdSQdrLcrs65A/cHL/oAsyWuIICCOnOxj4Qb14bV6jJ1OLGrFkf73FDoo2pIsF1",
532 "DQcjzmSemkHcHznI8qK0qGc66995sgA5nWwfrcm+yTdGlEgzlffe3C1DF0VAKSLmkkvLePHsO1qTg7Pu",
533 "dYhZwGPw4+NUDW5Q6AaI8fjlCt5QvsK0VuCgruxogwbhaxszOMaYCh+pnxI4+kzYuozBV9NyiQ8paX17",
534 "uCJJOUa5rQc+x831517ozyb+2Ay3A+9+6d96xd/33k9esLyfeMsC2reuASo2Z+RUXObPLpMV/88EAabw",
535 "wCVxvynkO3rLCLndslo7wHmVsF5cDF+c+vp398+6bjcnOavP1Jz7v/hsuCFs7yBkh8f+DHuMdoo8yzSN",
536 "srn7wqFrqCYq/KtsdmpD9YpzJ/dItdsg+s9ppHteH+iibeqfPreyRIu5zrZ2XLs4mhKp+jlrWpYFI9Ra",
537 "BJ7rq90s5P3HZj246Betgaubvz7btVz2GjPOprhTnd30b2QsdWYz4n8CZH5F67/+2/oKQPegf0qkWzqo",
538 "uDF8tbCu3uSDF4qG0GoG8+SIg5a6m3MMw1bLhx0FKappUU3cxSpfTmw4rynHpof818sEdMzzxXoZGELG",
539 "hSJs7e9A28HvWcwYiCdIVMzFF7RmeJWvakZUbm+5Ol2LLIRsSdJTvwSa5MLouoDIfG2SpiFkDWRcf4hr",
540 "8nZxymB16ij+rtG4auL8VEETrMCcWkMvDRGuKV6fCp8aEMOIqWTu8Ma+F8mCUHSCw0LDJs7GgigQBFuw",
541 "V/nEDAJr+iIKQAN3tIKEi+Jr3G21LnGaUf3D+O2loGze2LbW9BCUFJDNQRAev07M6ROFeuFEcYvSIoUM",
542 "K4q0TKf2gDNZUXfGszVANMPJPcO/feO83XyuN8DcO5scdSbAR013j5zT2oDsUkaY+CzLVXlHAGKfzZaL",
543 "MVqWHxlkWCkQ5v9HsJxSvNItmxI5dLPXKhdSuUKQB0xfksMaySAzgUki0mrLTs1RMhdasM+CPL2V69eU",
544 "+ILz7uTZYr0DAw/eQDS6ktZEKjHVz3r9sJu62dtKWy8EvR6oX80alyG3+Hd+8HOx5mWLti2k5Ci+DvQz",
545 "fIQ9k6873a43bwoc9c/0236fte70h5rKrin/uy05ch605hGmf4YDatlH+eLJfHJbXNMronTmKr/cKUQV",
546 "3yk778/enb0zH9lmwHBGnEvnwizpyq820rnUme/p3wEAAP//LXRvvPw3AAA=",
549 // GetSwagger returns the content of the embedded swagger specification file
550 // or error if failed to decode
551 func decodeSpec() ([]byte, error) {
552 zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
554 return nil, fmt.Errorf("error base64 decoding spec: %s", err)
556 zr, err := gzip.NewReader(bytes.NewReader(zipped))
558 return nil, fmt.Errorf("error decompressing spec: %s", err)
561 _, err = buf.ReadFrom(zr)
563 return nil, fmt.Errorf("error decompressing spec: %s", err)
566 return buf.Bytes(), nil
569 var rawSpec = decodeSpecCached()
571 // a naive cached of a decoded swagger spec
572 func decodeSpecCached() func() ([]byte, error) {
573 data, err := decodeSpec()
574 return func() ([]byte, error) {
579 // Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
580 func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
581 var res = make(map[string]func() ([]byte, error))
582 if len(pathToFile) > 0 {
583 res[pathToFile] = rawSpec
586 pathPrefix := path.Dir(pathToFile)
588 for rawPath, rawFunc := range externalRef0.PathToRawSpec(path.Join(pathPrefix, "TS29571_CommonData.yaml")) {
589 if _, ok := res[rawPath]; ok {
590 // it is not possible to compare functions in golang, so always overwrite the old value
592 res[rawPath] = rawFunc
597 // GetSwagger returns the Swagger specification corresponding to the generated code
598 // in this file. The external references of Swagger specification are resolved.
599 // The logic of resolving external references is tightly connected to "import-mapping" feature.
600 // Externally referenced files must be embedded in the corresponding golang packages.
601 // Urls can be supported but this task was out of the scope.
602 func GetSwagger() (swagger *openapi3.T, err error) {
603 var resolvePath = PathToRawSpec("")
605 loader := openapi3.NewLoader()
606 loader.IsExternalRefsAllowed = true
607 loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
608 var pathToFile = url.String()
609 pathToFile = path.Clean(pathToFile)
610 getSpec, ok := resolvePath[pathToFile]
612 err1 := fmt.Errorf("path not found: %s", pathToFile)
618 specData, err = rawSpec()
622 swagger, err = loader.LoadFromData(specData)