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

info:
4
  version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
5
  title: "SOL005 - NS Performance Management Interface"
6
  description: >
rameshnaraya's avatar
rameshnaraya committed
7
    SOL005 - NS Performance Management Interface
8
9
10
11
    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.
12
    Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
13
  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"
moscatelli's avatar
moscatelli committed
18

19
externalDocs:
20
21
  description: ETSI GS NFV-SOL 005 V2.8.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.08.01_60/gs_NFV-SOL005v020801p.pdf
moscatelli's avatar
moscatelli committed
22

23
basePath: /nspm/v2
moscatelli's avatar
moscatelli committed
24

25
schemes:
26
  - http
27
  - https
moscatelli's avatar
moscatelli committed
28

29
consumes:
30
  - application/json
moscatelli's avatar
moscatelli committed
31

32
produces:
33
  - application/json
moscatelli's avatar
moscatelli committed
34

35
paths:
36
37
38
  ###############################################################################
  # API Versions                                                                #
  ###############################################################################
39
  '/api_versions':
40
    $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions'
41

42
43
44
  ###############################################################################
  # PM Jobs                                                                     #
  ###############################################################################
45
46
  '/pm_jobs':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2
47
48
49
50
51
52
53
54
55
56
57
58
59
60
    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
61

62
    post:
63
64
65
66
67
      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.
68
        As the result of successfully executing this method, a new 
69
70
        "Individual PM job" resource exist as defined in
        clause 7.4.3 shall have been created.
71
      parameters:
72
73
74
75
        - name: CreatePmJobRequest
          in: body
          required: true
          schema:
76
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest"
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
            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:
94
        201:
95
          description: >
96
            201 CREATED
97

98
            Shall be returned when the "Individual PM job" has been created successfully.
99
100
101
            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
102
            header that points to the created "Individual PM job" resource.
103
          schema:
104
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob"
rameshnaraya's avatar
rameshnaraya committed
105
106
          headers:
            Content-Type:
107
              type: string
rameshnaraya's avatar
rameshnaraya committed
108
109
110
111
112
              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:
113
              type: string
rameshnaraya's avatar
rameshnaraya committed
114
115
116
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
117
118
                has provided an invalid authorization token.
              maximum: 1
119
120
121
122
123
124
125
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
126
        400:
127
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
128
        401:
129
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
130
        403:
131
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
132
        404:
133
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
134
        405:
135
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
136
        406:
137
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
138
139
        422:
          $ref: "../responses/SOL005_resp.yaml#/responses/422"
140
        500:
141
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
142
        503:
143
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
144
145

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

219
220
            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
221
            zero or more PM jobs, as defined in clause 7.5.2.7.
222
223
224
225
226
227
228
229
230
231

            If the "filter" URI parameter or one of the "all_fields", "fields", "include_fields",
            "exclude_fields" or "exclude_default" URI parameters was supplied in the request and is
            supported, 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 NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of 
            ETSI GS NFV SOL 013 for this resource, inclusion of the Link HTTP header 
            in this response shall follow the provisions in clause 5.4.2.3 of 
            ETSI GS NFV SOL 013.
232
          headers:
rameshnaraya's avatar
rameshnaraya committed
233
234
235
236
237
238
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
239
              type: string
rameshnaraya's avatar
rameshnaraya committed
240
241
              description: >
                Challenge if the corresponding HTTP request has not provided
242
243
244
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
245
246
247
248
249
250
251
252
253
254
255
256
257
              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
258
259
260
          schema:
            type: array
            items:
261
              $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob"
262
        400:
263
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
264
        401:
265
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
266
        403:
267
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
268
269
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
270
        405:
271
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
272
        406:
273
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
274
        500:
275
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
276
        503:
277
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
278
279
280
281

  ###############################################################################
  # Individual PM job                                                           #
  ###############################################################################
282
283
284
285
286
287
  '/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
288
289
290
          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.          
291
292
293
        in: path
        type: string
        required: true
294
295
296
297
298
299
300
301
302
303
304
305
306
      - 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
307

308
309
    get:
      description: >
310
        The API consumer can use this method for reading an individual PM job.
311
312
313
314
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
315
            Reference: IETF RFC 7231.
316
317
318
319
320
          in: header
          required: true
          type: string
      responses:
        200:
321
322
          description: >
            200 OK
323

324
325
            Shall be returned when information about an individual 
            PM job has been queried successfully.
326
            The response body shall contain a representation of
327
            the "Individual PM job resource", as defined in clause 7.5.2.7.
rameshnaraya's avatar
rameshnaraya committed
328
          schema:
329
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob"
330
          headers:
rameshnaraya's avatar
rameshnaraya committed
331
            Content-Type:
332
              type: string
rameshnaraya's avatar
rameshnaraya committed
333
334
335
              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.
336
            WWW-Authenticate:
337
              type: string
338
339
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
340
341
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
342
343
              maximum: 1
              minimum: 0
344
345
346
347
348
349
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
350
        400:
351
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
352
        401:
353
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
354
        403:
355
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
356
357
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
358
        405:
359
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
360
        406:
361
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
362
        500:
363
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
364
        503:
365
366
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
    patch:
      description: >
        This method allows to modify an "individual PM job" resource.
        This method shall follow the provisions specified in the
        Tables 7.4.3.3.4-1 and 7.4.3.3.4-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: pmJobModifications
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJobModifications"
        - name: Content-type
          description: >
            The Content-Type header shall be set to "application/merge-patch+json"
            according to IETF RFC 7396.
          in: header
          required: true
          type: string
          enum:
            - application/merge-patch+json
      responses:
        200:
          description: >
            200 OK

            Shall be returned when the request has been processed successfully.
            The response body shall contain a data structure of type "PmJobModifications".
          headers:
            WWW-Authenticate:
              type: string
              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.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
          schema:
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJobModifications"
        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/405"
        406:
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
        412:
          $ref: "../responses/SOL005_resp.yaml#/responses/412"
426
427
        422:
          $ref: "../responses/SOL005_resp.yaml#/responses/422"
428
429
430
431
432
        500:
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

433
434
435
    delete:
      description: >
        This method terminates an individual PM job.
436
437
438
439
440
        This method shall follow the provisions specified in the Tables 7.4.3.3.5-1 
        and 7.4.3.3.5-2 for URI query parameters, request and response data structures, 
        and response codes. 
        As the result of successfully executing this method, the "Individual PM job" 
        resource shall not exist any longer.
441
442
      responses:
        204:
443
          description: >
444
            204 NO CONTENT
445

446
            Shall be returned when the PM job has been deleted successfully.
447
448
449
            The response body shall be empty.
          headers:
            WWW-Authenticate:
450
              type: string
451
452
              description: >
                Challenge if the corresponding HTTP request has not provided
453
454
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
455
456
              maximum: 1
              minimum: 0
457
458
459
460
461
462
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
463
        400:
464
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
465
        401:
466
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
467
        403:
468
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
469
470
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
471
        405:
472
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
473
        406:
474
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
475
        500:
476
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
477
        503:
478
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
479

480
481
482
  ###############################################################################
  # Individual performance report                                               #
  ###############################################################################
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
  '/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
498
499
500
501
502
503
504
505
506
507
508
509
510
      - 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
511

512
513
    get:
      description: >
514
        The API consumer can use this method for reading an individual performance
515
516
517
518
519
        report.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
520
            Reference: IETF RFC 7231.
521
522
523
524
525
          in: header
          required: true
          type: string
      responses:
        200:
526
527
528
          description: >
            200 OK

529
530
            Shall be returned when information of an individual performance 
            report has been read successfully.
531
532
            The response body shall contain a representation of the "Individual performance
            report" resource, as defined in clause 7.5.2.10.
rameshnaraya's avatar
rameshnaraya committed
533
          schema:
534
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PerformanceReport"
535
          headers:
rameshnaraya's avatar
rameshnaraya committed
536
            Content-Type:
537
              type: string
rameshnaraya's avatar
rameshnaraya committed
538
539
540
              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.
541
            WWW-Authenticate:
542
              type: string
543
544
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
545
546
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
547
548
              maximum: 1
              minimum: 0
549
550
551
552
553
554
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
555
        400:
556
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
557
        401:
558
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
559
        403:
560
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
561
562
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
563
        405:
564
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
565
        406:
566
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
567
        500:
568
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
569
        503:
570
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
571

572
573
574
  ###############################################################################
  # Thresholds                                                                  #
  ###############################################################################
575
  '/thresholds':
576
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5
577
578
579
580
581
582
583
584
585
586
587
588
589
590
    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
591

592
    post:
593
      description: >
594
595
        The POST method can be used by the API consumer to create
        a threshold.
596

597
598
        This method shall follow the provisions specified in the 
        table 7.4.5.3.1-2 for URI query parameters,
599
600
601
        request and response data structures, and response codes.  
        
        As the result of successfully executing this method, a new 
602
603
        "Individual threshold" resource as defined
        in clause 7.4.6 shall have been created.
604
      parameters:
605
606
607
608
        - name: CreateThresholdRequest
          in: body
          required: true
          schema:
609
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest"
610
            description: >
611
              Request parameters to create a new "Individual threshold" resource.
612
613
614
615
616
617
618
619
620
621
622
623
624
625
        - 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
626
627
      responses:
        201:
628
          description: >
629
            201 CREATED
630

631
            Shall be returned when a threshold has been created successfully.
632
            The response body shall contain a representation of
633
            the created "Individual threshold" resource, as defined in clause 7.5.2.9.
634
635
636
            The HTTP response shall include a "Location" HTTP
            header that contains the resource URI of the created
            threshold resource.            
rameshnaraya's avatar
rameshnaraya committed
637
          schema:
638
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
639
          headers:
rameshnaraya's avatar
rameshnaraya committed
640
            Content-Type:
641
              type: string
rameshnaraya's avatar
rameshnaraya committed
642
643
644
645
              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.
646
            WWW-Authenticate:
647
              type: string
648
649
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
650
651
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
652
653
              maximum: 1
              minimum: 0
654
655
656
657
658
659
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
660
        400:
661
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
662
        401:
663
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
664
        403:
665
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
666
667
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
668
        405:
669
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
670
        406:
671
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
672
673
        422:
          $ref: "../responses/SOL005_resp.yaml#/responses/422"
674
        500:
675
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
676
        503:
677
678
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

679
    get:
680
      description: >
681
        The API consumer can use this method to query information about thresholds.
682
      parameters:
683
684
        - name: filter
          in: query
685
          required: false
686
687
          type: string
          description: >
688
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
689
690
691
692
            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.
693
694
695
696
697
698
        - 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
699
700
            if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of 
            ETSI GS NFV SOL 013for this resource.
701
702
703
704
705
706
707
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
708
709
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
710
          description: >
711
            200 OK
712

713
714
715
716
717
718
719
720
721
722
723
            Shall be returned when information about zero or more thresholds was queried 
            successfully.
            If the "filter" URI parameter was supplied in the request, the data in the 
            response body shall have been transformed according to the rules specified 
            in clause 5.2.2 of ETSI GS NFV-SOL 013.
            The response body shall contain representations of zero or more thresholds,
            as defined in clause 7.5.2.9.
            If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of 
            ETSI GS NFV SOL 013 for this resource, inclusion of the Link HTTP header 
            in this response shall follow the provisions in clause 5.4.2.3 of 
            ETSI GS NFV SOL 013.
724
          headers:
rameshnaraya's avatar
rameshnaraya committed
725
726
            Content-Type:
              description: The MIME type of the body of the response.
727
              type: string
rameshnaraya's avatar
rameshnaraya committed
728
729
              maximum: 1
              minimum: 1
730
            WWW-Authenticate:
731
              type: string
732
733
              description: >
                Challenge if the corresponding HTTP request has not provided
734
735
736
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
737
738
739
740
741
742
743
744
745
746
747
748
749
              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
750
751
          schema:
            type: array
rameshnaraya's avatar
rameshnaraya committed
752
            items:
753
              $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
754
        400:
755
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
756
        401:
757
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
758
        403:
759
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
760
761
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
762
        405:
763
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
764
        406:
765
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
766
        500:
767
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
768
        503:
769
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
770
771
772
773

  ###############################################################################
  # Individual threshold                                                        #
  ###############################################################################
774
  '/thresholds/{thresholdId}':
775
776
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6
    parameters:
777
778
779
780
781
782
783
784
785
786
      - 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
787
788
789
790
791
792
793
794
795
796
797
798
799
      - 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
800

801
802
    get:
      description: >
803
804
        The API consumer can use this method for reading an individual
        threshold.
rameshnaraya's avatar
rameshnaraya committed
805
806
807
        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.
808
809
810
811
812
813
814
815
816
817
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        200:
818
819
          description: >
            200 OK
820

821
822
            Shall be returned when information about an individual threshold 
            has been queried successfully.
823
824
            The response body shall contain a representation of
            the threshold, as defined in clause 7.5.2.9.            
rameshnaraya's avatar
rameshnaraya committed
825
          schema:
826
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
827
          headers:
rameshnaraya's avatar
rameshnaraya committed
828
            Content-Type:
829
              type: string
rameshnaraya's avatar
rameshnaraya committed
830
831
832
              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.
833
            WWW-Authenticate:
834
              type: string
835
836
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
837
838
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
839
840
              maximum: 1
              minimum: 0
841
842
843
844
845
846
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
847
        400:
848
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
849
        401:
850
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
851
        403:
852
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
853
854
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
855
        405:
856
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
857
        406:
858
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
859
        500:
860
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
861
        503:
862
863
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

864
    patch:
865
      description: >
866
867
868
869
        This method allows to modify an "Individual threshold" resource.
        This method shall follow the provisions specified in the Tables
        7.4.6.3.4-1 and 7.4.6.3.4-2 for URI query parameters, request
        and response data structures, and response codes.
870
      parameters:
871
        - name: thresholdModifications
872
873
874
          in: body
          required: true
          schema:
875
876
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/ThresholdModifications"
        - name: Content-type
877
878
879
          in: header
          required: true
          type: string
880
881
          enum:
            - application/merge-patch+json
882
883
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
884
          description: >
885
            200 OK
886

887
888
            Shall be returned when the request has been processed successfully.
            The response body shall contain a data structure of type "ThresholdModifications".
889
890
          headers:
            WWW-Authenticate:
891
              type: string
892
893
              description: >
                Challenge if the corresponding HTTP request has not provided
894
895
896
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
897
898
899
900
901
902
903
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
904
          schema:
905
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/ThresholdModifications"
906
        400:
907
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
908
        401:
909
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
910
        403:
911
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
912
913
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
914
        405:
915
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
916
        406:
917
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
918
919
        412:
          $ref: "../responses/SOL005_resp.yaml#/responses/412"
920
921
        422:
          $ref: "../responses/SOL005_resp.yaml#/responses/422"
922
        500:
923
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
924
        503:
925
926
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

927
928
    delete:
      description: >
929
930
        This method allows to delete a threshold.
        
931
        As the result of successfully executing this method, the 
932
        "Individual threshold" resource shall not exist any longer.
933
934
935
936
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
937
            Reference: IETF RFC 7231
938
939
940
941
942
          in: header
          required: true
          type: string
      responses:
        204: