NSPerformanceManagement.yaml 49.8 KB
Newer Older
1
openapi: 3.0.2
2
3

info:
4
5
  title: SOL005 - NS Performance Management Interface 
  description: |
rameshnaraya's avatar
rameshnaraya committed
6
    SOL005 - NS Performance Management Interface
7

8
9
10
11
    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to and has not been
    approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
    Group Specification takes precedence.
12
    Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
13
14
  contact:
    name: NFV-SOL WG
15
  license:
16
    name: ETSI Forge copyright notice
17
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
18
  version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
moscatelli's avatar
moscatelli committed
19

20
externalDocs:
21
  description: ETSI GS NFV-SOL 005 V3.3.1
22
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf
moscatelli's avatar
moscatelli committed
23

24
25
26
servers:
  - url: http://127.0.0.1/nspm/v2
  - url: https://127.0.0.1/nspm/v2
moscatelli's avatar
moscatelli committed
27

28
paths:
29
30
31
  ###############################################################################
  # API Versions                                                                #
  ###############################################################################
32
  /api_versions:
33
    $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions'
34

35
36
37
  ###############################################################################
  # PM Jobs                                                                     #
  ###############################################################################
38
  /pm_jobs:
39
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2
40
    parameters:
41
42
43
44
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
45

46
    post:
rameshnaraya's avatar
rameshnaraya committed
47
      summary: Create a PM job.
48
      description: |
49
50
51
52
        The POST method creates a PM job.
        This method shall follow the provisions specified in the 
        Tables 7.4.2.3.1-1 and 7.4.2.3.1-2 for URI query parameters,
        request and response data structures, and response codes.
53
        As the result of successfully executing this method, a new 
54
55
        "Individual PM job" resource exist as defined in
        clause 7.4.3 shall have been created.
56
57
      requestBody:
        $ref: '#/components/requestBodies/CreatePmJobRequest'
58
      responses:
59
        201:
60
          $ref: '#/components/responses/PMJobs.Post.201'
61
        400:
62
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
63
        401:
64
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
65
        403:
66
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
67
        404:
68
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
69
        405:
70
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
71
        406:
72
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
73
74
        422:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/422"
75
        500:
76
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
77
        503:
78
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
79
80

    get:
rameshnaraya's avatar
rameshnaraya committed
81
      summary: Query PM jobs.
82
      description: |
83
        The API consumer can use this method to retrieve information about PM jobs.
84
      parameters:
85
86
87
88
89
90
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_default
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
91
      responses:
rameshnaraya's avatar
rameshnaraya committed
92
        200:
93
          $ref: '#/components/responses/PMJobs.Get.200'
94
        400:
95
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
96
        401:
97
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
98
        403:
99
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
100
        404:
101
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
102
        405:
103
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
104
        406:
105
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
106
        500:
107
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
108
        503:
109
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
110
111
112
113

  ###############################################################################
  # Individual PM job                                                           #
  ###############################################################################
114
  /pm_jobs/{pmJobId}:
115
116
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.3
    parameters:
117
118
119
      - $ref: '#/components/parameters/PmJobId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
120

121
    get:
rameshnaraya's avatar
rameshnaraya committed
122
      summary: Read a single PM job.
123
      description: |
124
        The API consumer can use this method for reading an individual PM job.
125
      parameters:
126
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
127
128
      responses:
        200:
129
          $ref: '#/components/responses/IndividualPMJob.Get.200'
130
        400:
131
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
132
        401:
133
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
134
        403:
135
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
136
        404:
137
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
138
        405:
139
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
140
        406:
141
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
142
        500:
143
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
144
        503:
145
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
146

147
148
    patch:
      summary: Modify a PM job.
149
      description: |
150
151
152
153
154
        This method allows to modify an "individual PM job" resource.
        This method shall follow the provisions specified in the
        Tables 7.4.3.3.4-1 and 7.4.3.3.4-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
155
156
157
        - $ref: '#/components/parameters/ContentTypeMergePatchJSON'
      requestBody:
        $ref: '#/components/requestBodies/PmJobModifications'
158
159
      responses:
        200:
160
          $ref: '#/components/responses/IndividualPMJob.Patch.200'
161
        400:
162
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
163
        401:
164
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
165
        403:
166
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
167
        404:
168
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
169
        405:
170
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
171
        406:
172
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
173
        412:
174
          $ref: "../responses/SOL005_resp.yaml#/components/responses/412"
175
176
        422:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/422"
177
        500:
178
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
179
        503:
180
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
181

182
    delete:
rameshnaraya's avatar
rameshnaraya committed
183
      summary: Delete a PM job.
184
      description: |
185
        This method terminates an individual PM job.
186
187
188
189
190
        This method shall follow the provisions specified in the Tables 7.4.3.3.5-1 
        and 7.4.3.3.5-2 for URI query parameters, request and response data structures, 
        and response codes. 
        As the result of successfully executing this method, the "Individual PM job" 
        resource shall not exist any longer.
191
192
      responses:
        204:
193
          $ref: '#/components/responses/IndividualPMJob.Delete.204'
194
        400:
195
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
196
        401:
197
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
198
        403:
199
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
200
        404:
201
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
202
        405:
203
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
204
        406:
205
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
206
        500:
207
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
208
        503:
209
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
210

211
212
213
  ###############################################################################
  # Individual performance report                                               #
  ###############################################################################
214
  /pm_jobs/{pmJobId}/reports/{reportId}:
215
216
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.4
    parameters:
217
218
219
220
      - $ref: '#/components/parameters/PmJobId'
      - $ref: '#/components/parameters/ReportId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
221

222
    get:
rameshnaraya's avatar
rameshnaraya committed
223
      summary: Read an individual performance report.
224
      description: |
225
        The API consumer can use this method for reading an individual performance
226
227
        report.
      parameters:
228
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
229
230
      responses:
        200:
231
          $ref: '#/components/responses/IndividualPerformanceReport.Get.200'
232
        400:
233
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
234
        401:
235
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
236
        403:
237
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
238
        404:
239
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
240
        405:
241
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
242
        406:
243
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
244
        500:
245
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
246
        503:
247
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
248

249
250
251
  ###############################################################################
  # Thresholds                                                                  #
  ###############################################################################
252
  /thresholds:
253
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5
254
    parameters:
255
256
257
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
258

259
    post:
rameshnaraya's avatar
rameshnaraya committed
260
      summary: Create a threshold.
261
      description: |
262
263
        The POST method can be used by the API consumer to create
        a threshold.
264

265
266
        This method shall follow the provisions specified in the 
        table 7.4.5.3.1-2 for URI query parameters,
267
268
269
        request and response data structures, and response codes.  
        
        As the result of successfully executing this method, a new 
270
271
        "Individual threshold" resource as defined
        in clause 7.4.6 shall have been created.
272
      parameters:
273
274
275
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/CreateThresholdRequest'
276
277
      responses:
        201:
278
          $ref: '#/components/responses/Thresholds.Post.201'
279
        400:
280
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
281
        401:
282
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
283
        403:
284
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
285
        404:
286
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
287
        405:
288
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
289
        406:
290
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
291
292
        422:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/422"
293
        500:
294
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
295
        503:
296
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
297

298
    get:
299
      summary: Query thresholds.
300
      description: |
301
        The API consumer can use this method to query information about thresholds.
302
      parameters:
303
304
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
305
306
      responses:
        200:
307
          $ref: '#/components/responses/Thresholds.Get.200'
308
        400:
309
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
310
        401:
311
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
312
        403:
313
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
314
        404:
315
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
316
        405:
317
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
318
        406:
319
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
320
        500:
321
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
322
        503:
323
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
324
325
326
327

  ###############################################################################
  # Individual threshold                                                        #
  ###############################################################################
328
  /thresholds/{thresholdId}:
329
330
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6
    parameters:
331
332
333
      - $ref: '#/components/parameters/ThresholdId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
334

335
    get:
rameshnaraya's avatar
rameshnaraya committed
336
      summary: Query a single threshold.
337
      description: |
338
339
        The API consumer can use this method for reading an individual
        threshold.
rameshnaraya's avatar
rameshnaraya committed
340
341
342
        This method shall follow the provisions specified in the 
        Tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
343
      parameters:
344
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
345
346
      responses:
        200:
347
          $ref: '#/components/responses/IndividualThreshold.Get.200'
348
        400:
349
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
350
        401:
351
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
352
        403:
353
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
354
        404:
355
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
356
        405:
357
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
358
        406:
359
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
360
        500:
361
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
362
        503:
363
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
364

365
366
    patch:
      summary: Modify a Threshold
367
      description: |
368
369
370
371
        This method allows to modify an "Individual threshold" resource.
        This method shall follow the provisions specified in the Tables
        7.4.6.3.4-1 and 7.4.6.3.4-2 for URI query parameters, request
        and response data structures, and response codes.
372
      parameters:
373
374
375
        - $ref: '#/components/parameters/ContentTypeMergePatchJSON'
      requestBody:
        $ref: '#/components/requestBodies/ThresholdModifications'
376
377
      responses:
        200:
378
          $ref: '#/components/responses/IndividualThreshold.Patch.200'
379
        400:
380
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
381
        401:
382
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
383
        403:
384
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
385
        404:
386
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
387
        405:
388
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
389
        406:
390
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
391
        412:
392
          $ref: "../responses/SOL005_resp.yaml#/components/responses/412"
393
394
        422:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/422"
395
        500:
396
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
397
        503:
398
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
399

400
    delete:
401
      summary: Delete a Threshold.
402
      description: |
403
404
        This method allows to delete a threshold.
        
405
        As the result of successfully executing this method, the 
406
        "Individual threshold" resource shall not exist any longer.
407
      parameters:
408
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
409
410
      responses:
        204:
411
          $ref: '#/components/responses/IndividualThreshold.Delete.204'
412
        400:
413
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
414
        401:
415
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
416
        403:
417
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
418
        404:
419
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
420
        405:
421
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
422
        406:
423
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
424
        500:
425
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
426
        503:
427
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
428
429
430
431
432
433
434
435

  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
#  '/subscriptions':
#    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7
#    parameters:
#      - name: Authorization
436
#        description: |
437
438
439
440
441
442
#          The authorization token for the request.
#          Reference: IETF RFC 7235.
#        in: header
#        required: false
#        type: string
#      - name: Version
443
#        description: |
444
445
446
447
448
449
450
#          Version of the API requested to use when responding to this request.
#        in: header
#        required: true
#        type: string
#
#    post:
#      summary: Subscribe to PM notifications.
451
#      description: |
452
453
454
455
456
457
458
459
460
461
462
463
464
#        The POST method creates a new subscription.
#        This method shall follow the provisions specified in the Tables 7.4.7.3.1-1 and 7.4.7.3.1-2 for URI query parameters,
#        request and response data structures, and response codes.
#        As the result of successfully executing this method, a new "Individual subscription" resource shall exist as defined
#        in clause 7.4.8. This method shall not trigger any notification.
#        Creation of two subscription resources with the same callbackURI and the same filter can result in performance
#        degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases.
#        Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the
#        same filter and callbackUri already exists (in which case it shall return the "201 Created" response code), or may decide
#        to not create a duplicate subscription resource (in which case it shall return a "303 See Other" response code referencing
#        the existing subscription resource with the same filter and callbackUri)
#      parameters:
#        - name: Accept
465
#          description: |
466
467
468
469
470
471
#            Content-Types that are acceptable for the response.
#            Reference: IETF RFC 7231.
#          in: header
#          required: true
#          type: string
#        - name: Content-Type
472
#          description: |
473
474
475
476
477
478
479
480
481
482
#            The MIME type of the body of the request.
#            Reference: IETF RFC 7231.
#          in: header
#          required: true
#          type: string
#        - name: body
#          in: body
#          required: true
#          schema:
#            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscriptionRequest"
483
#            description: |
484
485
486
#              Details of the subscription to be created.
#      responses:
#        201:
487
#          description: |
488
489
490
491
492
493
494
495
496
497
498
499
#            201 CREATED
#
#            Shall be returned when the subscription has been created successfully.
#            A representation of the created subscription resource
#            shall be returned in the response body, as defined in clause 7.5.2.3.
#            The HTTP response shall include a "Location" HTTP
#            header that contains the resource URI of the created subscription resource.
#          schema:
#            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscription"
#          headers:
#            Content-Type:
#              type: string
500
#              description: |
501
502
503
504
505
506
507
#                The MIME type of the body of the response.This header
#                field shall be present if the response has a non-empty message
#                body.
#              maximum: 1
#              minimum: 1
#            WWW-Authenticate:
#              type: string
508
#              description: |
509
510
511
512
513
514
#                Challenge if the corresponding HTTP request has not provided
#                authorization, or error details if the corresponding HTTP request
#                has provided an invalid authorization token.
#              maximum: 1
#              minimum: 0
#            Version:
515
#              description: |
516
517
518
519
520
#                Version of the API used in the response.
#              type: string
#              maximum: 1
#              minimum: 1
#        303:
521
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/303"
522
#        400:
523
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
524
#        401:
525
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
526
#        403:
527
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
528
#        404:
529
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
530
#        405:
531
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
532
#        406:
533
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
534
#        500:
535
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
536
#        503:
537
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
538
539
540
#
#    get:
#      summary: Query PM related subscriptions.
541
#      description: |
542
543
544
545
546
547
548
549
550
#        The client can use this method to query the list of active subscriptions to Performance management notifications
#        subscribed by the client.
#        This method shall follow the provisions specified in the Tables 7.4.7.3.2-1 and 7.4.7.3.2-2 for URI query parameters,
#        request and response data structures, and response codes.
#      parameters:
#        - name: filter
#          in: query
#          required: false
#          type: string
551
#          description: |
552
553
554
555
556
557
558
559
560
#            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
#            The NFVO shall support receiving this parameter as part of the URI query string.
#            The OSS/BSS may supply this parameter.
#            All attribute names that appear in the PmSubscription and in data types referenced from it
#            shall be supported by the NFVO in the filter expression.
#        - name: nextpage_opaque_marker
#          in: query
#          required: false
#          type: string
561
#          description: |
562
563
564
565
#            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
#            if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of
#            ETSI GS NFV-SOL 013 for this resource.
#        - name: Accept
566
#          description: |
567
568
569
570
571
572
573
#            Content-Types that are acceptable for the response.
#            Reference: IETF RFC 7231.
#          in: header
#          required: true
#          type: string
#      responses:
#        200:
574
#          description: |
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
#            200 OK
#
#            Shall be returned when the list of subscriptions has
#            been queried successfully.
#            The response body shall contain the representations of
#            all active subscriptions of the functional block that
#            invokes the method, as defined in clause 7.5.2.3.
#            If the "filter" URI parameter was supplied in the request,
#            the data in the response body shall have been transformed
#            according to the rules specified in clause 5.2.2 of
#            ETSI GS NFV-SOL 013.
#            If the NFVO supports alternative 2 (paging) according to
#            clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource,
#            inclusion of the Link HTTP header in this response shall
#            follow the provisions in clause 5.4.2.3 of
#            ETSI GS NFV SOL 013.
#
#          headers:
#            Content-Type:
#              description: The MIME type of the body of the response.
#              type: string
#              maximum: 1
#              minimum: 1
#            WWW-Authenticate:
#              type: string
600
#              description: |
601
602
603
604
605
606
#                Challenge if the corresponding HTTP request has not provided
#                authorization, or error details if the corresponding HTTP request
#                has provided an invalid authorization token.
#              maximum: 1
#              minimum: 0
#            Version:
607
#              description: |
608
609
610
611
612
#                Version of the API used in the response.
#              type: string
#              maximum: 1
#              minimum: 1
#            Link:
613
#              description: |
614
615
616
617
618
619
620
621
622
#                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
#              type: string
#              maximum: 1
#              minimum: 0
#          schema:
#            type: array
#            items:
#              $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscription"
#        400:
623
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
624
#        401:
625
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
626
#        403:
627
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
628
#        404:
629
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
630
#        405:
631
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
632
#        406:
633
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
634
#        500:
635
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
636
#        503:
637
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
638
639
640
641
642
643
644
645

  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
#  '/subscriptions/{subscriptionId}':
#    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.8
#    parameters:
#      - name: subscriptionId
646
#        description: |
647
648
649
650
651
652
653
654
#          Identifier of the subscription.
#          This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response
#          to a POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the
#          payload body of that response.
#        in: path
#        type: string
#        required: true
#      - name: Authorization
655
#        description: |
656
657
658
659
660
661
#          The authorization token for the request.
#          Reference: IETF RFC 7235
#        in: header
#        required: true
#        type: string
#      - name: Version
662
#        description: |
663
664
665
666
667
668
669
#          Version of the API requested to use when responding to this request.
#        in: header
#        required: true
#        type: string
#
#    get:
#      summary: Query a single PM related subscription.
670
#      description: |
671
672
673
674
675
676
#        The client can use this method for reading an individual subscription about Performance management notifications
#        subscribed by the client.
#        This method shall follow the provisions specified in the Tables 7.4.8.3.2-1 and 7.4.8.3.2-2 for URI query parameters,
#        request and response data structures, and response codes.
#      parameters:
#        - name: Accept
677
#          description: |
678
679
680
681
682
683
684
#            Content-Types that are acceptable for the response.
#            Reference: IETF RFC 7231
#          in: header
#          required: true
#          type: string
#      responses:
#        200:
685
#          description: |
686
687
688
689
690
691
692
693
694
695
#            200 OK
#
#            Shall be returned when the subscription has been read successfully.
#            The response body shall contain a representation of
#            the subscription resource, as defined in clause 7.5.2.3.
#          schema:
#            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscription"
#          headers:
#            Content-Type:
#              type: string
696
#              description: |
697
698
699
700
701
#                The MIME type of the body of the response.This header
#                field shall be present if the response has a non-empty message
#                body.
#            WWW-Authenticate:
#              type: string
702
#              description: |
703
704
705
706
707
708
#                Challenge if the corresponding HTTP request has not provided
#                authorization, or error details if the corresponding HTTP request
#                has provided an invalid authorization token.
#              maximum: 1
#              minimum: 0
#            Version:
709
#              description: |
710
711
712
713
714
#                Version of the API used in the response.
#              type: string
#              maximum: 1
#              minimum: 1
#        400:
715
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
716
#        401:
717
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
718
#        403:
719
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
720
#        404:
721
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
722
#        405:
723
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
724
#        406:
725
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
726
#        500:
727
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
728
#        503:
729
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
730
731
732
#
#    delete:
#      summary: Terminate a subscription.
733
#      description: |
734
735
736
737
738
739
740
741
742
743
744
745
746
#        This method terminates an individual subscription.
#        This method shall follow the provisions specified in the
#        Tables 7.4.8.3.5-1 and 7.4.8.3.5-2 for URI query parameters,
#        request and response data structures, and response codes.
#        As the result of successfully executing this method, the
#        "Individual subscription" resource shall not exist any longer.
#        This means that no notifications for that subscription shall
#        be sent to the formerly-subscribed API consumer.
#        NOTE: Due to race conditions, some notifications might still be
#        received by the formerly-subscribed API consumer for a
#        certain time period after the deletion.
#      parameters:
#        - name: Accept
747
#          description: |
748
749
750
751
752
753
754
#            Content-Types that are acceptable for the response.
#            Reference: IETF RFC 7231.
#          in: header
#          required: true
#          type: string
#      responses:
#        204:
755
#          description: |
756
757
758
759
760
761
762
763
#            204 NO CONTENT
#
#            Shall be returned when the subscription resource has been
#            deleted successfully.
#            The response body shall be empty.
#          headers:
#            WWW-Authenticate:
#              type: string
764
#              description: |
Giacomo Bernini's avatar