NSPerformanceManagement.yaml 52.6 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
36
37
38
39
40
41
42
43
44
45
46
47
    parameters:
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
48

49
    post:
rameshnaraya's avatar
rameshnaraya committed
50
      summary: Create a PM job.
51
52
53
54
55
      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.
56
      parameters:
57
58
59
60
        - name: CreatePmJobRequest
          in: body
          required: true
          schema:
61
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest"
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
            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: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
79
        201:
80
          description: >
81
            201 CREATED
82

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

    get:
rameshnaraya's avatar
rameshnaraya committed
129
      summary: Query PM jobs.
130
131
      description: >
        The client can use this method to retrieve information about PM jobs.
132
      parameters:
133
134
        - name: filter
          in: query
135
          required: false
136
137
          type: string
          description: >
138
139
140
            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.
141
            All attribute names that appear in the PmJob and in data types referenced from it
142
            shall be supported by the NFVO in the filter expression.
143
144
        - name: all_fields
          in: query
145
          required: false
146
147
148
149
150
151
          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
152
          required: false
153
154
155
156
157
158
          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
159
          required: false
160
161
162
163
164
165
          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
166
          required: false
167
168
169
          type: string
          description: >
            Indicates to exclude the following complex attributes from the response.
170
171
172
173
            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:
174
175
176
177
178
179
180
181
            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
182
183
184
185
186
187
188
189
190
191
192
193
194
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          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
195
          type: string
196
      responses:
rameshnaraya's avatar
rameshnaraya committed
197
198
        200:
          description: >
199
            200 OK
200

rameshnaraya's avatar
rameshnaraya committed
201
            Information about zero or more PM jobs was queried successfully.
202
            The response body shall contain representations of
203
            zero or more PM jobs, as defined in clause 7.5.2.7.
204
          headers:
rameshnaraya's avatar
rameshnaraya committed
205
206
207
208
209
210
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
211
              type: string
rameshnaraya's avatar
rameshnaraya committed
212
213
              description: >
                Challenge if the corresponding HTTP request has not provided
214
215
216
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
217
218
219
220
221
222
223
224
225
226
227
228
229
              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
230
231
232
          schema:
            type: array
            items:
233
              $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob"
234
        400:
235
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
236
        401:
237
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
238
        403:
239
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
240
241
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
242
        405:
243
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
244
        406:
245
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
246
        500:
247
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
248
        503:
249
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
250
251
252
253

  ###############################################################################
  # Individual PM job                                                           #
  ###############################################################################
254
255
256
257
258
259
  '/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
260
261
262
          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.          
263
264
265
        in: path
        type: string
        required: true
266
267
268
269
270
271
272
273
274
275
276
277
278
      - name: Authorization
        description: >
          The authorization token for the request.
          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.
        in: header
        required: true
        type: string
279

280
    get:
rameshnaraya's avatar
rameshnaraya committed
281
      summary: Read a single PM job.
282
283
284
285
286
287
      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.
288
            Reference: IETF RFC 7231.
289
290
291
292
293
          in: header
          required: true
          type: string
      responses:
        200:
294
295
          description: >
            200 OK
296

297
298
299
            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
300
          schema:
301
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob"
302
          headers:
rameshnaraya's avatar
rameshnaraya committed
303
            Content-Type:
304
              type: string
rameshnaraya's avatar
rameshnaraya committed
305
306
307
              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.
308
            WWW-Authenticate:
309
              type: string
310
311
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
312
313
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
314
315
              maximum: 1
              minimum: 0
316
317
318
319
320
321
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
322
        400:
323
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
324
        401:
325
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
326
        403:
327
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
328
329
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
330
        405:
331
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
332
        406:
333
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
334
        500:
335
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
336
        503:
337
338
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

339
    delete:
rameshnaraya's avatar
rameshnaraya committed
340
      summary: Delete a PM job.
341
342
343
344
      description: >
        This method terminates an individual PM job.
      responses:
        204:
345
          description: >
346
            204 NO CONTENT
347

348
349
350
351
            The PM job was deleted successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
352
              type: string
353
354
              description: >
                Challenge if the corresponding HTTP request has not provided
355
356
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
357
358
              maximum: 1
              minimum: 0
359
360
361
362
363
364
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
365
        400:
366
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
367
        401:
368
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
369
        403:
370
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
371
372
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
373
        405:
374
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
375
        406:
376
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
377
        500:
378
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
379
        503:
380
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
381

382
383
384
  ###############################################################################
  # Individual performance report                                               #
  ###############################################################################
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
  '/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
400
401
402
403
404
405
406
407
408
409
410
411
412
      - name: Authorization
        description: >
          The authorization token for the request.
          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.
        in: header
        required: true
        type: string
413

414
    get:
rameshnaraya's avatar
rameshnaraya committed
415
      summary: Read an individual performance report.
416
417
418
419
420
421
422
      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.
423
            Reference: IETF RFC 7231.
424
425
426
427
428
          in: header
          required: true
          type: string
      responses:
        200:
429
430
431
432
433
434
435
          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
436
          schema:
437
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PerformanceReport"
438
          headers:
rameshnaraya's avatar
rameshnaraya committed
439
            Content-Type:
440
              type: string
rameshnaraya's avatar
rameshnaraya committed
441
442
443
              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.
444
            WWW-Authenticate:
445
              type: string
446
447
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
448
449
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
450
451
              maximum: 1
              minimum: 0
452
453
454
455
456
457
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
458
        400:
459
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
460
        401:
461
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
462
        403:
463
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
464
465
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
466
        405:
467
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
468
        406:
469
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
470
        500:
471
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
472
        503:
473
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
474

475
476
477
  ###############################################################################
  # Thresholds                                                                  #
  ###############################################################################
478
  '/thresholds':
479
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5
480
481
482
483
484
485
486
487
488
489
490
491
492
493
    parameters:
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
494

495
    post:
rameshnaraya's avatar
rameshnaraya committed
496
      summary: Create a threshold.
497
      description: >
498
        The POST method can be used by the client to create a threshold.
499

500
501
502
        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.        
503
      parameters:
504
505
506
507
        - name: CreateThresholdRequest
          in: body
          required: true
          schema:
508
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest"
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
            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: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
525
526
      responses:
        201:
527
          description: >
528
            201 CREATED
529

530
531
532
533
534
535
            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
536
          schema:
537
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
538
          headers:
rameshnaraya's avatar
rameshnaraya committed
539
            Content-Type:
540
              type: string
rameshnaraya's avatar
rameshnaraya committed
541
542
543
544
              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.
545
            WWW-Authenticate:
546
              type: string
547
548
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
549
550
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
551
552
              maximum: 1
              minimum: 0
553
554
555
556
557
558
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
559
        400:
560
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
561
        401:
562
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
563
        403:
564
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
565
566
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
567
        405:
568
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
569
        406:
570
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
571
        500:
572
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
573
        503:
574
575
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

576
    get:
577
      summary: Query thresholds.
578
579
580
      description: >
        The client can use this method to query information about thresholds.
      parameters:
581
582
        - name: filter
          in: query
583
          required: false
584
585
          type: string
          description: >
586
587
588
589
590
            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.
591
592
593
594
595
596
597
        - 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.
598
599
600
601
602
603
604
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
605
606
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
607
          description: >
608
            200 OK
609

rameshnaraya's avatar
rameshnaraya committed
610
            Information about zero or more thresholds was queried successfully.
611
            The response body shall contain representations of
rameshnaraya's avatar
rameshnaraya committed
612
            zero or more thresholds, as defined in clause 7.5.2.9.
613
          headers:
rameshnaraya's avatar
rameshnaraya committed
614
615
            Content-Type:
              description: The MIME type of the body of the response.
616
              type: string
rameshnaraya's avatar
rameshnaraya committed
617
618
              maximum: 1
              minimum: 1
619
            WWW-Authenticate:
620
              type: string
621
622
              description: >
                Challenge if the corresponding HTTP request has not provided
623
624
625
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
626
627
628
629
630
631
632
633
634
635
636
637
638
              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
639
640
          schema:
            type: array
rameshnaraya's avatar
rameshnaraya committed
641
            items:
642
              $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
643
        400:
644
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
645
        401:
646
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
647
        403:
648
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
649
650
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
651
        405:
652
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
653
        406:
654
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
655
        500:
656
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
657
        503:
658
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
659
660
661
662

  ###############################################################################
  # Individual threshold                                                        #
  ###############################################################################
663
  '/thresholds/{thresholdId}':
664
665
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6
    parameters:
666
667
668
669
670
671
672
673
674
675
      - 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
676
677
678
679
680
681
682
683
684
685
686
687
688
      - name: Authorization
        description: >
          The authorization token for the request.
          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.
        in: header
        required: true
        type: string
689

690
    get:
rameshnaraya's avatar
rameshnaraya committed
691
      summary: Query a single threshold.
692
693
      description: >
        The client can use this method for reading an individual threshold.
rameshnaraya's avatar
rameshnaraya committed
694
695
696
        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.
697
698
699
700
701
702
703
704
705
706
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        200:
707
708
          description: >
            200 OK
709

710
711
712
            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
713
          schema:
714
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
715
          headers:
rameshnaraya's avatar
rameshnaraya committed
716
            Content-Type:
717
              type: string
rameshnaraya's avatar
rameshnaraya committed
718
719
720
              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.
721
            WWW-Authenticate:
722
              type: string
723
724
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
725
726
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
727
728
              maximum: 1
              minimum: 0
729
730
731
732
733
734
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
735
        400:
736
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
737
        401:
738
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
739
        403:
740
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
741
742
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
743
        405:
744
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
745
        406:
746
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
747
        500:
748
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
749
        503:
750
751
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

752
    delete:
rameshnaraya's avatar
rameshnaraya committed
753
      summary: Delete a threshold.
754
755
756
757
758
759
760
761
762
763
764
765
      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
      responses:
        204:
766
          description: >
767
            204 No Content
768

769
770
771
772
            The threshold was deleted successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
773
              type: string
774
775
              description: >
                Challenge if the corresponding HTTP request has not provided
776
777
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
778
779
              maximum: 1
              minimum: 0
780
781
782
783
784
785
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
786
        400:
787
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
788
        401:
789
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
790
        403:
791
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
792
793
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
794
        405:
795
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
796
        406:
797
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
798
        500:
799
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
800
        503:
801
802
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

803
804
805
  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
806
807
  '/subscriptions':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7
808
809
810
811
812
813
814
815
816
817
818
819
820
821
    parameters:
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
822

823
    post:
rameshnaraya's avatar
rameshnaraya committed
824
      summary: Subscribe to PM notifications.
825
826
827
828
      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
829
830
        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.
831
        Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the
rameshnaraya's avatar
rameshnaraya committed
832
833
834
        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)
835
      parameters:
836
837
838
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
839
            Reference: IETF RFC 7231.
840
841
842
843
844
845
          in: header
          required: true
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
846
            Reference: IETF RFC 7231.
847
848
849
850
851
852
853
          in: header
          required: true
          type: string
        - name: body
          in: body
          required: true
          schema:
854
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscriptionRequest"
855
856
            description: >
              Details of the subscription to be created.
857
858
      responses:
        201:
859
          description: >
860
            201 CREATED
861

862
863
864
865
866
            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
867
          schema:
868
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscription"
869
          headers:
rameshnaraya's avatar
rameshnaraya committed
870
            Content-Type:
871
              type: string
rameshnaraya's avatar
rameshnaraya committed
872
873
874
875
876
              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
877
              minimum: 1
878
            WWW-Authenticate:
879
              type: string
880
881
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
882
883
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
884
              maximum: 1
885
886
887
888
889
890
891
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
892
        303:
893
          $ref: "../responses/SOL005_resp.yaml#/responses/303"
894
        400:
895
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
896
        401:
897
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
898
        403:
899
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
900
901
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
902
        405:
903
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
904
        406:
905
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
906
        500:
907
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
908
        503:
909
910
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

911
    get:
912
      summary: Query PM related subscriptions.
913
      description: >
rameshnaraya's avatar
rameshnaraya committed
914
915
916
917
        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.
918
      parameters:
919
920
        - name: filter
          in: query
921
          required: false
922
923
          type: string
          description: >
924
925
926
927
            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 PmSubscription and in data types referenced from it
928
            shall be supported by the NFVO in the filter expression.
929
930
931
932
933
934
935
        - 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.
936
937
938
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
moscatelli's avatar