NSperformanceManagement.yaml 44.4 KB
Newer Older
1
2
3
4
swagger: "2.0"

info:
  version: "2.4.1"
rameshnaraya's avatar
rameshnaraya committed
5
  title: SOL005 - NS Performance Management Interface
6
  description: >
rameshnaraya's avatar
rameshnaraya committed
7
    SOL005 - NS Performance Management Interface
8
9
10
11
12
13
14
15
16
17
18
19
20
    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to and has not been
    approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
    Group Specification takes precedence.
    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  contact: 
    name: "NFV-SOL WG"
externalDocs:
  description: ETSI GS NFV-SOL 005 V2.4.1
  url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf
21
  
22
23
24
25
26
27
28
29
30
basePath: "/nspm/v1"

schemes:
  - https

consumes:
  - "application/json"
produces:
  - "application/json"
31
  
32
paths:
33
34
35
36
37
38
###############################################################################
# PM Jobs                                                                     #
###############################################################################
  '/pm_jobs':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2
    post:
rameshnaraya's avatar
rameshnaraya committed
39
      summary: Create a PM job.
40
      description: > 
rameshnaraya's avatar
rameshnaraya committed
41
42
        This resource represents PM jobs. 
        The client can use this resource to create and query PM jobs.
43
      parameters:
rameshnaraya's avatar
rameshnaraya committed
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
      - name: Accept
        description: >
          Content-Types that are acceptable for the response.
          Reference: IETF RFC 7231
        in: header
        required: true
        type: string
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
      - name: Content-Type
        description: >
          The MIME type of the body of the request.
          Reference: IETF RFC 7231
        in: header
        required: true
        type: string
      - name: "body"
        in: "body"
        required: true
        schema:
          type: "object"
          required:
          - "CreatePmJobRequest"
          properties:
            CreatePmJobRequest:
              $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest"
75
          description: >
rameshnaraya's avatar
rameshnaraya committed
76
77
            PM job creation request.            
      responses:            
78
        201:
rameshnaraya's avatar
rameshnaraya committed
79
          description: "Status 201"
80
          schema:
rameshnaraya's avatar
rameshnaraya committed
81
            type: "object"
82
            description: >  
rameshnaraya's avatar
rameshnaraya committed
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
              201 Created.
            
              The PM job was created successfully.
              The response body shall contain a representation of
              the created PM job resource, as defined in clause 7.5.2.7.
              The HTTP response shall include a "Location" HTTP
              header that points to the created PM job resource.
            properties:
              PmJob:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
          headers:
            Location:
              type: "string"
              description: >
                The HTTP response shall include a Location HTTP header
                that contains the resource URI of the new NS descriptor resource.
            Content-Type:
              type: "string"
              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:
              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.                
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"          

    get:
rameshnaraya's avatar
rameshnaraya committed
131
      summary: Query PM jobs.
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
      description: >  
        "The client can use this method to retrieve information about PM jobs"
      parameters:
        - name: "filter"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Attribute-based filtering parameters according to clause 4.3.2.
            The NFVO shall support receiving filtering parameters as part of the URI query string.
            The OSS/BSS may supply filtering parameters.
            All attribute names that appear in the PmJob and in data types referenced from it
            shall be supported in attribute-based filtering parameters"
        - name: "all_fields"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Include all complex attributes in the response. See clause 4.3.3 for details. The
            NFVO shall support this parameter"
        - name: "include"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Complex attributes to be included into the response. See clause 4.3.3 for details. The
            NFVO should support this parameter"          
        - name: "exclude"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Complex attributes to be excluded from the response. See clause 4.3.3 for details.
            The NFVO should support this parameter."
        - name: "exclude_default"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Indicates to exclude the following complex attributes from the response.
            See clause 4.3.3 for details. The NFVO shall support this parameter.
            The following attributes shall be excluded from the PmJob structure in the response
            body if this parameter is provided, or none of the parameters "all_fields," "fields",
            "exclude_fields", "exclude_default" are provided:
            reports."
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string             
      responses:
rameshnaraya's avatar
rameshnaraya committed
199
200
201
        200:
          description: >
            200 OK.
202
            
rameshnaraya's avatar
rameshnaraya committed
203
            Information about zero or more PM jobs was queried successfully.
204
            The response body shall contain representations of
rameshnaraya's avatar
rameshnaraya committed
205
            zero or more PM jobs, as defined in clause 7.5.2.7
206
          headers:
rameshnaraya's avatar
rameshnaraya committed
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            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.              
          schema:
            type: array
            items:
              properties:
                PmJob:
                  $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"                   
224
        400:
rameshnaraya's avatar
rameshnaraya committed
225
          $ref: "responses/SOL005_resp.yaml#/responses/400"
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
          
###############################################################################
# Individual PM job                                                           #
###############################################################################
  '/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
248
249
250
          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.          
251
252
253
254
        in: path
        type: string
        required: true
    get:
rameshnaraya's avatar
rameshnaraya committed
255
      summary: Read a single PM job.
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
      description: >
        The client can use this method for reading an individual PM job.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
275
276
277
278
279
280
281
282
283
284
          description: 200 OK.
          schema:
            type: "object"
            description: >                
              Information about an individual PM job was queried successfully.
              The response body shall contain a representation of
              the PM job resource, as defined in clause 7.5.2.7.
            properties:
              PmJob:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
285
          headers:
rameshnaraya's avatar
rameshnaraya committed
286
287
288
289
290
291
292
293
294
295
            Location:
              type: "string"
              description: >
                The HTTP response shall include a Location HTTP header
                that contains the resource URI of the new NS descriptor resource.
            Content-Type:
              type: "string"
              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.
296
            WWW-Authenticate:
rameshnaraya's avatar
rameshnaraya committed
297
              type: "string"
298
299
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
300
301
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
    delete:
rameshnaraya's avatar
rameshnaraya committed
317
      summary: Delete a PM job.
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
      description: >
        This method terminates an individual PM job.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
      responses:
        204:
          description: > 
            204 No Content.
            
            The PM job was deleted successfully.
            The response body shall be empty.
          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
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

###############################################################################
# Individual performance report                                               #
###############################################################################
  '/pm_jobs/{pmJobId}/reports/{reportId}':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.4
    parameters:
      - name: pmJobId
        description: >
          Identifier of the PM job.
        in: path
        type: string
        required: true
      - name: reportId
        description: >
          Identifier of the performance report.
        in: path
        type: string
        required: true
    get:
rameshnaraya's avatar
rameshnaraya committed
378
      summary: Read an individual performance report.
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
      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
          required: true
          type: string
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
399
400
401
402
403
404
405
406
407
408
409
          description: 200 OK.
          schema:
            type: "object"
            description: >                
              Information about the individual NS descriptor.
              The response body shall contain a representation of
              the individual NS descriptor, as defined in
              clause 5.5.2.2.
            properties:
              PerformanceReport:
                $ref: "definitions/NSPerfomananceManagement_def.yaml#/definitions/PerformanceReport"
410
          headers:
rameshnaraya's avatar
rameshnaraya committed
411
412
413
414
415
416
417
418
419
420
            Location:
              type: "string"
              description: >
                The HTTP response shall include a Location HTTP header
                that contains the resource URI of the new NS descriptor resource.
            Content-Type:
              type: "string"
              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.
421
            WWW-Authenticate:
rameshnaraya's avatar
rameshnaraya committed
422
              type: "string"
423
424
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
425
426
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

###############################################################################          
# Thresholds                                                                  #
###############################################################################      
  '/thresholds':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5
    post:
rameshnaraya's avatar
rameshnaraya committed
448
      summary: Create a threshold.
449
450
451
452
453
      description: >
        This resource represents thresholds. 
        The client can use this resource to create and query thresholds.
        The POST method can be used by the client to create a threshold
      parameters:
rameshnaraya's avatar
rameshnaraya committed
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
      - name: Accept
        description: >
          Content-Types that are acceptable for the response.
          Reference: IETF RFC 7231
        in: header
        required: true
        type: string
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
      - name: Content-Type
        description: >
          The MIME type of the body of the request.
          Reference: IETF RFC 7231
        in: header
        required: true
        type: string
      - name: "body"
        in: "body"
        required: true
        schema:
          type: "object"
          required:
          - "CreateThresholdRequest"
          properties:
            CreateThresholdRequest:
              $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreateThresholdRequest"
485
486
487
488
          description: >
            Request parameters to create a threshold resource.
      responses:
        201:
rameshnaraya's avatar
rameshnaraya committed
489
490
491
492
493
494
495
496
497
498
499
500
501
          description: 201 - Created.
          schema:
            type: "object"
            description: >              
              A threshold was created successfully.
              The response body shall contain a representation of
              the created threshold resource, as defined in clause 7.5.2.9.
              The HTTP response shall include a "Location" HTTP
              header that contains the resource URI of the created
              threshold resource.
            properties:
              Threshold:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
502
503
          headers:
            Location:
rameshnaraya's avatar
rameshnaraya committed
504
505
506
507
508
509
510
511
512
513
              type: "string"
              description: >
                The HTTP response shall include a Location HTTP header
                that contains the resource URI of the new NS descriptor resource.
            Content-Type:
              type: "string"
              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.
514
            WWW-Authenticate:
rameshnaraya's avatar
rameshnaraya committed
515
              type: "string"
516
517
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
518
519
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
520
521
522
523
524
525
526
527
528
529
530
531
532
533
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
534
    get:
rameshnaraya's avatar
rameshnaraya committed
535
      summary: Query thresholds.   
536
537
538
539
540
541
542
543
      description: >
        The client can use this method to query information about thresholds.
      parameters:
        - name: "filter"
          in: "query"
          required: false
          type: "string"
          description: >  
rameshnaraya's avatar
rameshnaraya committed
544
            Attribute-based filtering parameters according to clause 4.3.2.
545
546
547
            The NFVO shall support receiving filtering parameters as part of the URI query string.
            The OSS/BSS may supply filtering parameters.
            All attribute names that appear in the Thresholds data type and in data types
rameshnaraya's avatar
rameshnaraya committed
548
            referenced from it shall be supported in attribute-based filtering parameters.    
549
550
551
552
553
554
555
556
557
558
559
560
561
562
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
rameshnaraya's avatar
rameshnaraya committed
563
          
564
565
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
566
          description: >
567
568
            200 - OK.
            
rameshnaraya's avatar
rameshnaraya committed
569
            Information about zero or more thresholds was queried successfully.
570
            The response body shall contain representations of
rameshnaraya's avatar
rameshnaraya committed
571
            zero or more thresholds, as defined in clause 7.5.2.9.
572
          headers:
rameshnaraya's avatar
rameshnaraya committed
573
574
            Content-Type:
              description: The MIME type of the body of the response.
575
              type: string
rameshnaraya's avatar
rameshnaraya committed
576
577
              maximum: 1
              minimum: 1
578
            WWW-Authenticate:
rameshnaraya's avatar
rameshnaraya committed
579
              type: string            
580
581
582
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
rameshnaraya's avatar
rameshnaraya committed
583
                request has provided an invalid authorization token.              
584
585
          schema:
            type: array
rameshnaraya's avatar
rameshnaraya committed
586
587
588
589
            items:
              properties:
                Threshold:
                  $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
          
###############################################################################
# Individual threshold                                                        #
###############################################################################
  '/thresholds/{thresholdId}':
   #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6
    parameters: 
      - name: thresholdId
        description: >
          Identifier of the threshold.
          This identifier can be retrieved from the resource referenced by the
          "Location" HTTP header in the response to a POST request creating a
          new threshold resource. It can also be retrieved from the "id"
          attribute in the payload body of that response.
        in: path
        type: string
        required: true
    get:
