NSPerformanceManagement.yaml 53.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
14
15
    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:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
16
  contact:
17
18
19
    name: "NFV-SOL WG"
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
22
23
24
25
26
basePath: "/nspm/v1"
schemes:
  - https
consumes:
  - "application/json"
produces:
27
  - "application/json"
28
paths:
29
30
31
  ###############################################################################
  # PM Jobs                                                                     #
  ###############################################################################
32
33
34
  '/pm_jobs':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2
    post:
rameshnaraya's avatar
rameshnaraya committed
35
      summary: Create a PM job.
36
37
38
39
40
      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.
41
      parameters:
42
43
44
45
46
47
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
78
79
80
81
        - name: CreatePmJobRequest
          in: body
          required: true
          schema:
            type: object
            required:
              - CreatePmJobRequest
            properties:
              CreatePmJobRequest:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest"
            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:
82
        201:
83
          description: >
84
            201 Created
85

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

    get:
rameshnaraya's avatar
rameshnaraya committed
137
      summary: Query PM jobs.
138
139
      description: >
        The client can use this method to retrieve information about PM jobs.
140
      parameters:
141
142
        - name: filter
          in: query
143
          required: false
144
145
          type: string
          description: >
146
147
148
            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.
149
            All attribute names that appear in the PmJob and in data types referenced from it
150
            shall be supported by the NFVO in the filter expression.
151
152
        - name: all_fields
          in: query
153
          required: false
154
155
156
157
158
159
          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
160
          required: false
161
162
163
164
165
166
          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
167
          required: false
168
169
170
171
172
173
          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
174
          required: false
175
176
177
          type: string
          description: >
            Indicates to exclude the following complex attributes from the response.
178
179
180
181
            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:
182
183
184
185
186
187
188
189
            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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
        - 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
210
211
212
213
214
215
216
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
217
      responses:
rameshnaraya's avatar
rameshnaraya committed
218
219
        200:
          description: >
220
            200 OK
221

rameshnaraya's avatar
rameshnaraya committed
222
            Information about zero or more PM jobs was queried successfully.
223
            The response body shall contain representations of
224
            zero or more PM jobs, as defined in clause 7.5.2.7.
225
          headers:
rameshnaraya's avatar
rameshnaraya committed
226
227
228
229
230
231
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
232
              type: string
rameshnaraya's avatar
rameshnaraya committed
233
234
              description: >
                Challenge if the corresponding HTTP request has not provided
235
236
237
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
238
239
240
241
242
243
244
245
246
247
248
249
250
              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
251
252
253
254
255
          schema:
            type: array
            items:
              properties:
                PmJob:
256
                  $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
257
        400:
rameshnaraya's avatar
rameshnaraya committed
258
          $ref: "responses/SOL005_resp.yaml#/responses/400"
259
260
261
262
263
264
265
266
267
268
269
270
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
271
272
273
274

  ###############################################################################
  # Individual PM job                                                           #
  ###############################################################################
275
276
277
278
279
280
  '/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
281
282
283
          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.          
284
285
286
287
        in: path
        type: string
        required: true
    get:
rameshnaraya's avatar
rameshnaraya committed
288
      summary: Read a single PM job.
289
290
291
292
293
294
      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.
295
            Reference: IETF RFC 7231.
296
297
298
299
300
301
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
302
303
304
305
306
307
308
            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.
309
310
311
312
313
          in: header
          required: true
          type: string
      responses:
        200:
314
315
          description: >
            200 OK
316

317
318
319
            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
320
          schema:
321
            type: object
rameshnaraya's avatar
rameshnaraya committed
322
323
324
            properties:
              PmJob:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
325
          headers:
rameshnaraya's avatar
rameshnaraya committed
326
            Content-Type:
327
              type: string
rameshnaraya's avatar
rameshnaraya committed
328
329
330
              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.
331
            WWW-Authenticate:
332
              type: string
333
334
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
335
336
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
337
338
              maximum: 1
              minimum: 0
339
340
341
342
343
344
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
    delete:
