VNFFaultManagement.yaml 34.2 KB
Newer Older
1 2
swagger: "2.0"

3
info:
4
  version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
5
  title: SOL002 - VNF Fault Management interface
6
  description: >
7
    SOL002 - VNF Fault Management interface
8
    IMPORTANT: Please note that this file might be not aligned to the current
9 10 11 12
    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
13
  license:
14
    name: ETSI Forge copyright notice
15
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
16 17
  contact:
    name: NFV-SOL WG
18

19
externalDocs:
20 21
  description: ETSI GS NFV-SOL 002 V2.6.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.06.01_60/gs_nfv-sol002v020601p.pdf
22

23
basePath: /vnffm/v1
24

25
schemes:
26 27 28
  - http
  - https

29
consumes:
30 31
  - application/json

32
produces:
33 34 35
  - application/json

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

42 43 44
  ###############################################################################
  # Alarms                                                                      #
  ###############################################################################
45
  '/alarms':
46
    #SOL003 location: 7.4.2
47 48 49 50 51
    parameters:
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
52
        required: true
53
        type: string
54 55 56 57 58 59 60
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
    get:
      description: >
        The client can use this method to retrieve information about the alarm
        list.
      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
80
        - name: filter
81
          description: >
82
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
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 111 112 113 114 115 116 117 118
            The VNFM shall support receiving this parameter as part of the URI query string.
            The EM may supply this parameter. The VNF may supply its instance Id as an attribute filter.
            The following attribute names shall be supported in the filter expression: id, managedObjectId,
            vnfcInstanceIds, rootCauseFaultyResource.faultyResourceType, eventType, perceivedSeverity, probableCause.
            If the vnfcInstanceIds parameter is provided, exactly one value for the managedObjectId attribute
            shall be provided.

            EXAMPLE
            objects
            obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
            obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}

            Request 1:
            GET …/container

            Response 1:
            [
                {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]},
                {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
            ]

            Request 2:
            GET …/container?filter=(eq.weight,100)

            Response 2:
            [
                {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
            ]
          #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used
          in: query
          required: false
          type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response.
            Shall be supported by the VNFM if the VNFM supports alternative 2
119 120
            (paging) according to clause 5.4.2.1 5.2 of ETSI GS NFV-SOL 013 
            for this resource.
121 122
          in: query
          required: false
123 124 125
          type: string
      responses:
        200:
126
          description: >
127
            200 OK
128

129
            Shall be returned when information about zero or more alarms was queried successfully.
130 131
            The response body shall contain in an array the representations of zero or more alarms
            as defined in clause 7.5.2.4.
132 133 134 135 136 137
            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.
            If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of 
            ETSI GS NFV-SOL 013for 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.
138 139
          headers:
            Content-Type:
140 141 142 143 144 145
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
146 147 148 149 150 151 152 153 154 155 156
              type: string
              maximum: 1
              minimum: 1
            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
157 158 159 160 161 162
            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
163
          schema:
164
            $ref: "./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm"
165
        400:
166
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
167 168 169 170
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
171 172
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
173 174 175 176
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
177 178 179 180 181 182
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
183 184 185 186
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
187 188 189 190 191 192
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Individual alarm                                                            #
  ###############################################################################
193
  '/alarms/{alarmId}':
194
    #SOL003 location: 7.4.3
195 196 197 198 199 200 201 202 203 204 205 206
    parameters:
      - name: alarmId
        description: >
          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.
        in: path
        type: string
        required: true
207 208 209 210
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
211
        required: true
212
        type: string
213 214 215 216 217 218 219
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
    get:
      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
      responses:
        200:
240
          description: >
241
            200 OK
242

243 244
            Shall be returned when information about an individual alarm read 
            successfully.
245 246 247 248
            The response body shall contain a representation of the individual
            alarm.
          headers:
            Content-Type:
249 250 251 252 253 254
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
255 256 257 258 259 260 261 262 263 264 265 266
              type: string
              maximum: 1
              minimum: 1
            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
          schema:
267
            $ref: "definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm"
268 269 270 271 272 273
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
274 275
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
276 277 278 279
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
280 281 282 283 284 285
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
286 287 288 289
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
290 291
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
292 293 294 295 296
    patch:
      description: >
        This method modifies an individual alarm resource.
      parameters:
        - name: AlarmModifications
297
          description: The parameter for the alarm modification
298 299 300 301 302 303 304 305 306 307 308 309 310
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications"
        - 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: >
311 312
            The Content-Type header shall be set to "application/mergepatch+json"
            Reference: IETF RFC 7396
313 314 315 316 317
          in: header
          required: true
          type: string
      responses:
        200:
318
          description: >
319
            200 OK
320

321 322 323
            Shall be returned when the request was accepted and completed. 
            The response body shall contain attribute modifications for 
            an "Individual alarm" resource.
324 325
          headers:
            Content-Type:
326 327 328 329 330 331
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350
              type: string
              maximum: 1
              minimum: 1
            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
          schema:
            $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
351 352
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
353 354 355 356 357
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        409:
358 359 360
          description: >
            409 CONFLICT

361 362 363 364 365 366 367
            Shall be returned upon the following error: The operation cannot be executed 
            currently, due to a conflict with the state of the "Individual alarm" resource.
            Typically, this is due to the fact that the alarm is already in the state that 
            is requested to be set (such as trying to acknowledge an already-acknowledged 
            alarm).
            The response body shall contain a ProblemDetails structure, in which the 
            "detail" attribute shall convey more information about the error.
368
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
369
        412:
370 371 372 373 374 375 376 377 378
          description: >
            412 PRECONDITION FAILED

            ErrorShall be returned upon the following error: A precondition given in an 
            HTTP request header is not fulfilled.
            Typically, this is due to an ETag mismatch, indicating that the resource was 
            modified by another entity. 
            The response body should contain a ProblemDetails structure, in which the 
            "detail" attribute should convey more information about the error.
379
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412"
380 381 382 383 384 385
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
386 387 388 389
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
390 391 392
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

393
  ###############################################################################
394
  # Escalate Perceived Severity task                                            #
395
  ###############################################################################
396
  '/alarms/{alarmId}/escalate':
397
    #SOL002 location: 7.4.4
398 399 400 401 402
    parameters:
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
403
        required: true
404
        type: string
405 406 407 408 409 410 411
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
412 413
    post:
      description: >
414 415
        The POST method enables the consumer to escalate the perceived severity
        of an alarm that is represented by an ndividual alarm resource.
416 417 418
        As the result of successfully executing this method, a new "Individual 
        subscription" resource as defined in clause 7.4.5 shall have been created. 
        This method shall not trigger any notification.
419
      parameters:
Gergely Csatari's avatar
Gergely Csatari committed
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434
        - name: alarmId
          description: >
            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.
          in: path
          type: string
          required: true
        - name: PerceivedSeverityRequest
          description: The proposed "escalated perceived severity" value
          in: body
          schema:
435
            $ref: "definitions/SOL002VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest"
436 437 438
      responses:
        200:
          description: >
439
            200 OK
440

441 442
            Shall be returned when the VNFM has received the proposed "escalated 
            perceived severity" value successfully. The response body shall be empty.
443 444 445 446 447 448
          headers:
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
449 450 451 452 453 454
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
455 456
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
457 458 459 460
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
461 462 463 464 465 466
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
467 468 469
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
470
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
471 472
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
473 474

  ###############################################################################
475 476
  # Subscriptions                                                               #
  ###############################################################################
477
  '/subscriptions':
478
    #SOL003 location: 7.4.4
479 480 481 482 483
    parameters:
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
484
        required: true
485
        type: string
486 487 488 489 490 491 492
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518
    post:
      description: >
        The POST method creates a new subscription.
      parameters:
        - name: FmSubscriptionRequest
          description: The VNF creation parameters
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscriptionRequest"
        - 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:
        201:
519
          description: >
520
            201 CREATED
521

522 523 524 525 526 527
            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.
          headers:
            Content-Type:
528 529 530 531 532 533
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551
              type: string
              maximum: 1
              minimum: 1
            Location:
              description: >
                The resource URI of the created subscription resource.
              type: string
              format: url
            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
          schema:
            $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription"
552
        303:
553 554 555 556 557 558 559 560
          description: >
            303 SEE OTHER

            A subscription with the same callbackURI and the same filter already exists and the policy of
            the VNFM is to not create redundant subscriptions.
            The HTTP response shall include a "Location" HTTP header that contains the resource URI of the
            existing subscription resource.
            The response body shall be empty.
561
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303"
562 563 564 565 566 567
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
568 569
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
570 571 572 573
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
574 575 576 577 578 579
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
580 581 582 583
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
584 585
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605
    get:
      description: >
        The client can use this method to retrieve the list of active
        subscriptions for VNF alarms subscribed by the client. It can be used
        e.g. for resynchronization after error situations.
      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
606
        - name: filter
607
          description: >
608
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642
            The VNFM shall support receiving this parameter as part of the URI query string.
            The EM may supply this parameter. The VNF may supply its instance Id as an attribute filter.
            All attribute names that appear in the FmSubscription and in data types referenced from it
            shall be supported by the VNFM in the filter expression.

            EXAMPLE
            objects
            obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
            obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}

            Request 1:
            GET …/container

            Response 1:
            [
                {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]},
                {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
            ]

            Request 2:
            GET …/container?filter=(eq.weight,100)

            Response 2:
            [
                {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
            ]
          #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used
          in: query
          required: false
          type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response.
            Shall be supported by the VNFM if the VNFM supports alternative 2
643 644
            (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for 
            this resource.
645 646
          in: query
          required: false
647 648 649
          type: string
      responses:
        200:
650
          description: >
651
            200 OK
652

653
            The list of subscriptions has been queried successfully. The response
654 655
            body shall contain the representations of all active
            subscriptions of the functional block that invokes the method.
656 657 658
            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.
659
            If the VNFM supports alternative 2 (paging) according to clause
660 661 662
            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.
663 664
          headers:
            Content-Type:
665 666 667 668 669 670
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
671 672 673 674 675 676 677 678 679 680 681
              type: string
              maximum: 1
              minimum: 1
            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
682 683 684 685 686 687
            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
688 689 690
          schema:
            $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription"
        400:
691
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
692 693 694 695
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
696 697
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
698 699 700 701
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
702 703 704 705 706 707
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
708 709 710 711
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
712 713 714 715 716 717
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
718
  '/subscriptions/{subscriptionId}':
719
    #SOL003 location: 7.4.5
720 721
    parameters:
      - name: subscriptionId
722
        description: >
723 724 725 726 727 728 729 730
          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
731 732 733 734
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
735
        required: true
736
        type: string
737 738 739 740 741 742 743
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764
    get:
      description: >
        The client can use this method for reading an individual subscription
        for VNF alarms subscribed by the client.
      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:
765
          description: >
766
            200 OK
767

768 769 770 771
            Shall be returned when information about an individual subscription 
            has been read successfully.
            The response body shall contain a representation of the "Individual 
            subscription" resource.
772 773
          headers:
            Content-Type:
774 775 776 777 778 779
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798
              type: string
              maximum: 1
              minimum: 1
            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
          schema:
            $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
799 800
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
801 802 803 804
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
805 806 807 808 809 810
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
811 812 813 814
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
815 816
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
817 818 819
    delete:
      description: >
        This method terminates an individual subscription.
820 821 822 823 824 825 826
        As the result of successfully executing this method, the "Individual 
        subscription" resource shall not exist any longer. This means that no 
        notifications for that subscription shall be sent to the 
        formerly-subscribed API consumer. 
        NOTE:	Due to race conditions, some notifications might still be 
        received by the formerly-subscribed API consumer for a certain time 
        period after the deletion.
827 828
      responses:
        204:
829
          description: >
830
            204 NO CONTENT
831

832 833
            Shall be returned when the "Individual subscription" resource has 
            been deleted successfully.
834 835
            The response body shall be empty.
          headers:
836 837
            Version:
              description: The used API version.
838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854
              type: string
              maximum: 1
              minimum: 1
            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/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
855 856
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
857 858 859 860
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
861 862 863 864 865 866
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
867 868 869
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
870 871 872
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"