NSFaultManagement.yaml 25.4 KB
Newer Older
1
swagger: "2.0"
2

3
info:
moscatelli's avatar
moscatelli committed
4
  version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
5
  title: "SOL005 - NS Fault Management Interface"
6
  description: >
rameshnaraya's avatar
rameshnaraya committed
7
    SOL005 - NS Fault Management Interface
8
9
10
11
12
13
14
15
    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to and has not been
    approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
    Group Specification takes precedence.
    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
16
  contact:
17
18
    name: "NFV-SOL WG"
externalDocs:
19
20
  description: ETSI GS NFV-SOL 005 V2.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf
21
basePath: /nsfm/v1
22
schemes:
23
  - http
24
25
  - https
consumes:
26
  - application/json
27
produces:
28
  - application/json
29
paths:
30
  ###############################################################################
31
32
33
  # API Versions                                                                #
  ###############################################################################
  '/api-versions':
34
35
    $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions'

36
  ###############################################################################
37
38
  # Alarms                                                                      #
  ###############################################################################
39
  '/alarms':
40
    #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.2
41
42
43
44
45
46
47
48
49
50
51
52
53
54
    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
55
    get:
56
      summary: Query alarms related to NS instances.
57
      description: >
rameshnaraya's avatar
rameshnaraya committed
58
        Get Alarm List.
59
60
61

        The client can use this method to retrieve information about the alarm list.
      parameters:
62
63
        - name: filter
          in: query
64
          required: false
65
          type: string
66
          description: >
67
68
69
70
71
            Attribute-based filtering expression according to clause 4.3.2.
            The NFVO shall support receiving this parameter as part of the URI query string.
            The OSS/BSS may supply this parameter.
            The following attribute names shall be supported by the NFVO in the filter 
            expression: 
72
73
74
75
76
77
78
            - id            
            - nsInstanceId            
            - rootCauseFaultyComponent.faultyNestedNsInstanceId            
            - rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId            
            - rootCauseFaultyComponent.faultyVnfInstanceId           
            - rootCauseFaultyResource.faultyResourceType            
            - eventType            
79
80
            - perceivedSeverity
            - probableCause
81
82
83
84
85
86
87
        - name: nextpage_opaque_marker
          in: query
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
            if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
          required: false
          type: string
88
89
90
91
92
93
94
95
96
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
97
          description: >
98
            200 OK
99

100
            Information about zero or more alarms was queried successfully.
101
            The response body shall contain the list of related alarms.
102
103
104
            If the NFVO supports alternative 2 (paging) according to 
            clause 4.7.2.1 for this resource, inclusion of the Link HTTP header 
            in this response shall follow the provisions in clause 4.7.2.3.
rameshnaraya's avatar
rameshnaraya committed
105
106
107
108
109
110
111
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
112
              type: string
rameshnaraya's avatar
rameshnaraya committed
113
114
              description: >
                Challenge if the corresponding HTTP request has not provided
115
116
117
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
118
119
120
121
122
123
124
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
125
126
127
128
129
130
            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
131
          schema:
rameshnaraya's avatar
rameshnaraya committed
132
133
134
135
            type: array
            items:
              properties:
                Alarm:
136
                  $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm"
137
        400:
138
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
139
        401:
140
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
141
        403:
142
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
143
        405:
144
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
145
        406:
146
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
147
        500:
148
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
149
        503:
150
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
151
152
153
154

  ###############################################################################
  # Individual alarm                                                            #
  ###############################################################################
155
  '/alarms/{alarmId}':
156
    #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.3
157
158
159
    parameters:
      - name: alarmId
        description: >
rameshnaraya's avatar
rameshnaraya committed
160
161
162
163
164
          Identifier of the alarm.
          This identifier can be retrieved from the "id" attribute of the "alarm" attribute in the AlarmNotification or
          AlarmClearedNotification. 
          It can also be retrieved from the "id" attribute of the applicable array element in the
          payload body of the response to a GET request to the "Alarms" resource.
165
166
167
        in: path
        type: string
        required: true
168
169
170
171
172
173
174
175
176
177
178
179
180
      - 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
181
    get:
182
      summary: Read individual alarm.
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
      description: >
        The client can use this method to read an individual alarm.
      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
200
      responses:
201
        200:
rameshnaraya's avatar
rameshnaraya committed
202
          description: >
203
            200 OK
204

205
206
207
208
209
            Information about an individual alarm was read successfully.
            The response body shall contain a representation of the
            individual alarm.
          headers:
            Content-Type:
rameshnaraya's avatar
rameshnaraya committed
210
              description: The MIME type of the body of the response.
211
212
213
              type: string
              maximum: 1
              minimum: 1
rameshnaraya's avatar
rameshnaraya committed
214
            WWW-Authenticate:
215
              type: string
rameshnaraya's avatar
rameshnaraya committed
216
217
              description: >
                Challenge if the corresponding HTTP request has not provided
218
219
220
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
221
222
223
224
225
226
227
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
228
          schema:
rameshnaraya's avatar
rameshnaraya committed
229
230
            properties:
              Alarm:
231
                $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm"
232
        400:
233
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
234
        401:
235
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
236
        403:
237
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
238
        405:
239
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
240
        406:
241
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
242
        500:
243
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
244
        503:
245
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
246
    patch:
247
      summary: Acknowledge individual alarm.
248
249
      description: >
        Acknowledge Alarm
250

251
252
        This method modifies an individual alarm resource.
      parameters:
253
254
        - name: body
          in: body
255
256
          required: true
          schema:
257
258
259
            $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmModifications"
          description: >
            The parameter for the alarm modification, as defined in clause 8.5.2.8.
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
        - 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 Content-Type header shall be set to
            "application/merge-patch+json" according to
            IETF RFC 7396.
          in: header
          required: true
          type: string
275
276
          enum:
            - application/merge-patch+json
277
278
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
279
          description: >
280
            200 OK
281

282
283
284
285
286
            The request was accepted and completed.
            The response body shall contain attribute modifications
            for an 'Individual alarm' resource (see clause 8.5.2.4).
          headers:
            Content-Type:
rameshnaraya's avatar
rameshnaraya committed
287
              description: The MIME type of the body of the response.
288
289
290
291
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
292
              type: string
293
294
              description: >
                Challenge if the corresponding HTTP request has not provided
295
296
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
297
              maximum: 1
298
299
300
301
302
303
304
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
305
          schema:
rameshnaraya's avatar
rameshnaraya committed
306
307
308
            properties:
              AlarmModifications:
                $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmModifications"
309
        400:
310
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
311
        401:
312
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
313
        403:
314
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
315
        405:
316
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
317
        406:
318
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
319
        409:
320
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
321
        412:
322
          $ref: "../responses/SOL005_resp.yaml#/responses/412"
323
        500:
324
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
325
        503:
326
327
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

328
329
330
  ##############################################################################
  #Subscriptions                                                               #
  ##############################################################################
331
  '/subscriptions':
332
    #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.4
333
334
335
336
337
338
339
340
341
342
343
344
345
346
    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
347
    post:
348
      summary: Subscribe to alarms related to NSs.
349
      description: >
350
        The POST method creates a new subscription.
351
352
        This method shall follow the provisions specified in the Tables 8.4.4.3.1-1 and 8.4.4.3.1-2 for URI query
        parameters, request and response data structures, and response codes.
353
        Creation of two subscription resources with the same callbackURI and the same filter can result in performance
354
355
356
357
358
        degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare
        use cases. Consequently, the NFVO may either allow creating a subscription resource if another subscription
        resource with the same filter and callbackUri already exists (in which case it shall return the "201 Created"
        response code), or may decide to not create a duplicate subscription resource (in which case it shall return
        a "303 See Other" response code referencing the existing subscription resource with the same filter and callbackUri).
359
      parameters:
360
361
362
363
364
365
366
367
368
369
370
371
372
        - 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
373
          type: string
374
375
        - name: body
          in: body
rameshnaraya's avatar
rameshnaraya committed
376
377
          required: true
          schema:
378
379
380
            $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscriptionRequest"
          description: >
            Details of the subscription to be created, as defined in clause 8.5.2.2.
381
382
      responses:
        201:
383
384
          description: >
            201 Created
385

386
387
388
389
390
            The subscription was created successfully.
            The response body shall contain a representation of the
            created subscription resource.
            The HTTP response shall include a "Location:" HTTP
            header that points to the created subscription resource.              
rameshnaraya's avatar
rameshnaraya committed
391
          schema:
392
            $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription"
393
          headers:
rameshnaraya's avatar
rameshnaraya committed
394
            Content-Type:
395
              type: string
rameshnaraya's avatar
rameshnaraya committed
396
397
398
399
              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.
400
            WWW-Authenticate:
401
              type: string
402
403
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
404
                authorization, or error details if the corresponding HTTP request
405
406
                has provided an invalid authorization token.
              maximum: 1
407
408
409
410
411
412
413
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
414
        303:
415
          $ref: "../responses/SOL005_resp.yaml#/responses/303"
416
        400:
417
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
418
        401:
419
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
420
        403:
421
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
422
        405:
423
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
424
        406:
425
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
426
        500:
427
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
428
        503:
429
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
430
    get:
431
      summary: Query multiple subscriptions.
432
433
      description: >
        Query Subscription Information
434

435
436
437
        The client can use this method to retrieve the list of active subscriptions 
        for alarms related to a NS subscribed by the client. 
        It can be used e.g. for resynchronization after error situations.
438

439
440
        This method shall follow the provisions specified in the Tables 8.4.4.3.2-1 and 8.4.4.3.2-2
        for URI query parameters, request and response data structures, and response codes.
441
442
        Table 8.4.4.3.2-1: URI query parameters supported.
      parameters:
443
444
        - name: filter
          in: query
445
          required: false
446
          type: string
447
          description: >
448
449
450
            Attribute-based filtering expression according to clause 4.3.2.
            The NFVO shall support receiving this parameter as part of the URI
            query string. The OSS/BSS may supply this parameter.
451
            All attribute names that appear in the FmSubscription and in data types
452
            referenced from it shall be supported by the NFVO in the filter expression.       
453
454
455
456
457
458
459
        - name: nextpage_opaque_marker
          in: query
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
            if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
          required: false
          type: string
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
        - 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:
        200:
rameshnaraya's avatar
rameshnaraya committed
476
          description: >
477
            200 OK
478

479
            The list of subscriptions was queried successfully.
480
481
482
483
484
485
486
            The response body shall contain in an array the representations 
            of all active subscriptions of the functional block that invokes 
            the method, i.e. zero or more representations of FM subscriptions,
            as defined in clause 8.5.2.3.
            If the NFVO supports alternative 2 (paging) according to 
            clause 4.7.2.1 for this resource, inclusion of the Link HTTP header 
            in this response shall follow the provisions in clause 4.7.2.3.
487
488
          headers:
            Content-Type:
rameshnaraya's avatar
rameshnaraya committed
489
              description: The MIME type of the body of the response.
490
491
492
493
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
494
              type: string
495
496
              description: >
                Challenge if the corresponding HTTP request has not provided
497
498
499
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
500
501
502
503
504
505
506
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
507
508
509
510
511
512
            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
513
514
515
          schema:
            type: array
            items:
516
              $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription"
517
        400:
518
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
519
        401:
520
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
521
        403:
522
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
523
        405:
524
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
525
        406:
526
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
527
        412:
528
          $ref: "../responses/SOL005_resp.yaml#/responses/412"
529
        500:
530
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
531
        503:
532
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
533
534
535
536

  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
537
  '/subscriptions/{subscriptionId}':
538
    #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.5
539
540
541
542
543
544
545
546
547
548
549
    parameters:
      - name: subscriptionId
        description: >
          Identifier of this 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.
        in: path
        type: string
        required: true
550
551
552
553
554
555
556
557
558
559
560
561
562
      - 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
563
    get:
564
      summary: Read an individual subscription.
565
566
      description: >
        Query Subscription Information
567

568
569
570
        The client can use this method for reading an individual subscription for alarms related to NSs subscribed
        by the client. This method shall follow the provisions specified in the Tables 8.4.5.3.2-1 and 8.4.5.3.2-2
        for URI query parameters, request and response data structures, and response codes
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
      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:
        200:
588
589
          description: >
            200 OK
590

591
592
593
594
595
596
597
598
599
600
601
602
            The operation has completed successfully.
            The response body shall contain a representation of the
            subscription resource.
          headers:
            Content-Type:
              description: >
                The MIME type of the body of the request.
                Reference: IETF RFC 7231
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
603
              type: string
604
605
              description: >
                Challenge if the corresponding HTTP request has not provided
606
607
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
608
609
              maximum: 1
              minimum: 0
610
611
612
613
614
615
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
616
          schema:
617
            $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription"
618
        400:
619
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
620
        401:
621
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
622
        403:
623
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
624
        405:
625
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
626
        406:
627
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
628
        500:
629
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
630
        503:
631
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
632
    delete:
633
      summary: Terminate a subscription.
634
635
      description: >
        Terminate Subscription
636

637
638
639
        This method terminates an individual subscription.
      responses:
        204:
640
          description: >
641
            204 - No Content
642

643
644
645
646
            The subscription resource was deleted successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
647
              type: string
648
649
              description: >
                Challenge if the corresponding HTTP request has not provided
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
        405:
667
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
668
        406:
669
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
670
        500:
671
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
672
        503:
673
          $ref: "../responses/SOL005_resp.yaml#/responses/503"