NSPerformanceManagement.yaml 52.2 KB
Newer Older
1
2
3
swagger: "2.0"

info:
4
  version: 1.0.0
rameshnaraya's avatar
rameshnaraya committed
5
  title: SOL005 - NS Performance Management Interface
6
  description: >
rameshnaraya's avatar
rameshnaraya committed
7
    SOL005 - NS Performance Management Interface
8
9
10
11
12
13
    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.
    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
  license:
14
    name: ETSI Forge copyright notice
15
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
16
  contact:
17
    name: NFV-SOL WG
18
19
externalDocs:
  description: ETSI GS NFV-SOL 005 V2.4.1
20
  url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf
21
basePath: /nspm/v1
22
23
24
schemes:
  - https
consumes:
25
  - application/json
26
produces:
27
  - application/json
28
paths:
29
30
31
  ###############################################################################
  # PM Jobs                                                                     #
  ###############################################################################
32
33
  '/pm_jobs':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2
34

35
    post:
rameshnaraya's avatar
rameshnaraya committed
36
      summary: Create a PM job.
37
38
39
40
41
      description: >
        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.
42
      parameters:
43
44
45
46
        - name: CreatePmJobRequest
          in: body
          required: true
          schema:
47
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest"
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
            description: >
              The VNF creation parameters.
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
      responses:
78
        201:
79
          description: >
80
            201 Created
81

82
83
84
85
86
            The PM job was created successfully.
            The response body shall contain a representation of
            the created PM job resource, as defined in clause 7.5.2.7.
            The HTTP response shall include a "Location" HTTP
            header that points to the created PM job resource.          
87
          schema:
88
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob"
rameshnaraya's avatar
rameshnaraya committed
89
90
          headers:
            Content-Type:
91
              type: string
rameshnaraya's avatar
rameshnaraya committed
92
93
94
95
96
              description: >
                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:
97
              type: string
rameshnaraya's avatar
rameshnaraya committed
98
99
100
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
101
102
                has provided an invalid authorization token.
              maximum: 1
103
104
105
106
107
108
109
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
110
        400:
111
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
112
        401:
113
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
114
        403:
115
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
116
        404:
117
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
118
        405:
119
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
120
        406:
121
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
122
        416:
123
          $ref: "responses/SOL005NSPerformanceManagement_resp.yaml#/responses/416"
124
        500:
125
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
126
        503:
127
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
128
129

    get:
rameshnaraya's avatar
rameshnaraya committed
130
      summary: Query PM jobs.
131
132
      description: >
        The client can use this method to retrieve information about PM jobs.
133
      parameters:
134
135
        - name: filter
          in: query
136
          required: false
137
138
          type: string
          description: >
139
140
141
            Attribute-based filtering expression according to clause 4.3.2.
            The NFVO shall support receiving this parameter as part of the URI query string.
            The OSS/BSS may supply this parameter.
142
            All attribute names that appear in the PmJob and in data types referenced from it
143
            shall be supported by the NFVO in the filter expression.
144
145
        - name: all_fields
          in: query
146
          required: false
147
148
149
150
151
152
          type: string
          description: >
            Include all complex attributes in the response. See clause 4.3.3 for details. The
            NFVO shall support this parameter.
        - name: include
          in: query
153
          required: false
154
155
156
157
158
159
          type: string
          description: >
            Complex attributes to be included into the response. See clause 4.3.3 for details. The
            NFVO should support this parameter.
        - name: exclude
          in: query
160
          required: false
161
162
163
164
165
166
          type: string
          description: >
            Complex attributes to be excluded from the response. See clause 4.3.3 for details.
            The NFVO should support this parameter.
        - name: exclude_default
          in: query
167
          required: false
168
169
170
          type: string
          description: >
            Indicates to exclude the following complex attributes from the response.
171
172
173
174
            See clause 4.3.3 for details. The NFVO shall support this parameter.
            The following attributes shall be excluded from the PmJob structure in the response
            body if this parameter is provided, or none of the parameters "all_fields," "fields",
            "exclude_fields", "exclude_default" are provided:
175
176
177
178
179
180
181
182
            reports.
        - name: nextpage_opaque_marker
          description: >
            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 4.7.2.1 for this resource.
          in: query
          required: false
          type: string
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
203
204
205
206
207
208
209
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
210
      responses:
rameshnaraya's avatar
rameshnaraya committed
211
212
        200:
          description: >
213
            200 OK
214

rameshnaraya's avatar
rameshnaraya committed
215
            Information about zero or more PM jobs was queried successfully.
216
            The response body shall contain representations of
217
            zero or more PM jobs, as defined in clause 7.5.2.7.
218
          headers:
rameshnaraya's avatar
rameshnaraya committed
219
220
221
222
223
224
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
225
              type: string
rameshnaraya's avatar
rameshnaraya committed
226
227
              description: >
                Challenge if the corresponding HTTP request has not provided
228
229
230
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
231
232
233
234
235
236
237
238
239
240
241
242
243
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
            Link:
              description: >
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
              type: string
              maximum: 1
              minimum: 0
rameshnaraya's avatar
rameshnaraya committed
244
245
246
          schema:
            type: array
            items:
247
              $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob"
248
        400:
249
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
250
        401:
251
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
252
        403:
253
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
254
        405:
255
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
256
        406:
257
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
258
        500:
259
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
260
        503:
261
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
262
263
264
265

  ###############################################################################
  # Individual PM job                                                           #
  ###############################################################################
266
267
268
269
270
271
  '/pm_jobs/{pmJobId}':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.3
    parameters:
      - name: pmJobId
        description: >
          Identifier of the PM job.
rameshnaraya's avatar
rameshnaraya committed
272
273
274
          This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response
          to a POST request creating a new PM job resource. It can also be retrieved from the "id" attribute in the
          payload body of that response.          
275
276
277
        in: path
        type: string
        required: true
278

279
    get:
rameshnaraya's avatar
rameshnaraya committed
280
      summary: Read a single PM job.
281
282
283
284
285
286
      description: >
        The client can use this method for reading an individual PM job.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
287
            Reference: IETF RFC 7231.
288
289
290
291
292
293
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
294
295
296
297
298
299
300
            Reference: IETF RFC 7235.
          in: header
          required: true
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
301
302
303
304
305
          in: header
          required: true
          type: string
      responses:
        200:
306
307
          description: >
            200 OK
308

309
310
311
            Information about an individual PM job was queried successfully.
            The response body shall contain a representation of
            the PM job resource, as defined in clause 7.5.2.7.            
rameshnaraya's avatar
rameshnaraya committed
312
          schema:
313
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob"
314
          headers:
rameshnaraya's avatar
rameshnaraya committed
315
            Content-Type:
316
              type: string
rameshnaraya's avatar
rameshnaraya committed
317
318
319
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message body.
320
            WWW-Authenticate:
321
              type: string
322
323
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
324
325
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
326
327
              maximum: 1
              minimum: 0
328
329
330
331
332
333
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
334
        400:
335
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
336
        401:
337
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
338
        403:
339
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
340
        405:
341
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
342
        406:
343
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
344
        500:
345
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
346
        503:
347
348
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

349
    delete:
rameshnaraya's avatar
rameshnaraya committed
350
      summary: Delete a PM job.
351
352
353
354
355
356
      description: >
        This method terminates an individual PM job.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
357
            Reference: IETF RFC 7235.
358
359
360
          in: header
          required: true
          type: string
361
362
363
364
365
366
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
367
368
      responses:
        204:
369
          description: >
370
            204 No Content
371

372
373
374
375
            The PM job was deleted successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
376
              type: string
377
378
              description: >
                Challenge if the corresponding HTTP request has not provided
379
380
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
381
382
              maximum: 1
              minimum: 0
383
384
385
386
387
388
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
389
        400:
390
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
391
        401:
392
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
393
        403:
394
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
395
        405:
396
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
397
        406:
398
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
399
        500:
400
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
401
        503:
402
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
403

404
405
406
  ###############################################################################
  # Individual performance report                                               #
  ###############################################################################
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
  '/pm_jobs/{pmJobId}/reports/{reportId}':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.4
    parameters:
      - name: pmJobId
        description: >
          Identifier of the PM job.
        in: path
        type: string
        required: true
      - name: reportId
        description: >
          Identifier of the performance report.
        in: path
        type: string
        required: true
422

423
    get:
rameshnaraya's avatar
rameshnaraya committed
424
      summary: Read an individual performance report.
425
426
427
428
429
430
431
      description: >
        The client can use this method for reading an individual performance
        report.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
432
            Reference: IETF RFC 7231.
433
434
435
436
437
438
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
439
440
441
442
443
444
445
            Reference: IETF RFC 7235.
          in: header
          required: true
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
446
447
448
449
450
          in: header
          required: true
          type: string
      responses:
        200:
451
452
453
454
455
456
457
          description: >
            200 OK

            Information of an individual performance report was read successfully.
            The response body shall contain a representation of
            the performance report resource, as defined in
            clause 7.5.2.10.
rameshnaraya's avatar
rameshnaraya committed
458
          schema:
459
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PerformanceReport"
460
          headers:
rameshnaraya's avatar
rameshnaraya committed
461
            Content-Type:
462
              type: string
rameshnaraya's avatar
rameshnaraya committed
463
464
465
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message body.
466
            WWW-Authenticate:
467
              type: string
468
469
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
470
471
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
472
473
              maximum: 1
              minimum: 0
474
475
476
477
478
479
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
480
        400:
481
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
482
        401:
483
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
484
        403:
485
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
486
        405:
487
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
488
        406:
489
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
490
        500:
491
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
492
        503:
493
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
494

495
496
497
  ###############################################################################
  # Thresholds                                                                  #
  ###############################################################################
498
  '/thresholds':
499
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5
500

501
    post:
rameshnaraya's avatar
rameshnaraya committed
502
      summary: Create a threshold.
503
      description: >
504
        The POST method can be used by the client to create a threshold.
505

506
507
508
        This method shall follow the provisions specified in the 
        table 7.4.5.3.1-2 for URI query parameters,
        request and response data structures, and response codes.        
509
      parameters:
510
511
512
513
        - name: CreateThresholdRequest
          in: body
          required: true
          schema:
514
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest"
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
            description: >
              Request parameters to create a threshold resource.
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
544
545
      responses:
        201:
546
547
          description: >
            201 Created
548

549
550
551
552
553
554
            A threshold was created successfully.
            The response body shall contain a representation of
            the created threshold resource, as defined in clause 7.5.2.9.
            The HTTP response shall include a "Location" HTTP
            header that contains the resource URI of the created
            threshold resource.            
rameshnaraya's avatar
rameshnaraya committed
555
          schema:
556
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
557
          headers:
rameshnaraya's avatar
rameshnaraya committed
558
            Content-Type:
559
              type: string
rameshnaraya's avatar
rameshnaraya committed
560
561
562
563
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message
                body.
564
            WWW-Authenticate:
565
              type: string
566
567
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
568
569
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
570
571
              maximum: 1
              minimum: 0
572
573
574
575
576
577
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
578
        400:
579
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
580
        401:
581
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
582
        403:
583
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
584
        405:
585
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
586
        406:
587
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
588
        500:
589
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
590
        503:
591
592
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

593
    get:
594
      summary: Query thresholds.
595
596
597
      description: >
        The client can use this method to query information about thresholds.
      parameters:
598
599
        - name: filter
          in: query
600
          required: false
601
602
          type: string
          description: >
603
604
605
606
607
            Attribute-based filtering expression according to clause 4.3.2.
            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 Thresholds data type and in data types referenced from it
            shall be supported by the NFVO in the filter expression.
608
609
610
611
612
613
614
        - name: nextpage_opaque_marker
          in: query
          required: false
          type: string
          description: >
            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 4.7.2.1 for this resource.
615
616
617
618
619
620
621
622
623
624
625
626
627
628
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
629
630
631
632
633
634
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
635
636
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
637
          description: >
638
            200 OK
639

rameshnaraya's avatar
rameshnaraya committed
640
            Information about zero or more thresholds was queried successfully.
641
            The response body shall contain representations of
rameshnaraya's avatar
rameshnaraya committed
642
            zero or more thresholds, as defined in clause 7.5.2.9.
643
          headers:
rameshnaraya's avatar
rameshnaraya committed
644
645
            Content-Type:
              description: The MIME type of the body of the response.
646
              type: string
rameshnaraya's avatar
rameshnaraya committed
647
648
              maximum: 1
              minimum: 1
649
            WWW-Authenticate:
650
              type: string
651
652
              description: >
                Challenge if the corresponding HTTP request has not provided
653
654
655
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
656
657
658
659
660
661
662
663
664
665
666
667
668
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
            Link:
              description: >
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
              type: string
              maximum: 1
              minimum: 0
669
670
          schema:
            type: array
rameshnaraya's avatar
rameshnaraya committed
671
            items:
672
              $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
673
        400:
674
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
675
        401:
676
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
677
        403:
678
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
679
        405:
680
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
681
        406:
682
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
683
        500:
684
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
685
        503:
686
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
687
688
689
690

  ###############################################################################
  # Individual threshold                                                        #
  ###############################################################################
691
  '/thresholds/{thresholdId}':
692
693
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6
    parameters:
694
695
696
697
698
699
700
701
702
703
      - name: thresholdId
        description: >
          Identifier of the threshold.
          This identifier can be retrieved from the resource referenced by the
          "Location" HTTP header in the response to a POST request creating a
          new threshold resource. It can also be retrieved from the "id"
          attribute in the payload body of that response.
        in: path
        type: string
        required: true
704

705
    get:
rameshnaraya's avatar
rameshnaraya committed
706
      summary: Query a single threshold.
707
708
      description: >
        The client can use this method for reading an individual threshold.
rameshnaraya's avatar
rameshnaraya committed
709
710
711
        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.
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
727
728
729
730
731
732
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
733
734
      responses:
        200:
735
736
          description: >
            200 OK
737

738
739
740
            Information about an individual threshold was queried successfully.
            The response body shall contain a representation of
            the threshold, as defined in clause 7.5.2.9.            
rameshnaraya's avatar
rameshnaraya committed
741
          schema:
742
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
743
          headers:
rameshnaraya's avatar
rameshnaraya committed
744
            Content-Type:
745
              type: string
rameshnaraya's avatar
rameshnaraya committed
746
747
748
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message body.
749
            WWW-Authenticate:
750
              type: string
751
752
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
753
754
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
755
756
              maximum: 1
              minimum: 0
757
758
759
760
761
762
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
763
        400:
764
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
765
        401:
766
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
767
        403:
768
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
769
        405:
770
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
771
        406:
772
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
773
        500:
774
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
775
        503:
776
777
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

778
    delete:
rameshnaraya's avatar
rameshnaraya committed
779
      summary: Delete a threshold.
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
      description: >
        This method allows to delete a threshold.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
797
798
799
800
801
802
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
803
804
      responses:
        204:
805
          description: >
806
            204 No Content
807

808
809
810
811
            The threshold was deleted successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
812
              type: string
813
814
              description: >
                Challenge if the corresponding HTTP request has not provided
815
816
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
817
818
              maximum: 1
              minimum: 0
819
820
821
822
823
824
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
825
        400:
826
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
827
        401:
828
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
829
        403:
830
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
831
        405:
832
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
833
        406:
834
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
835
        500:
836
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
837
        503:
838
839
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

840
841
842
  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
843
844
  '/subscriptions':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7
845

846
    post:
rameshnaraya's avatar
rameshnaraya committed
847
      summary: Subscribe to PM notifications.
848
849
850
851
      description: >
        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.
rameshnaraya's avatar
rameshnaraya committed
852
853
        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.
854
        Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the
rameshnaraya's avatar
rameshnaraya committed
855
856
857
        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)
858
      parameters:
859
860
861
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
862
            Reference: IETF RFC 7231.
863
864
865
866
867
868
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
869
            Reference: IETF RFC 7235.
870
871
872
873
874
875
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
876
            Reference: IETF RFC 7231.
877
878
879
880
881
882
883
884
885
886
887
888
889
          in: header
          required: true
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
        - name: body
          in: body
          required: true
          schema:
890
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscriptionRequest"
891
892
            description: >
              Details of the subscription to be created.
893
894
      responses:
        201:
895
896
          description: >
            201 Created
897

898
899
900
901
902
            The subscription was 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.            
rameshnaraya's avatar
rameshnaraya committed
903
          schema:
904
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscription"
905
          headers:
rameshnaraya's avatar
rameshnaraya committed
906
            Content-Type:
907
              type: string
rameshnaraya's avatar
rameshnaraya committed
908
909
910
911
912
              description: >
                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
913
              minimum: 1
914
            WWW-Authenticate:
915
              type: string
916
917
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
918
919
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
920
              maximum: 1
921
922
923
924
925
926
927
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
928
        303:
929
          $ref: "responses/SOL005NSPerformanceManagement_resp.yaml#/responses/303"
930
        400:
931
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
932
        401:
933
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
934
        403:
935
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
936
        405:
937
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
938
        406:
939
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
940
        500:
941
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
942
        503:
943
944
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

945
    get:
946
      summary: Query PM related subscriptions.
947
      description: >
rameshnaraya's avatar
rameshnaraya committed
948
949
950
951
        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.
952
      parameters:
953
954
        - name: filter
          in: query
955
          required: false
956
957
          type: string
          description: >
958
959
960
961