rameshnaraya's avatar
rameshnaraya committed
622
      summary: Query a single threshold.
623
624
      description: >
        The client can use this method for reading an individual threshold.
rameshnaraya's avatar
rameshnaraya committed
625
626
627
        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.
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
645
646
647
648
649
650
651
652
653
654
          description: 200 OK.
          schema:
            type: "object"
            description: >                
              Information about an individual threshold was queried successfully.
              The response body shall contain a representation of
              the threshold, as defined in clause 7.5.2.9.
            properties:
              Threshold:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
655
          headers:
rameshnaraya's avatar
rameshnaraya committed
656
657
658
659
660
661
662
663
664
665
            Location:
              type: "string"
              description: >
                The HTTP response shall include a Location HTTP header
                that contains the resource URI of the new NS descriptor resource.
            Content-Type:
              type: "string"
              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.
666
            WWW-Authenticate:
rameshnaraya's avatar
rameshnaraya committed
667
              type: "string"
668
669
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
670
671
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
    delete:
rameshnaraya's avatar
rameshnaraya committed
687
      summary: Delete a threshold.
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
      description: >
        This resource represents an individual threshold.
        This method allows to delete a threshold.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
      responses:
        204:
          description: > 
            204 No Content.
            The threshold was deleted successfully.
            The response body shall be empty.
          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
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Subscriptions                                                               #
###############################################################################
  '/subscriptions':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7
    post:
rameshnaraya's avatar
rameshnaraya committed
741
      summary: Subscribe to PM notifications.
742
743
744
745
      description: >
        The POST method creates a new subscription.
        This method shall follow the provisions specified in the Tables 7.4.7.3.1-1 and 7.4.7.3.1-2 for URI query parameters,
        request and response data structures, and response codes.
rameshnaraya's avatar
rameshnaraya committed
746
747
        Creation of two subscription resources with the same callbackURI and the same filter can result in performance
        degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases.
748
        Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the
rameshnaraya's avatar
rameshnaraya committed
749
750
751
        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)
752
      parameters:
rameshnaraya's avatar
rameshnaraya committed
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
      - name: Accept
        description: >
          Content-Types that are acceptable for the response.
          Reference: IETF RFC 7231
        in: header
        required: true
        type: string
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
      - name: Content-Type
        description: >
          The MIME type of the body of the request.
          Reference: IETF RFC 7231
        in: header
        required: true
        type: string
      - name: "body"
        in: "body"
        required: true
        schema:
          type: "object"
          required:
          - "PmSubscriptionRequest"
          properties:
            PmSubscriptionRequest:
              $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscriptionRequest"
784
          description: >
rameshnaraya's avatar
rameshnaraya committed
785
            Details of the subscription to be created.            
786
787
      responses:
        201:
rameshnaraya's avatar
rameshnaraya committed
788
789
790
791
792
793
794
795
796
797
798
799
          description: 201 Created.
          schema:
            type: "object"
            description: >  
              The subscription was created successfully.
              A representation of the created subscription resource
              shall be returned in the response body, as defined in clause 7.5.2.3.
              The HTTP response shall include a "Location" HTTP
              header that contains the resource URI of the created subscription resource.
            properties:
              PmSubscription:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription"
800
801
          headers:
            Location:
rameshnaraya's avatar
rameshnaraya committed
802
803
804
805
806
807
808
809
810
811
812
813
              type: "string"
              description: >
                The HTTP response shall include a Location HTTP header
                that contains the resource URI of the new NS descriptor resource.
            Content-Type:
              type: "string"
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message
                body.
              maximum: 1
              minimum: 1                
814
            WWW-Authenticate:
rameshnaraya's avatar
rameshnaraya committed
815
              type: "string"
816
817
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
818
819
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
820
              maximum: 1
rameshnaraya's avatar
rameshnaraya committed
821
              minimum: 0  
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
        303:
          $ref: "responses/SOL005_resp.yaml#/responses/303"            
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
    get:
rameshnaraya's avatar
rameshnaraya committed
839
      summary: Query PM related subscriptions.    
840
      description: >
rameshnaraya's avatar
rameshnaraya committed
841
842
843
844
        The client can use this method to query the list of active subscriptions to Performance management notifications
        subscribed by the client.
        This method shall follow the provisions specified in the Tables 7.4.7.3.2-1 and 7.4.7.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
845
846
847
848
849
850
      parameters:
        - name: "filter"
          in: "query"
          required: false
          type: "string"
          description: >  
rameshnaraya's avatar
rameshnaraya committed
851
            Attribute-based filtering parameters according to clause 4.3.2.
852
853
854
855
            The NFVO shall support receiving filtering parameters as part of the URI
            query string. The OSS/BSS may supply filtering parameters.
            All attribute names that appear in the PmSubscription and in data types
            referenced from it shall be supported in attribute-based filtering
rameshnaraya's avatar
rameshnaraya committed
856
            parameters.   
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
873
874
875
          description: >
            200 OK.
            
876
            The list of subscriptions was queried successfully.
rameshnaraya's avatar
rameshnaraya committed
877
878
879
            The response body shall contain the representations of
            all active subscriptions of the functional block that
            invokes the method, as defined in clause 7.5.2.3.
880
881
          headers:
            Content-Type:
rameshnaraya's avatar
rameshnaraya committed
882
              description: The MIME type of the body of the response.
883
884
885
886
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
rameshnaraya's avatar
rameshnaraya committed
887
              type: string            
888
889
890
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
rameshnaraya's avatar
rameshnaraya committed
891
                request has provided an invalid authorization token.              
892
893
          schema:
            type: array
rameshnaraya's avatar
rameshnaraya committed
894
895
896
897
            items:
              properties:
                PmSubscription:
                  $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription"
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Individual subscription                                                     #
###############################################################################
  '/subscriptions/{subscriptionId}':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.8
    parameters:
      - name: subscriptionId
        description: >
rameshnaraya's avatar
rameshnaraya committed
920
921
922
923
          Identifier of the subscription.
          This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response
          to a POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the
          payload body of that response.
924
925
926
927
        in: path
        type: string
        required: true
    get:
rameshnaraya's avatar
rameshnaraya committed
928
      summary: Query a single PM related subscription.
929
      description: >
rameshnaraya's avatar
rameshnaraya committed
930
931
932
933
        The client can use this method for reading an individual subscription about Performance management notifications
        subscribed by the client.
        This method shall follow the provisions specified in the Tables 7.4.8.3.2-1 and 7.4.8.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
      responses:
rameshnaraya's avatar
rameshnaraya committed
950
951
952
953
954
955
956
957
958
959
960
        201:
          description: 200 OK.
          schema:
            type: "object"
            description: >  
              The subscription was read successfully.
              The response body shall contain a representation of
              the subscription resource, as defined in clause 7.5.2.3.
            properties:
              PmSubscription:
                $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription"
961
          headers:
rameshnaraya's avatar
rameshnaraya committed
962
963
964
965
966
            Location:
              type: "string"
              description: >
                The HTTP response shall include a Location HTTP header
                that contains the resource URI of the new NS descriptor resource.
967
            Content-Type:
rameshnaraya's avatar
rameshnaraya committed
968
              type: "string"
969
              description: >
rameshnaraya's avatar
rameshnaraya committed
970
971
972
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message
                body.
973
            WWW-Authenticate:
rameshnaraya's avatar
rameshnaraya committed
974
              type: "string"
975
976
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
977
978
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
    delete:
rameshnaraya's avatar
rameshnaraya committed
994
      summary: Terminate a subscription.    
995
996
      description: >
        This method terminates an individual subscription.
rameshnaraya's avatar
rameshnaraya committed
997
998
999
        This method shall follow the provisions specified in the 
        Tables 7.4.8.3.5-1 and 7.4.8.3.5-2 for URI query parameters,
        request and response data structures, and response codes
1000
      parameters:
For faster browsing, not all history is shown. View entire blame