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 // Either the "routeInfo" attribute or 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 - PERIODIC - ONE_TIME - ON_EVENT_DETECTION
312 type NotificationMethod string
314 // Indicates value of orientation angle.
317 // Point defines model for Point.
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"`
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"`
334 // Geographical coordinates.
335 Point GeographicalCoordinates `json:"point"`
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"`
346 // Indicates value of confidence.
347 Confidence Confidence `json:"confidence"`
349 // Geographical coordinates.
350 Point GeographicalCoordinates `json:"point"`
352 // Indicates value of uncertainty.
353 UncertaintyAltitude Uncertainty `json:"uncertaintyAltitude"`
355 // Ellipse with uncertainty.
356 UncertaintyEllipse UncertaintyEllipse `json:"uncertaintyEllipse"`
360 type PointList []GeographicalCoordinates
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"`
370 // Indicates value of uncertainty.
371 Uncertainty Uncertainty `json:"uncertainty"`
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"`
382 // Geographical coordinates.
383 Point GeographicalCoordinates `json:"point"`
385 // Ellipse with uncertainty.
386 UncertaintyEllipse UncertaintyEllipse `json:"uncertaintyEllipse"`
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
395 PointList PointList `json:"pointList"`
398 // Relative Cartesian Location
399 type RelativeCartesianLocation struct {
400 // string with format 'float' as defined in OpenAPI.
401 X externalRef0.Float `json:"x"`
403 // string with format 'float' as defined in OpenAPI.
404 Z *externalRef0.Float `json:"z,omitempty"`
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"`
413 // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
414 MaxReportNbr *externalRef0.Uinteger `json:"maxReportNbr,omitempty"`
416 // string with format 'date-time' as defined in OpenAPI.
417 MonDur *externalRef0.DateTime `json:"monDur,omitempty"`
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"`
425 // Possible values are - PERIODIC - ONE_TIME - ON_EVENT_DETECTION
426 NotifMethod *NotificationMethod `json:"notifMethod,omitempty"`
428 // Criteria for partitioning the UEs before applying the sampling ratio.
429 PartitionCriteria *[]externalRef0.PartitioningCriteria `json:"partitionCriteria,omitempty"`
431 // indicating a time in seconds.
432 RepPeriod *externalRef0.DurationSec `json:"repPeriod,omitempty"`
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"`
438 // Indicates supported GAD shapes.
439 type SupportedGADShapes string
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"`
446 // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
447 Periodicity *externalRef0.Uinteger `json:"periodicity,omitempty"`
449 // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
450 SurTimeInNumMsg *externalRef0.Uinteger `json:"surTimeInNumMsg,omitempty"`
452 // Unsigned Integer, i.e. only value 0 and integers above 0 are permissible.
453 SurTimeInTime *externalRef0.Uinteger `json:"surTimeInTime,omitempty"`
456 // Indicates value of uncertainty.
457 type Uncertainty float32
459 // Ellipse with uncertainty.
460 type UncertaintyEllipse struct {
461 // Indicates value of orientation angle.
462 OrientationMajor Orientation `json:"orientationMajor"`
464 // Indicates value of uncertainty.
465 SemiMajor Uncertainty `json:"semiMajor"`
467 // Indicates value of uncertainty.
468 SemiMinor Uncertainty `json:"semiMinor"`
471 // Ellipsoid with uncertainty
472 type UncertaintyEllipsoid struct {
473 // Indicates value of orientation angle.
474 OrientationMajor Orientation `json:"orientationMajor"`
476 // Indicates value of uncertainty.
477 SemiMajor Uncertainty `json:"semiMajor"`
479 // Indicates value of uncertainty.
480 SemiMinor Uncertainty `json:"semiMinor"`
482 // Indicates value of uncertainty.
483 Vertical Uncertainty `json:"vertical"`
486 // Base64 encoded, gzipped, json marshaled Swagger object
487 var swaggerSpec = []string{
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=",
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, ""))
546 return nil, fmt.Errorf("error base64 decoding spec: %s", err)
548 zr, err := gzip.NewReader(bytes.NewReader(zipped))
550 return nil, fmt.Errorf("error decompressing spec: %s", err)
553 _, err = buf.ReadFrom(zr)
555 return nil, fmt.Errorf("error decompressing spec: %s", err)
558 return buf.Bytes(), nil
561 var rawSpec = decodeSpecCached()
563 // a naive cached of a decoded swagger spec
564 func decodeSpecCached() func() ([]byte, error) {
565 data, err := decodeSpec()
566 return func() ([]byte, error) {
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
578 pathPrefix := path.Dir(pathToFile)
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
584 res[rawPath] = rawFunc
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("")
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]
604 err1 := fmt.Errorf("path not found: %s", pathToFile)
610 specData, err = rawSpec()
614 swagger, err = loader.LoadFromData(specData)