VNFPerformanceManagement.yaml 46.3 KB
Newer Older
1
2
3
swagger: "2.0"

info:
4
  version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
5
  title: SOL003 - VNF Performance Management interface
6
  description: >
7
8
    SOL003 - VNF Performance Management interface

9

10
    IMPORTANT: Please note that this file might be not aligned to the current
11
12
13
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.

14

15
16
17
18
19
20
    In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based
    filtering mechanism is defined. This mechanism is currently not
    included in the corresponding OpenAPI design for this GS version. Changes
    to the attribute-based filtering mechanism are being considered in v2.5.1
    of this GS for inclusion in the corresponding future ETSI NFV OpenAPI
    design.
21

22
    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
23
24
25
26
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt

27
externalDocs:
28
29
  description: ETSI GS NFV-SOL 003 V2.6.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.06.01_60/gs_NFV-SOL003v020601p.pdf
30

31
32
33
34
35
36
37
38
39
40
41
basePath: "/vnfpm/v1"

schemes:
  - https

consumes:
  - "application/json"
produces:
  - "application/json"

paths:
42
43
44
  ###############################################################################
  # API Versions                                                                #
  ###############################################################################
45
  '/api-versions':
46
    $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
47

48
49
50
  ###############################################################################
  # PM jobs                                                                     #
  ###############################################################################
51
52
53
54
  '/pm_jobs':
    #SOL003 location: 6.4.2
    post:
      description: >
55
        Create PM Job.
56
        The POST method creates a PM job.
57
58
59
60
        This method shall follow the provisions specified in the tables 6.4.2.3.1-1 and 6.4.2.3.1-2
        for URI query parameters, request and response data structures, and response codes.
        As the result of successfully executing this method, a new "Individual PM job" resource as defined
        in clause 6.4.3 shall have been created.
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
      parameters:
        - name: CreatePmJobRequest
          description: The VNF creation parameters
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest"
        - 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
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
Gergely Csatari's avatar
Gergely Csatari committed
87
          required: false
88
          type: string
89
90
91
92
93
94
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
95
96
      responses:
        201:
97
          description: >
98
            201 CREATED
Gergely Csatari's avatar
Gergely Csatari committed
99

100
101
102
103
104
            Shall be returned when the PM job has been created successfully.
            The response body shall contain a representation of the created "Individual PM job" resource,
            as defined in clause 6.5.2.7.
            The HTTP response shall include a "Location" HTTP header that points to the created
            "Individual PM job" resource.
105
106
107
108
109
          headers:
            Location:
              description: The resource URI of the created PM Job
              type: string
              format: url
Gergely Csatari's avatar
Gergely Csatari committed
110
111
112
113
114
115
116
117
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
118
119
120
121
122
123
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
124
125
126
127
128
129
130
131
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
132
133
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
134
135
136
137
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
138
139
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
140
141
142
143
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
144
145
146
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

147
148
    get:
      description: >
149
150
151
152
        Query PM Job.
        The client can use this method to retrieve information about PM jobs.
        This method shall follow the provisions specified in the tables 6.4.2.3.2-1 and 6.4.2.3.2-2
        for URI query parameters, request and response data structures, and response codes.
153
154
155
156
157
158
159
160
161
162
163
164
165
166
        The client can use this method to retrieve information about PM jobs.
      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
Gergely Csatari's avatar
Gergely Csatari committed
167
          required: false
168
          type: string
169
170
        - name: filter
          description: >
171
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
172
173
174
175
176
177
178
179
180
181
182
            The VNFM shall support receiving this parameter as part of the 
            URI query string. The NFVO may supply this parameter. 
            All attribute names that appear in the PmJob and in data 
            types referenced from it shall be supported by the VNFM in the 
            filter expression.
          in: query
          required: false
          type: string
        - name: all_fields
          description: >
            Include all complex attributes in the response.
183
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter.
184
185
186
187
188
189
          in: query
          required: false
          type: string
        - name: fields
          description: >
            Complex attributes to be included into the response.
190
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter.
191
192
193
194
195
196
          in: query
          required: false
          type: string
        - name: exclude_fields
          description: >
            Complex attributes to be excluded from the response.
197
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter.
198
199
200
201
202
203
          in: query
          required: false
          type: string
        - name: exclude_default
          description: >
            Indicates to exclude the following complex attributes from the response.
204
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter.
205
206
            The following attributes shall be excluded from the PmJob structure
            in the response body if this parameter is provided, or none of the parameters
207
            "all_fields", "fields", "exclude_fields", "exclude_default" are provided:
208
209
210
211
212
213
214
            -	Reports
          in: query
          required: false
          type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the 
215
            VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013
216
217
218
219
            for this resource.
          in: query
          required: false
          type: string
220
221
222
223
224
225
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
226
227
      responses:
        200:
228
          description: >
229
            200 OK
Gergely Csatari's avatar
Gergely Csatari committed
230

231
232
233
234
235
236
237
238
239
240
            Shall be returned when information about zero or more PM jobs has been queried successfully.
            The response body shall contain in an array the representations of zero or more PM jobs,
            as defined in clause 6.5.2.7.
            If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields"
            (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the
            response body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2
            of ETSI GS NFV-SOL 013, respectively.
            If the VNFM supports alternative 2 (paging) according to clause 5.4..2.1 of ETSI GS NFV-SOL 013
            for this resource, inclusion of the Link HTTP header in this response shall follow the provisions
            in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
241
          headers:
242
            Content-Type:
243
              description: >
244
245
                The MIME type of the body of the request.
                Reference: IETF RFC 7231
246
247
              type: string
              maximum: 1
248
              minimum: 1
Gergely Csatari's avatar
Gergely Csatari committed
249
250
251
252
253
254
255
256
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
257
258
259
260
261
262
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
263
264
265
266
267
268
            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
269
270
271
272
273
          schema:
            type: array
            items:
              $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"
        400:
274
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
275
276
277
278
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
279
280
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
281
282
283
284
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
285
286
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
287
288
289
290
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
291
292
293
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
          
294
295
296
  ###############################################################################
  # Individual PM job                                                           #
  ###############################################################################
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
  '/pm_jobs/{pmJobId}':
    #SOL003 location: 6.4.3
    parameters:
      - name: pmJobId
        description: >
          Identifier of the PM job.
          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.
        in: path
        type: string
        required: true
    get:
      description: >
Gergely Csatari's avatar
Gergely Csatari committed
312
313
314
        Query PM Job


315
316
317
318
319
320
321
322
323
324
325
326
327
328
        The client can use this method for reading an individual PM job.
      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
Gergely Csatari's avatar
Gergely Csatari committed
329
          required: false
330
          type: string
331
332
333
334
335
336
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
337
338
      responses:
        200:
339
          description: >
340
            200 OK
Gergely Csatari's avatar
Gergely Csatari committed
341

342
343
344
345
            Information about an individual PM job was queried successfully.
            The response body shall contain a representation of the PM job
            resource.
          headers:
346
            Content-Type:
347
              description: >
348
349
                The MIME type of the body of the request.
                Reference: IETF RFC 7231
350
351
              type: string
              maximum: 1
352
              minimum: 1
Gergely Csatari's avatar
Gergely Csatari committed
353
354
355
356
357
358
359
360
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
361
362
363
364
365
366
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
    delete:
      description: >
Gergely Csatari's avatar
Gergely Csatari committed
385
386
387
        Delete PM Job


388
389
390
391
392
393
394
        This method terminates an individual PM job.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
Gergely Csatari's avatar
Gergely Csatari committed
395
          required: false
396
          type: string
397
398
399
400
401
402
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
403
404
      responses:
        204:
405
          description: >
406
            204 NO CONTENT
Gergely Csatari's avatar
Gergely Csatari committed
407

408
409
            The PM job was deleted successfully.
            The response body shall be empty.
Gergely Csatari's avatar
Gergely Csatari committed
410
411
412
413
414
415
416
417
418
          headers:
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
419
420
421
422
423
424
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
425
426
427
428
429
430
431
432
433
434
435
436
437
438
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
439
440
441
  ###############################################################################
  # Individual performance report                                               #
  ###############################################################################
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
  '/pm_jobs/{pmJobId}/reports/{reportId}':
    #SOL003 location: 6.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:
      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.
            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
Gergely Csatari's avatar
Gergely Csatari committed
474
          required: false
475
          type: string
476
477
478
479
480
481
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
482
483
      responses:
        200:
484
          description: >
485
            200 OK
Gergely Csatari's avatar
Gergely Csatari committed
486

487
488
489
490
491
            Information of an individual performance report was read
            successfully.
            The response body shall contain a representation of the
            performance report resource.
          headers:
492
            Content-Type:
493
              description: >
494
495
                The MIME type of the body of the request.
                Reference: IETF RFC 7231
496
497
              type: string
              maximum: 1
498
              minimum: 1
Gergely Csatari's avatar
Gergely Csatari committed
499
500
501
502
503
504
505
506
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
507
508
509
510
511
512
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
513
          schema:
514
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport"
515
516
517
518
519
520
521
522
523
524
525
526
527
528
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
529
530
531
  ###############################################################################
  # Thresholds                                                                  #
  ###############################################################################
532
533
534
535
  '/thresholds':
    #SOL003 location: 6.4.5
    post:
      description: >
Gergely Csatari's avatar
Gergely Csatari committed
536
537
538
        Create Threshold


539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
        The POST method can be used by the client to create a threshold.
      parameters:
        - name: CreateThresholdRequest
          description: >
            Request parameters to create a threshold resource.
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest"
        - 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
Gergely Csatari's avatar
Gergely Csatari committed
560
          required: false
561
562
563
564
565
566
567
568
          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
569
570
571
572
573
574
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
575
576
      responses:
        201:
577
          description: >
578
            201 CREATED
Gergely Csatari's avatar
Gergely Csatari committed
579

580
581
582
583
584
585
586
587
588
            A threshold was created successfully. The response body shall
            contain a representation of the created threshold resource.
            The HTTP response shall include a "Location" HTTP header that
            contains the resource URI of the created threshold resource.
          headers:
            Location:
              description: The resource URI of the created VNF instance
              type: string
              format: url
589
            Content-Type:
590
              description: >
591
592
                The MIME type of the body of the request.
                Reference: IETF RFC 7231
593
594
              type: string
              maximum: 1
595
              minimum: 1
Gergely Csatari's avatar
Gergely Csatari committed
596
597
598
599
600
601
602
603
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
604
605
606
607
608
609
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
    get:
      description: >
Gergely Csatari's avatar
Gergely Csatari committed
628
629
630
        Query Threshold


631
632
633
634
635
636
637
638
639
640
641
642
643
644
        The client can use this method to query information about thresholds.
      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
Gergely Csatari's avatar
Gergely Csatari committed
645
          required: false
646
          type: string
647
648
649
650
651
652
653
654
        - name: filter
          description: >
            Attribute-based filtering expression according to clause 4.3.2.
            The VNFM shall support receiving this parameter as part of the 
            URI query string. The NFVO may supply this parameter. 
            All attribute names that appear in the Thresholds and in 
            data types referenced from it shall be supported by the VNFM 
            in the filter expression.
655

656
657
658
659
660
661
662
663
664
665
666
667
668
669
            NOTE: There are no attribute selectors defined for this resource as 
            the threshold attributes with cardinality 0..1 or 0..N are not 
            structurally complex in nature.
          in: query
          required: false
          type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be 
            supported by the VNFM if the VNFM supports alternative 2 (paging) 
            according to clause 4.7.2.1 for this resource.
          in: query
          required: false
          type: string
670
671
672
673
674
675
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
676
677
      responses:
        200:
678
          description: >
679
            200 OK
Gergely Csatari's avatar
Gergely Csatari committed
680

681
682
            Information about zero or more thresholds was queried
            successfully.
683
684
685
686
687
688
            The response body shall contain in an array representations 
            of zero or more thresholds, as defined in 6.5.2.9.
            If the VNFM supports alternative 2 (paging) according to 
            clause 4.7.2.1 for this resource, inclusion of the Link 
            HTTP header in this response shall follow the provisions 
            in clause 4.7.2.3.
689
690
691
692
693
          headers:
            Location:
              description: The resource URI of the created VNF instance
              type: string
              format: url
694
            Content-Type:
695
              description: >
696
697
                The MIME type of the body of the request.
                Reference: IETF RFC 7231
698
699
              type: string
              maximum: 1
700
              minimum: 1
Gergely Csatari's avatar
Gergely Csatari committed
701
702
703
704
705
706
707
708
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
709
710
711
712
713
714
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
715
716
717
718
719
720
            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
721
722
          schema:
            type: array
723
            items:
724
725
              $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"
        400:
726
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
727
728
729
730
731
732
733
734
735
736
737
738
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
739
740
741
  ###############################################################################
  # Individual threshold                                                        #
  ###############################################################################
742
743
  '/thresholds/{thresholdId}':
    #SOL003 location: 6.4.6
744
    parameters:
745
746
747
748
749
750
751
752
753
754
755
756
      - 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:
      description: >
Gergely Csatari's avatar
Gergely Csatari committed
757
758
759
        Query Threshold


760
761
762
763
764
765
766
767
768
769
770
771
772
773
        The client can use this method for reading an individual 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
Gergely Csatari's avatar
Gergely Csatari committed
774
          required: false
775
          type: string
776
777
778
779
780
781
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
782
783
      responses:
        200:
784
          description: >
785
            200 OK
Gergely Csatari's avatar
Gergely Csatari committed
786

787
788
789
790
            Information about an individual threshold was queried
            successfully. The response body shall contain a
            representation of the threshold.
          headers:
791
            Content-Type:
792
              description: >
793
794
                The MIME type of the body of the request.
                Reference: IETF RFC 7231
795
796
              type: string
              maximum: 1
797
              minimum: 1
Gergely Csatari's avatar
Gergely Csatari committed
798
799
800
801
802
803
804
805
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
806
807
808
809
810
811
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
    delete:
      description: >
Gergely Csatari's avatar
Gergely Csatari committed
830
831
832
        Delete Threshold


833
834
835
836
837
838
839
        This method allows to delete a threshold.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
Gergely Csatari's avatar
Gergely Csatari committed
840
          required: false
841
          type: string
842
843
844
845
846
847
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
848
849
      responses:
        204:
850
          description: >
851
            204 NO CONTENT
Gergely Csatari's avatar
Gergely Csatari committed
852

853
854
            The threshold was deleted successfully.
            The response body shall be empty.
Gergely Csatari's avatar
Gergely Csatari committed
855
856
857
858
859
860
861
862
863
          headers:
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
864
865
866
867
868
869
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
870
871
872
873
874
875
876
877
878
879
880
881
882
883
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
884
885
886
  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
887
888
889
890
  '/subscriptions':
    #SOL003 location: 6.4.7
    post:
      description: >
Gergely Csatari's avatar
Gergely Csatari committed
891
892
893
        Subscribe


894
        The POST method creates a new subscription.
895
896
897
898
899
900
901
902
903
904
        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 NFVO, and might make sense only in
        very rare use cases. Consequently, the VNFM may either allow creating
        a subscription resource if another subscription resource with the same
        filter and callbackUri already exists (in which case it shall return
        the “201 Created” response code), or may decide to not create a
        duplicate subscription resource (in which case it shall return a
        “303 See Other” response code referencing the existing subscription
        resource with the same filter and callbackUri).
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
      parameters:
        - name: PmSubscriptionRequest
          description: >
            Details of the subscription to be created.
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscriptionRequest"
        - 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
Gergely Csatari's avatar
Gergely Csatari committed
925
          required: false
926
927
928
929
930
931
932
933
          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
934
935
936
937
938
939
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
940
941
      responses:
        201:
942
          description: >
943
            201 CREATED
Gergely Csatari's avatar
Gergely Csatari committed
944

945
946
947
948
949
950
951
952
953
954
            The subscription was created successfully. A representation of the
            created subscription resource shall be returned in the response
            body.
            The HTTP response shall include a "Location" HTTP header that
            contains the resource URI of the created subscription resource.
          headers:
            Location:
              description: The resource URI of the created VNF instance
              type: string
              format: url
955
            Content-Type:
956
              description: >
957
958
                The MIME type of the body of the request.
                Reference: IETF RFC 7231
959
960
              type: string
              maximum: 1
961
              minimum: 1
Gergely Csatari's avatar
Gergely Csatari committed
962
963
964
965
966
967
968
969
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
970
971
972
973
974
975
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
976
977
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription"
978
979
        303:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303"
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
    get:
      description: >
Gergely Csatari's avatar
Gergely Csatari committed
996
997
998
        Query Subscription Information


999
1000
        The client can use this method to query the list of active
        subscriptions to Performance management notifications subscribed by
For faster browsing, not all history is shown. View entire blame