NSPerformanceManagement.yaml 47.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
    IMPORTANT: Please note that this file might be not aligned to the current
9
10
11
    version of the ETSI Group Specification it refers to. 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
15
  contact:
    name: NFV-SOL WG
16
  license:
17
    name: ETSI Forge copyright notice
18
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
19
  version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
moscatelli's avatar
moscatelli committed
20

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

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

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

36
37
38
  ###############################################################################
  # PM Jobs                                                                     #
  ###############################################################################
39
  /pm_jobs:
40
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2
41
    parameters:
42
43
44
45
      - $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
46

47
    post:
48
      description: |
49
        The POST method creates a PM job. See clause 7.4.2.3.1.
50
51
      requestBody:
        $ref: '#/components/requestBodies/CreatePmJobRequest'
52
      responses:
53
        201:
54
          $ref: '#/components/responses/PMJobs.Post.201'
55
        400:
56
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
57
        401:
58
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
59
        403:
60
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
61
        404:
62
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
63
        405:
64
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
65
        406:
66
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
67
68
        422:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/422"
69
        500:
70
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
71
        503:
72
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
73
74

    get:
75
      description: |
76
        The API consumer can use this method to retrieve information about PM jobs. See clause 7.4.2.3.2.
77
      parameters:
78
79
80
81
82
83
        - $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
84
      responses:
rameshnaraya's avatar
rameshnaraya committed
85
        200:
86
          $ref: '#/components/responses/PMJobs.Get.200'
87
        400:
88
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
89
        401:
90
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
91
        403:
92
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
93
        404:
94
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
95
        405:
96
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
97
        406:
98
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
99
        500:
100
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
101
        503:
102
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
103
104
105
106

  ###############################################################################
  # Individual PM job                                                           #
  ###############################################################################
107
  /pm_jobs/{pmJobId}:
108
109
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.3
    parameters:
110
111
112
      - $ref: '#/components/parameters/PmJobId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
113

114
    get:
115
      description: |
116
        The API consumer can use this method for reading an individual PM job. See clause 7.4.3.3.2.
117
      parameters:
118
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
119
120
      responses:
        200:
121
          $ref: '#/components/responses/IndividualPMJob.Get.200'
122
        400:
123
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
124
        401:
125
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
126
        403:
127
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
128
        404:
129
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
130
        405:
131
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
132
        406:
133
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
134
        500:
135
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
136
        503:
137
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
138

139
    patch:
140
      description: |
141
        This method allows to modify an "individual PM job" resource. See clause 7.4.3.3.4.
142
      parameters:
143
144
145
        - $ref: '#/components/parameters/ContentTypeMergePatchJSON'
      requestBody:
        $ref: '#/components/requestBodies/PmJobModifications'
146
147
      responses:
        200:
148
          $ref: '#/components/responses/IndividualPMJob.Patch.200'
149
        400:
150
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
151
        401:
152
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
153
        403:
154
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
155
        404:
156
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
157
        405:
158
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
159
        406:
160
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
161
        412:
162
          $ref: "../responses/SOL005_resp.yaml#/components/responses/412"
163
164
        422:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/422"
165
        500:
166
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
167
        503:
168
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
169

170
    delete:
171
      description: |
172
        This method terminates an individual PM job. See clause 7.4.3.3.5.
173
174
      responses:
        204:
175
          $ref: '#/components/responses/IndividualPMJob.Delete.204'
176
        400:
177
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
178
        401:
179
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
180
        403:
181
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
182
        404:
183
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
184
        405:
185
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
186
        406:
187
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
188
        500:
189
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
190
        503:
191
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
192

193
194
195
  ###############################################################################
  # Individual performance report                                               #
  ###############################################################################
196
  /pm_jobs/{pmJobId}/reports/{reportId}:
197
198
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.4
    parameters:
199
200
201
202
      - $ref: '#/components/parameters/PmJobId'
      - $ref: '#/components/parameters/ReportId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
203

204
    get:
205
      description: |
206
        The API consumer can use this method for reading an individual performance
207
        report. See clause 7.4.4.3.2.