rameshnaraya's avatar
rameshnaraya committed
360
      summary: Delete a PM job.
361
362
363
364
365
366
367
368
369
370
      description: >
        This method terminates an individual PM job.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
371
372
373
374
375
376
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
377
378
      responses:
        204:
379
          description: >
380
            204 No Content
381

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

414
415
416
  ###############################################################################
  # Individual performance report                                               #
  ###############################################################################
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
  '/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
    get:
rameshnaraya's avatar
rameshnaraya committed
433
      summary: Read an individual performance report.
434
435
436
437
438
439
440
      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.
441
            Reference: IETF RFC 7231.
442
443
444
445
446
447
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
448
449
450
451
452
453
454
            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.
455
456
457
458
459
          in: header
          required: true
          type: string
      responses:
        200:
460
461
462
463
464
465
466
          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
467
          schema:
468
            type: object
rameshnaraya's avatar
rameshnaraya committed
469
470
471
            properties:
              PerformanceReport:
                $ref: "definitions/NSPerfomananceManagement_def.yaml#/definitions/PerformanceReport"
472
          headers:
rameshnaraya's avatar
rameshnaraya committed
473
            Content-Type:
474
              type: string
rameshnaraya's avatar
rameshnaraya committed
475
476
477
              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.
478
            WWW-Authenticate:
479
              type: string
480
481
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
482
483
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
484
485
              maximum: 1
              minimum: 0
486
487
488
489
490
491
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

507
508
509
  ###############################################################################
  # Thresholds                                                                  #
  ###############################################################################
510
  '/thresholds':
511
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5
512
    post:
rameshnaraya's avatar
rameshnaraya committed
513
      summary: Create a threshold.
514
      description: >
515
        The POST method can be used by the client to create a threshold.
516

517
518
519
        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.        
520
      parameters:
521
522
523
524
525
526
527
528
529
530
531
532
533
534
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
        - name: CreateThresholdRequest
          in: body
          required: true
          schema:
            type: object
            required:
              - CreateThresholdRequest
            properties:
              CreateThresholdRequest:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreateThresholdRequest"
            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
560
561
      responses:
        201:
562
563
          description: >
            201 Created
564

565
566
567
568
569
570
            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
571
          schema:
572
            type: object
rameshnaraya's avatar
rameshnaraya committed
573
574
575
            properties:
              Threshold:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
576
          headers:
rameshnaraya's avatar
rameshnaraya committed
577
            Content-Type:
578
              type: string
rameshnaraya's avatar
rameshnaraya committed
579
580
581
582
              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.
583
            WWW-Authenticate:
584
              type: string
585
586
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
587
588
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
589
590
              maximum: 1
              minimum: 0
591
592
593
594
595
596
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
597
598
599
600
601
602
603
604
605
606
607
608
609
610
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
611
    get:
612
      summary: Query thresholds.
613
614
615
      description: >
        The client can use this method to query information about thresholds.
      parameters:
616
617
        - name: filter
          in: query
618
          required: false
619
620
          type: string
          description: >
621
622
623
624
625
            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.
626
627
628
629
630
631
632
        - 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.
633
634
635
636
637
638
639
640
641
642
643
644
645
646
        - 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
647
648
649
650
651
652
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
653
654
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
655
          description: >
656
            200 OK
657

rameshnaraya's avatar
rameshnaraya committed
658
            Information about zero or more thresholds was queried successfully.
659
            The response body shall contain representations of
rameshnaraya's avatar
rameshnaraya committed
660
            zero or more thresholds, as defined in clause 7.5.2.9.
661
          headers:
rameshnaraya's avatar
rameshnaraya committed
662
663
            Content-Type:
              description: The MIME type of the body of the response.
664
              type: string
rameshnaraya's avatar
rameshnaraya committed
665
666
              maximum: 1
              minimum: 1
667
            WWW-Authenticate:
668
              type: string
669
670
              description: >
                Challenge if the corresponding HTTP request has not provided
671
672
673
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
674
675
676
677
678
679
680
681
682
683
684
685
686
              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
687
688
          schema:
            type: array
rameshnaraya's avatar
rameshnaraya committed
689
690
691
692
            items:
              properties:
                Threshold:
                  $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
693
694
695
696
697
698
699
700
701
702
703
704
705
706
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
707
708
709
710

  ###############################################################################
  # Individual threshold                                                        #
  ###############################################################################
711
  '/thresholds/{thresholdId}':
712
713
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6
    parameters:
714
715
716
717
718
719
720
721
722
723
724
      - 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
    get:
rameshnaraya's avatar
rameshnaraya committed
725
      summary: Query a single threshold.
726
727
      description: >
        The client can use this method for reading an individual threshold.
rameshnaraya's avatar
rameshnaraya committed
728
729
730
        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.
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
      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
746
747
748
749
750
751
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
752
753
      responses:
        200:
754
755
          description: >
            200 OK
756

757
758
759
            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
760
          schema:
761
            type: object
rameshnaraya's avatar
rameshnaraya committed
762
763
764
            properties:
              Threshold:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
765
          headers:
rameshnaraya's avatar
rameshnaraya committed
766
            Content-Type:
767
              type: string
rameshnaraya's avatar
rameshnaraya committed
768
769
770
              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.
771
            WWW-Authenticate:
772
              type: string
773
774
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
775
776
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
777
778
              maximum: 1
              minimum: 0
779
780
781
782
783
784
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
    delete:
rameshnaraya's avatar
rameshnaraya committed
800
      summary: Delete a threshold.
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
      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
818
819
820
821
822
823
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
824
825
      responses:
        204:
826
          description: >
827
            204 No Content
828

829
830
831
832
            The threshold was deleted successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
833
              type: string
834
835
              description: >
                Challenge if the corresponding HTTP request has not provided
836
837
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
838
839
              maximum: 1
              minimum: 0
840
841
842
843
844
845
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
846
847
848
849
850
851
852
853
854
855
856
857
858
859
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
860
861
862
  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
863
864
865
  '/subscriptions':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7
    post:
rameshnaraya's avatar
rameshnaraya committed
866
      summary: Subscribe to PM notifications.
867
868
869
870
      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
871
872
        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.
873
        Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the
rameshnaraya's avatar
rameshnaraya committed
874
875
876
        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)
877
      parameters:
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
        - 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
        - name: body
          in: body
          required: true
          schema:
            type: object
            required:
              - PmSubscriptionRequest
            properties:
              PmSubscriptionRequest:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscriptionRequest"
            description: >
              Details of the subscription to be created.
917
918
      responses:
        201:
919
920
          description: >
            201 Created
921

922
923
924
925
926
            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
927
          schema:
928
            type:object
rameshnaraya's avatar
rameshnaraya committed
929
930
931
            properties:
              PmSubscription:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription"
932
          headers:
rameshnaraya's avatar
rameshnaraya committed
933
            Content-Type:
934
              type: string
rameshnaraya's avatar
rameshnaraya committed
935
936
937
938
939
              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
940
              minimum: 1
941
            WWW-Authenticate:
942
              type: string
943
944
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
945
946
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
947
              maximum: 1
948
949
950
951
952
953
954
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
955
        303:
956
          $ref: "responses/SOL005_resp.yaml#/responses/303"
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
    get:
972
      summary: Query PM related subscriptions.
973
      description: >
rameshnaraya's avatar
rameshnaraya committed
974
975
976
977
        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.
978
      parameters:
979
980
        - name: filter
          in: query
981
          required: false
982
983
          type: string
          description: >
rameshnaraya's avatar
rameshnaraya committed
984
            Attribute-based filtering parameters according to clause 4.3.2.
985
986
987
988
            The NFVO shall support receiving filtering parameters as part of the URI
            query string. The OSS/BSS may supply filtering parameters.
            All attribute names that appear in the PmSubscription and in data types
            referenced from it shall be supported in attribute-based filtering
989
990
991
992
993
994
995
996
            parameters.
        - 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.
997
998
999
1000
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
For faster browsing, not all history is shown. View entire blame