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

info:
4
  version: "2.0.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
12
13
    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to and has not been
    approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
    Group Specification takes precedence.
    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
  license:
14
    name: "ETSI Forge copyright notice"
15
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
16
  contact:
17
    name: "NFV-SOL WG"
moscatelli's avatar
moscatelli committed
18

19
externalDocs:
20
21
  description: ETSI GS NFV-SOL 005 V2.7.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.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:
rameshnaraya's avatar
rameshnaraya committed
63
      summary: Create a PM job.
64
65
66
67
68
      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.
69
        As the result of successfully executing this method, a new 
70
71
        "Individual PM job" resource exist as defined in
        clause 7.4.3 shall have been created.
72
      parameters:
73
74
75
76
        - name: CreatePmJobRequest
          in: body
          required: true
          schema:
77
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest"
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
            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:
95
        201:
96
          description: >
97
            201 CREATED
98

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

    get:
rameshnaraya's avatar
rameshnaraya committed
145
      summary: Query PM jobs.
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
189
190
            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:
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#/components/responses/400"
264
        401:
265
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
266
        403:
267
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
268
        404:
269
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
270
        405:
271
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
272
        406:
273
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
274
        500:
275
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
276
        503:
277
          $ref: "../responses/SOL005_resp.yaml#/components/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
    get:
rameshnaraya's avatar
rameshnaraya committed
309
      summary: Read a single PM job.
310
      description: >
311
        The API consumer can use this method for reading an individual PM job.
312
313
314
315
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
316
            Reference: IETF RFC 7231.
317
318
319
320
321
          in: header
          required: true
          type: string
      responses:
        200:
322
323
          description: >
            200 OK
324

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

433
    delete:
rameshnaraya's avatar
rameshnaraya committed
434
      summary: Delete a PM job.
435
436
      description: >
        This method terminates an individual PM job.
437
438
439
440
441
        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.
442
443
      responses:
        204:
444
          description: >
445
            204 NO CONTENT
446

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

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

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

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

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

594
    post:
rameshnaraya's avatar
rameshnaraya committed
595
      summary: Create a threshold.
596
      description: >
597
598
        The POST method can be used by the API consumer to create
        a threshold.
599

600
601
        This method shall follow the provisions specified in the 
        table 7.4.5.3.1-2 for URI query parameters,
602
603
604
        request and response data structures, and response codes.  
        
        As the result of successfully executing this method, a new 
605
606
        "Individual threshold" resource as defined
        in clause 7.4.6 shall have been created.
607
      parameters:
608
609
610
611
        - name: CreateThresholdRequest
          in: body
          required: true
          schema:
612
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest"
613
            description: >
614
              Request parameters to create a new "Individual threshold" resource.
615
616
617
618
619
620
621
622
623
624
625
626
627
628
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
629
630
      responses:
        201:
631
          description: >
632
            201 CREATED
633

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

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

715
716
717
718
719
720
721
722
723
724
725
            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.
726
          headers:
rameshnaraya's avatar
rameshnaraya committed
727
728
            Content-Type:
              description: The MIME type of the body of the response.
729
              type: string
rameshnaraya's avatar
rameshnaraya committed
730
731
              maximum: 1
              minimum: 1
732
            WWW-Authenticate:
733
              type: string
734
735
              description: >
                Challenge if the corresponding HTTP request has not provided
736
737
738
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
739
740
741
742
743
744
745
746
747
748
749
750
751
              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
752
753
          schema:
            type: array
rameshnaraya's avatar
rameshnaraya committed
754
            items:
755
              $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold"
756
        400:
757
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
758
        401:
759
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
760
        403:
761
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
762
        404:
763
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
764
        405:
765
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
766
        406:
767
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
768
        500:
769
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
770
        503:
771
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"
772
773
774
775

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

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

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

867
868
    patch:
      summary: Modify a Threshold
869
      description: >
870
871
872
873
        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.
874
      parameters:
875
        - name: thresholdModifications
876
877
878
          in: body
          required: true
          schema:
879
880
            $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/ThresholdModifications"
        - name: Content-type
881
882
883
          in: header
          required: true
          type: string
884
885
          enum:
            - application/merge-patch+json
886
887
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
888
          description: >
889
            200 OK
890

891
892
            Shall be returned when the request has been processed successfully.
            The response body shall contain a data structure of type "ThresholdModifications".
893
894
          headers:
            WWW-Authenticate:
895
              type: string
896
897
              description: >
                Challenge if the corresponding HTTP request has not provided