208
      parameters:
209
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
210
211
      responses:
        200:
212
          $ref: '#/components/responses/IndividualPerformanceReport.Get.200'
213
        400:
214
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
215
        401:
216
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
217
        403:
218
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
219
        404:
220
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
221
        405:
222
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
223
        406:
224
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
225
        500:
226
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
227
        503:
228
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
229

230
231
232
  ###############################################################################
  # Thresholds                                                                  #
  ###############################################################################
233
  /thresholds:
234
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5
235
    parameters:
236
237
238
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
239

240
    post:
241
      description: |
242
        The POST method can be used by the API consumer to create
243
        a threshold. See clause 7.4.5.3.1.
244
      parameters:
245
246
247
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/CreateThresholdRequest'
248
249
      responses:
        201:
250
          $ref: '#/components/responses/Thresholds.Post.201'
251
        400:
252
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
253
        401:
254
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
255
        403:
256
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
257
        404:
258
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
259
        405:
260
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
261
        406:
262
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
263
264
        422:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/422"
265
        500:
266
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
267
        503:
268
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
269

270
    get:
271
      description: |
272
        The API consumer can use this method to query information about thresholds. See clause 7.4.5.3.2.
273
      parameters:
274
275
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
276
277
      responses:
        200:
278
          $ref: '#/components/responses/Thresholds.Get.200'
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
        500:
292
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
293
        503:
294
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
295
296
297
298

  ###############################################################################
  # Individual threshold                                                        #
  ###############################################################################
299
  /thresholds/{thresholdId}:
300
301
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6
    parameters:
302
303
304
      - $ref: '#/components/parameters/ThresholdId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
305

306
    get:
307
      description: |
308
        The API consumer can use this method for reading an individual
309
        threshold. See clause 7.4.6.3.2.
310
      parameters:
311
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
312
313
      responses:
        200:
314
          $ref: '#/components/responses/IndividualThreshold.Get.200'
315
        400:
316
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
317
        401:
318
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
319
        403:
320
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
321
        404:
322
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
323
        405:
324
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
325
        406:
326
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
327
        500:
328
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
329
        503:
330
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
331

332
    patch:
333

334
      description: |
335
        This method allows to modify an "Individual threshold" resource. See clause 7.4.6.3.4.
336
      parameters:
337
338
339
        - $ref: '#/components/parameters/ContentTypeMergePatchJSON'
      requestBody:
        $ref: '#/components/requestBodies/ThresholdModifications'
340
341
      responses:
        200:
342
          $ref: '#/components/responses/IndividualThreshold.Patch.200'
343
        400:
344
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
345
        401:
346
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
347
        403:
348
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
349
        404:
350
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
351
        405:
352
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
353
        406:
354
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
355
        412:
356
          $ref: "../responses/SOL005_resp.yaml#/components/responses/412"
357
358
        422:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/422"
359
        500:
360
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
361
        503:
362
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
363

364
    delete:
365
      description: |
366
        This method allows to delete a threshold. See clause 7.4.6.3.5.
367
      parameters:
368
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
369
370
      responses:
        204:
371
          $ref: '#/components/responses/IndividualThreshold.Delete.204'
372
        400:
373
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
374
        401:
375
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
376
        403:
377
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
378
        404:
379
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
380
        405:
381
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
382
        406:
383
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
384
        500:
385
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
386
        503:
387
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
388
389
390
391
392
393
394
395

  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
#  '/subscriptions':
#    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7
#    parameters:
#      - name: Authorization
396
#        description: |
397
398
399
400
401
402
#          The authorization token for the request.
#          Reference: IETF RFC 7235.
#        in: header
#        required: false
#        type: string
#      - name: Version
403
#        description: |
404
405
406
407
408
409
410
#          Version of the API requested to use when responding to this request.
#        in: header
#        required: true
#        type: string
#
#    post:
#      summary: Subscribe to PM notifications.
411
#      description: |
412
413
414
415
416
417
418
419
420
421
422
423
424
#        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
425
#          description: |
426
427
428
429
430
431
#            Content-Types that are acceptable for the response.
#            Reference: IETF RFC 7231.
#          in: header
#          required: true
#          type: string
#        - name: Content-Type
432
#          description: |
433
434
435
436
437
438
439
440
441
442
#            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"
443
#            description: |
444
445
446
#              Details of the subscription to be created.
#      responses:
#        201:
447
#          description: |
448
449
450
451
452
453
454
455
456
457
458
459
#            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
460
#              description: |
461
462
463
464
465
466
467
#                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
468
#              description: |
469
470
471
472
473
474
#                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:
475
#              description: |
476
477
478
479
480
#                Version of the API used in the response.
#              type: string
#              maximum: 1
#              minimum: 1
#        303:
481
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/303"
482
#        400:
483
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
484
#        401:
485
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
486
#        403:
487
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
488
#        404:
489
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
490
#        405:
491
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
492
#        406:
493
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
494
#        500:
495
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
496
#        503:
497
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
498
499
500
#
#    get:
#      summary: Query PM related subscriptions.
501
#      description: |
502
503
504
505
506
507
508
509
510
#        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
511
#          description: |
512
513
514
515
516
517
518
519
520
#            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
521
#          description: |
522
523
524
525
#            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
526
#          description: |
527
528
529
530
531
532
533
#            Content-Types that are acceptable for the response.
#            Reference: IETF RFC 7231.
#          in: header
#          required: true
#          type: string
#      responses:
#        200:
534
#          description: |
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
#            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
560
#              description: |
561
562
563
564
565
566
#                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:
567
#              description: |
568
569
570
571
572
#                Version of the API used in the response.
#              type: string
#              maximum: 1
#              minimum: 1
#            Link:
573
#              description: |
574
575
576
577
578
579
580
581
582
#                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:
583
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
584
#        401:
585
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
586
#        403:
587
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
588
#        404:
589
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
590
#        405:
591
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
592
#        406:
593
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
594
#        500:
595
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
596
#        503:
597
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
598
599
600
601
602
603
604
605

  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
#  '/subscriptions/{subscriptionId}':
#    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.8
#    parameters:
#      - name: subscriptionId
606
#        description: |
607
608
609
610
611
612
613
614
#          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
615
#        description: |
616
617
618
619
620
621
#          The authorization token for the request.
#          Reference: IETF RFC 7235
#        in: header
#        required: true
#        type: string
#      - name: Version
622
#        description: |
623
624
625
626
627
628
629
#          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.
630
#      description: |
631
632
633
634
635
636
#        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
637
#          description: |
638
639
640
641
642
643
644
#            Content-Types that are acceptable for the response.
#            Reference: IETF RFC 7231
#          in: header
#          required: true
#          type: string
#      responses:
#        200:
645
#          description: |
646
647
648
649
650
651
652
653
654
655
#            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
656
#              description: |
657
658
659
660
661
#                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
662
#              description: |
663
664
665
666
667
668
#                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:
669
#              description: |
670
671
672
673
674
#                Version of the API used in the response.
#              type: string
#              maximum: 1
#              minimum: 1
#        400:
675
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
676
#        401:
677
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
678
#        403:
679
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
680
#        404:
681
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
682
#        405:
683
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
684
#        406:
685
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
686
#        500:
687
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
688
#        503:
689
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
690
691
692
#
#    delete:
#      summary: Terminate a subscription.
693
#      description: |
694
695
696
697
698
699
700
701
702
703
704
705
706
#        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
707
#          description: |
708
709
710
711
712
713
714
#            Content-Types that are acceptable for the response.
#            Reference: IETF RFC 7231.
#          in: header
#          required: true
#          type: string
#      responses:
#        204:
715
#          description: |
716
717
718
719
720
721
722
723
#            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
724
#              description: |
725
726
727
728
729
730
#                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:
731
#              description: |
732
733
734
735
736
#                Version of the API used in the response.
#              type: string
#              maximum: 1
#              minimum: 1
#        400:
737
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
738
#        401:
739
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
740
#        403:
741
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
742
#        404:
743
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
744
#        405:
745
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
746
#        406:
747
#          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
748
#        500: