1fa8d70ff3068eef6e42bd9c66f83f941791fded
[oom.git] / kubernetes / dcaegen2-services / resources / external / schemas / sa91-rel16 / sliceNrm.yaml
1 openapi: 3.0.1
2 info:
3   title: Slice NRM
4   version: 16.8.0
5   description: >-
6     OAS 3.0.1 specification of the Slice NRM
7     @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
8     All rights reserved.
9 externalDocs:
10   description: 3GPP TS 28.541 V16.4.0; 5G NRM, Slice NRM
11   url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/
12 paths: {}
13 components:
14   schemas:
15
16 #------------ Type definitions ---------------------------------------------------
17
18     Float:
19       type: number
20       format: float
21     MobilityLevel:
22       type: string
23       enum:
24         - STATIONARY
25         - NOMADIC
26         - RESTRICTED MOBILITY
27         - FULLY MOBILITY
28     SharingLevel:
29       type: string
30       enum:
31         - SHARED
32         - NON-SHARED
33     NetworkSliceSharingIndicator:
34       type: string
35       enum:
36         - SHARED
37         - NON-SHARED
38     PerfReqEmbb:
39       type: object
40       properties:
41         expDataRateDL:
42           type: number
43         expDataRateUL:
44           type: number
45         areaTrafficCapDL:
46           type: number
47         areaTrafficCapUL:
48           type: number
49         userDensity:
50           type: number
51         activityFactor:
52           type: number
53     PerfReqEmbbList:
54       type: array
55       items:
56         $ref: '#/components/schemas/PerfReqEmbb'
57     PerfReqUrllc:
58       type: object
59       properties:
60         cSAvailabilityTarget:
61           type: number
62         cSReliabilityMeanTime:
63           type: string
64         expDataRate:
65           type: number
66         msgSizeByte:
67           type: string
68         transferIntervalTarget:
69           type: string
70         survivalTime:
71           type: string
72     PerfReqUrllcList:
73       type: array
74       items:
75         $ref: '#/components/schemas/PerfReqUrllc'
76     PerfReq:
77       oneOf:
78         - $ref: '#/components/schemas/PerfReqEmbbList'
79         - $ref: '#/components/schemas/PerfReqUrllcList'
80     Category:
81       type: string
82       enum:
83         - CHARACTER
84         - SCALABILITY
85     Tagging:
86       type: array
87       items:
88         type: string
89         enum:
90           - PERFORMANCE
91           - FUNCTION
92           - OPERATION
93
94
95     Exposure:
96       type: string
97       enum:
98         - API
99         - KPI
100     ServAttrCom:
101       type: object
102       properties:
103         category:
104           $ref: '#/components/schemas/Category'
105         tagging:
106           $ref: '#/components/schemas/Tagging'
107         exposure:
108           $ref: '#/components/schemas/Exposure'
109     Support:
110       type: string
111       enum:
112         - NOT SUPPORTED
113         - SUPPORTED
114     DelayTolerance:
115       type: object
116       properties:
117         servAttrCom:
118           $ref: '#/components/schemas/ServAttrCom'
119         support:
120           $ref: '#/components/schemas/Support'
121     DeterministicComm:
122       type: object
123       properties:
124         servAttrCom:
125           $ref: '#/components/schemas/ServAttrCom'
126         availability:
127           $ref: '#/components/schemas/Support'
128         periodicityList:
129           type: string
130     DLThptPerSlice:
131       type: object
132       properties:
133         servAttrCom:
134           $ref: '#/components/schemas/ServAttrCom'
135         guaThpt:
136           $ref: '#/components/schemas/Float'
137         maxThpt:
138           $ref: '#/components/schemas/Float'
139     DLThptPerUE:
140       type: object
141       properties:
142         servAttrCom:
143           $ref: '#/components/schemas/ServAttrCom'
144         guaThpt:
145           $ref: '#/components/schemas/Float'
146         maxThpt:
147           $ref: '#/components/schemas/Float'
148     ULThptPerSlice:
149       type: object
150       properties:
151         servAttrCom:
152           $ref: '#/components/schemas/ServAttrCom'
153         guaThpt:
154           $ref: '#/components/schemas/Float'
155         maxThpt:
156           $ref: '#/components/schemas/Float'
157     ULThptPerUE:
158       type: object
159       properties:
160         servAttrCom:
161           $ref: '#/components/schemas/ServAttrCom'
162         guaThpt:
163           $ref: '#/components/schemas/Float'
164         maxThpt:
165           $ref: '#/components/schemas/Float'
166     MaxPktSize:
167       type: object
168       properties:
169         servAttrCom:
170           $ref: '#/components/schemas/ServAttrCom'
171         maxsize:
172           type: integer
173     MaxNumberofConns:
174       type: object
175       properties:
176         servAttrCom:
177           $ref: '#/components/schemas/ServAttrCom'
178         nOofConn:
179           type: integer
180     KPIMonitoring:
181       type: object
182       properties:
183         servAttrCom:
184           $ref: '#/components/schemas/ServAttrCom'
185         kPIList:
186           type: string
187     UserMgmtOpen:
188       type: object
189       properties:
190         servAttrCom:
191           $ref: '#/components/schemas/ServAttrCom'
192         support:
193           $ref: '#/components/schemas/Support'
194     V2XCommModels:
195       type: object
196       properties:
197         servAttrCom:
198           $ref: '#/components/schemas/ServAttrCom'
199         v2XMode:
200           $ref: '#/components/schemas/Support'
201     TermDensity:
202       type: object
203       properties:
204         servAttrCom:
205           $ref: '#/components/schemas/ServAttrCom'
206         density:
207           type: integer
208     NsInfo:
209       type: object
210       properties:
211         nsInstanceId:
212           type: string
213         nsName:
214           type: string
215     ServiceProfile:
216       type: object
217       properties:
218           serviceProfileId: 
219             type: string
220           plmnInfoList:
221             $ref: 'nrNrm.yaml#/components/schemas/PlmnInfoList'
222           maxNumberofUEs:
223             type: number
224           latency:
225             type: number
226           uEMobilityLevel:
227             $ref: '#/components/schemas/MobilityLevel'
228           sst:
229             $ref: 'nrNrm.yaml#/components/schemas/Sst'
230           networkSliceSharingIndicator:
231             $ref: '#/components/schemas/NetworkSliceSharingIndicator'
232           availability:
233             type: number
234           delayTolerance:
235             $ref: '#/components/schemas/DelayTolerance'
236           deterministicComm:
237             $ref: '#/components/schemas/DeterministicComm'
238           dLThptPerSlice:
239             $ref: '#/components/schemas/DLThptPerSlice'
240           dLThptPerUE:
241             $ref: '#/components/schemas/DLThptPerUE'
242           uLThptPerSlice:
243             $ref: '#/components/schemas/ULThptPerSlice'
244           uLThptPerUE:
245             $ref: '#/components/schemas/ULThptPerUE'
246           maxPktSize:
247             $ref: '#/components/schemas/MaxPktSize'
248           maxNumberofConns:
249             $ref: '#/components/schemas/MaxNumberofConns'
250           kPIMonitoring:
251             $ref: '#/components/schemas/KPIMonitoring'
252           userMgmtOpen:
253             $ref: '#/components/schemas/UserMgmtOpen'
254           v2XModels:
255             $ref: '#/components/schemas/V2XCommModels'
256           coverageArea:
257             type: string
258           termDensity:
259             $ref: '#/components/schemas/TermDensity'
260           activityFactor:
261             $ref: '#/components/schemas/Float'
262           uESpeed:
263             type: integer
264           jitter:
265             type: integer
266           survivalTime:
267             type: string
268           reliability:
269             type: string
270     SliceProfile:
271       type: object
272       properties:
273           sliceProfileId:
274             type: string
275
276           plmnInfoList:
277             $ref: 'nrNrm.yaml#/components/schemas/PlmnInfoList'
278           perfReq:
279             $ref: '#/components/schemas/PerfReq'
280           maxNumberofUEs:
281             type: number
282           coverageAreaTAList:
283             $ref: '5gcNrm.yaml#/components/schemas/TACList'
284           latency:
285             type: number
286           uEMobilityLevel:
287             $ref: '#/components/schemas/MobilityLevel'
288           resourceSharingLevel:
289             $ref: '#/components/schemas/SharingLevel'
290
291     IpAddress:
292       oneOf:
293         - $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr'
294         - $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr'
295     ServiceProfileList:
296        type: array
297        items:
298         $ref: '#/components/schemas/ServiceProfile'
299             
300     SliceProfileList:
301       type: array
302       items:
303         $ref: '#/components/schemas/SliceProfile'
304
305 #------------ Definition of concrete IOCs ----------------------------------------
306
307     SubNetwork-Single:
308       allOf:
309         - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
310         - type: object
311           properties:
312             attributes:
313               allOf:
314                 - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr'
315         - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO'
316         - type: object
317           properties:
318             SubNetwork:
319               $ref: '#/components/schemas/SubNetwork-Multiple'
320             NetworkSlice:
321               $ref: '#/components/schemas/NetworkSlice-Multiple'
322             NetworkSliceSubnet:
323               $ref: '#/components/schemas/NetworkSliceSubnet-Multiple'
324             EP_Transport:
325               $ref: '#/components/schemas/EP_Transport-Multiple'
326
327     NetworkSlice-Single:
328       allOf:
329         - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
330         - type: object
331           properties:
332             attributes:
333               allOf:
334                 - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr'
335                 - type: object
336                   properties:
337                     networkSliceSubnetRef:
338                       $ref: 'comDefs.yaml#/components/schemas/Dn'
339                     operationalState:
340                       $ref: 'comDefs.yaml#/components/schemas/OperationalState'
341                     administrativeState:
342                       $ref: 'comDefs.yaml#/components/schemas/AdministrativeState'
343                     serviceProfileList:
344                       $ref: '#/components/schemas/ServiceProfileList'
345
346     NetworkSliceSubnet-Single:
347       allOf:
348         - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
349         - type: object
350           properties:
351             attributes:
352               allOf:
353                 - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr'
354                 - type: object
355                   properties:
356                     managedFunctionRefList:
357                       $ref: 'comDefs.yaml#/components/schemas/DnList'
358                     networkSliceSubnetRefList:
359                       $ref: 'comDefs.yaml#/components/schemas/DnList'
360                     operationalState:
361                       $ref: 'comDefs.yaml#/components/schemas/OperationalState'
362                     administrativeState:
363                       $ref: 'comDefs.yaml#/components/schemas/AdministrativeState'
364                     nsInfo:
365                       $ref: '#/components/schemas/NsInfo'
366                     sliceProfileList:
367                       $ref: '#/components/schemas/SliceProfileList'
368                     epTransportRefList:
369                       $ref: 'comDefs.yaml#/components/schemas/DnList'
370
371     EP_Transport-Single:
372       allOf:
373         - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
374         - type: object
375           properties:
376             attributes:
377               type: object
378               properties:
379                 ipAddress:
380                   $ref: '#/components/schemas/IpAddress'
381                 logicInterfaceId:
382                   type: string 
383                 nextHopInfo:
384                   type: string 
385                 qosProfile:
386                   type: string 
387                 epApplicationRefs:
388                   $ref: 'comDefs.yaml#/components/schemas/DnList'
389                       
390 #-------- Definition of JSON arrays for name-contained IOCs ----------------------
391     SubNetwork-Multiple:
392       type: array
393       items:
394         $ref: '#/components/schemas/SubNetwork-Single'
395
396     NetworkSlice-Multiple:
397       type: array
398       items:
399         $ref: '#/components/schemas/NetworkSlice-Single'
400
401     NetworkSliceSubnet-Multiple:
402       type: array
403       items:
404         $ref: '#/components/schemas/NetworkSliceSubnet-Single'
405
406     EP_Transport-Multiple:
407       type: array
408       items:
409         $ref: '#/components/schemas/EP_Transport-Single'
410
411 #------------ Definitions in TS 28.541 for TS 28.532 -----------------------------
412
413     resources-sliceNrm:
414       oneOf:
415        - $ref: '#/components/schemas/SubNetwork-Single'
416        - $ref: '#/components/schemas/NetworkSlice-Single'
417        - $ref: '#/components/schemas/NetworkSliceSubnet-Single'
418        - $ref: '#/components/schemas/EP_Transport-Single'