VNFPerformanceManagement.yaml 51.7 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 Perfomance Management interface
6
  description: >
7
    SOL002 - VNF Performance 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: /vnfpm/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
  ###############################################################################
  # PM jobs                                                                     #
  ###############################################################################
45 46
  '/pm_jobs':
    #SOL003 location: 6.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
    post:
      description: >
        The POST method creates a PM job.
64 65 66
        As the result of successful executing this method, a new 
        "Individual PM job" resource as defined in clause 6.4.3 shall 
        have been created.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
      parameters:
        - name: CreatePmJobRequest
          description: The VNF creation parameters
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest"
        - 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:
90
          description: >
91
            201 CREATED
moscatelli's avatar
moscatelli committed
92

93 94 95
            Shall be returned when the PM job has been created successfully. 
            The response body shall contain a representation of the created 
            PM job resource.
96
            The HTTP response shall include a "Location" HTTP header that
97
            points to the created "Individual PM job" resource.
98
          headers:
99 100 101 102 103 104 105 106 107 108
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
            Location:
              description: The resource URI of the created PM Job
              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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
129 130
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
131 132 133 134
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
135 136 137 138 139 140
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
141 142 143 144
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
145 146
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
    get:
      description: >
        The client can use this method to retrieve information about PM jobs.
      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
165 166
        - name: filter
          description: >
167
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
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 199
            The VNFM shall support receiving this parameter as part of the URI query string.
            The EM may supply this parameter. All attribute names that appear in the PmJob
            and in data types referenced from it shall be supported by the VNFM in attribute-based filtering 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: all_fields
          description: >
            Include all complex attributes in the response.
200 201
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. 
            The VNFM shall support this parameter.
202 203 204 205 206 207
          in: query
          required: false
          type: string
        - name: fields
          description: >
            Complex attributes to be included into the response.
208 209
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. 
            The VNFM should support this parameter.
210 211 212 213 214 215
          in: query
          required: false
          type: string
        - name: exclude_fields
          description: >
            Complex attributes to be excluded from the response.
216 217
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. 
            The VNFM should support this parameter.
218 219 220 221 222 223
          in: query
          required: false
          type: string
        - name: exclude_default
          description: >
            Indicates to exclude the following complex attributes from the response.
224 225
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. 
            The VNFM shall support this parameter.
226 227 228 229 230 231 232 233 234 235 236
            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
          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
237
            (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.
238 239 240
          in: query
          required: false
          type: string
241 242
      responses:
        200:
243
          description: >
244
            200 OK
245

246
            Shall be returned when information about zero or more PM jobs was queried successfully.
247 248
            The response body shall contain in an array the representations of zero or more PM jobs,
            as defined in clause 6.5.2.7.
249 250 251 252 253 254 255
            If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), 
            "exclude_fields" (if supported) or "exclude_default" URI parameters was supplied in 
            the request, the data in the response body shall have been transformed according to 
            the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively.
            If the 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.
256
          headers:
257 258 259 260 261 262 263 264 265 266
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
267 268 269 270 271 272 273 274
            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
275 276 277 278 279 280
            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
281 282 283 284 285
          schema:
            type: array
            items:
              $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"
        400:
286
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
287 288 289 290
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
291 292
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
293 294 295 296
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
297 298 299 300 301 302
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
303 304 305 306
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
307 308 309 310 311 312
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Individual PM job                                                           #
  ###############################################################################
313
  '/pm_jobs/{pmJobId}':
314
    #SOL002 location: 6.4.3
315 316 317 318 319 320 321 322 323 324 325
    parameters:
      - name: pmJobId
        description: >
          Identifier of the PM job.
          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.
        in: path
        type: string
        required: true
326 327 328 329
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
330
        required: true
331
        type: string
332 333 334 335 336 337 338
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
339 340 341 342 343 344 345 346 347 348 349 350 351
    get:
      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
      responses:
        200:
352
          description: >
353
            200 OK
354

355 356 357
            Shall be returned when information about an individual PM job has been 
            ueried successfully.
            The response body shall contain a representation of the "Individual PM job"
358 359
            resource.
          headers:
360 361 362 363 364 365 366 367 368 369
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385
            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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
386 387
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
388 389 390 391
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
392 393 394 395 396 397
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
398 399 400 401
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
402 403
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
404 405 406
    delete:
      description: >
        This method terminates an individual PM job.
407 408
        As the result of successfully executing this method, the "Individual PM job" 
        resource shall not exist any longer.
409 410
      responses:
        204:
411
          description: >
412
            204 NO CONTENT
413

414
            Shall be returned when the PM job has been deleted successfully.
415 416
            The response body shall be empty.
          headers:
417 418 419 420 421 422 423 424 425 426
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
427 428 429 430 431 432 433 434 435 436 437 438 439 440
            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"
441 442
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
443 444 445 446
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
447 448 449 450 451 452
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
453 454 455 456
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
457 458 459 460 461 462
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Individual performance report                                               #
  ###############################################################################
463
  '/pm_jobs/{pmJobId}/reports/{reportId}':
464
    #SOL002 location: 6.4.4
465 466 467 468 469 470 471 472 473 474 475 476 477
    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
478 479 480 481
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
482
        required: true
483
        type: string
484 485 486 487 488 489 490
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
491 492 493 494 495 496 497 498 499 500 501 502 503 504
    get:
      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
      responses:
        200:
505
          description: >
506
            200 OK
507

508 509 510 511
            Shall be returned when information of an individual performance report 
            has been read successfully.
            The response body shall contain a representation of the "Individual 
            performance report" resource.
512
          headers:
513 514 515 516 517 518 519 520 521 522
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
523 524 525 526 527 528 529 530 531
            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:
532
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport"
533 534 535 536 537 538
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
539 540
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
541 542 543 544
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
545 546 547 548 549 550
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
551 552 553 554
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
555 556 557 558 559 560
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Thresholds                                                                  #
  ###############################################################################
561 562
  '/thresholds':
    #SOL003 location: 6.4.5
563 564 565 566 567
    parameters:
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
568
        required: true
569
        type: string
570 571 572 573 574 575 576
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
577 578 579
    post:
      description: >
        The POST method can be used by the client to create a threshold.
580 581 582
        As the result of successfully executing this method, a new 
        "Individual threshold" resource as defined in clause 6.4.6 shall 
        have been created.
583 584 585
      parameters:
        - name: CreateThresholdRequest
          description: >
586
            Request parameters to create a new "Individual threshold" resource.
587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest"
        - 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:
607
          description: >
608
            201 CREATED
609

610 611 612
            Shall be returned when a threshold has been created successfully. 
            The response body shall contain a representation of the created 
            "Individual threshold" resource.
613
            The HTTP response shall include a "Location" HTTP header that
614
            contains the resource URI of the created resource.
615
          headers:
616 617 618 619 620 621 622 623 624 625
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
626
            Location:
627
              description: The resource URI of the created threshold
628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645
              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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
646 647
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
648 649 650 651
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
652 653 654 655 656 657
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
658 659 660 661
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
662 663
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
664 665 666 667 668 669 670 671 672 673 674
    get:
      description: >
        The client can use this method to query information about thresholds.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
moscatelli's avatar
moscatelli committed
675
        - name: filter
676
          description: >
677
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
moscatelli's avatar
moscatelli committed
678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710
            The VNFM shall support receiving this parameter as part of the URI query string.
            The EM may supply this parameter. All attribute names that appear in the Thresholds
            and in data types referenced from it shall be supported by the VNFM in attribute-based filtering 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
711 712
            (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for 
            this resource.
moscatelli's avatar
moscatelli committed
713 714
          in: query
          required: false
715 716 717
          type: string
      responses:
        200:
718
          description: >
719
            200 OK
720

721 722
            Information about zero or more thresholds was queried
            successfully.
723 724 725 726 727 728 729 730 731 732 733
          
            If the "filter" URI parameter was supplied in the request, 
            the data in the response body shall have been transformed 
            according to the rules specified in clause 5.2.2 of 
            ETSI GS NFV SOL 013.
            The response body shall contain in an array the representations 
            of zero or more thresholds, as defined in clause 6.5.2.9.
            If the VNFM supports alternative 2 (paging) according to 
            clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion 
            of the Link HTTP header in this response shall follow the provisions 
            in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
734
          headers:
735 736
            Content-Type:
              description: The MIME type of the body of the response.
737
              type: string
738 739 740 741 742 743 744
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
745 746 747 748 749 750 751 752
            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
753 754 755 756 757 758
            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
759 760
          schema:
            type: array
761
            items:
762 763
              $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"
        400:
764
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
765 766 767 768
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
769 770
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
771 772 773 774
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
775 776 777 778 779 780
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
781 782 783 784
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
785 786 787 788 789 790
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Individual threshold                                                        #
  ###############################################################################
791 792
  '/thresholds/{thresholdId}':
    #SOL003 location: 6.4.6
793
    parameters:
794 795 796 797 798 799 800 801 802 803
      - 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
804 805 806 807
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
808
        required: true
809
        type: string
810 811 812 813 814 815 816
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
817 818 819 820 821 822 823 824 825 826 827 828 829
    get:
      description: >
        The client can use this method for reading an individual threshold.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        200:
830
          description: >
831
            200 OK
832

833 834 835
            Shall be returned when information about an individual threshold 
            has been queried successfully. 
            The response body shall contain a representation of the threshold.
836
          headers:
837 838 839 840 841 842 843 844 845 846
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862
            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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
863 864
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
865 866 867 868
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
869 870 871 872 873 874
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
875 876 877 878
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
879 880
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
881 882 883
    delete:
      description: >
        This method allows to delete a threshold.
884 885
        As the result of successfully executing this method, the 
        "Individual threshold" resource shall not exist any longer.
886 887 888 889 890 891 892 893 894 895
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        204:
896
          description: >
897
            204 NO CONTENT
898

899
            Shall be returned when the threshold was deleted successfully.
900 901
            The response body shall be empty.
          headers:
902 903 904 905 906
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
907 908 909 910 911 912 913 914 915 916 917 918 919 920
            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"
921 922
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
923 924 925 926
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
927 928 929 930 931 932
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
933 934 935 936
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
937 938 939 940 941 942
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
943 944
  '/subscriptions':
    #SOL003 location: 6.4.7
945 946 947 948 949
    parameters:
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
950
        required: true
951
        type: string
952 953 954 955 956 957 958
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
959 960 961
    post:
      description: >
        The POST method creates a new subscription.
962 963 964
        As the result of successfully executing this method, a new 
        "Individual subscription" resource as defined in clause 6.4.8 
        shall have been created. This method shall not trigger any notification.
965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988
      parameters:
        - name: PmSubscriptionRequest
          description: >
            Details of the subscription to be created.
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscriptionRequest"
        - 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:
989
          description: >
990
            201 CREATED
991

992 993 994 995 996
            Shall be returned when the subscription was created successfully. 
            A representation of the created "Individual subscription" resource 
            shall be returned in the response body.
            The HTTP response shall include a "Location" HTTP header that contains 
            the resource URI of the created "Individual subscription" resource.
997
          headers:
998 999 1000 1001 1002 1003 1004 1005 1006 1007
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021
            Location:
              description: The resource URI of the created VNF instance
              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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription"
1022 1023 1024 1025
        303:
          description: >
            303 SEE OTHER

1026 1027 1028 1029 1030
            Shall be returned when 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 "Individual subscription" resource.
1031 1032
            The response body shall be empty.
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303"
1033 1034 1035 1036 1037 1038
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
1039 1040
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
1041 1042 1043 1044
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
1045 1046 1047 1048 1049 1050
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
1051 1052 1053 1054
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
1055 1056
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069
    get:
      description: >
        The client can use this method to query the list of active
        subscriptions to Performance management notifications 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
1070
        - name: filter
1071
          description: >
1072
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
1073
            The VNFM shall support receiving this parameter as part of the URI query string.
1074
            The EM may supply this parameter. All attribute names that appear in the PmSubscription
1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105
            and in data types referenced from it shall be supported by the VNFM in attribute-based filtering 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
1106
            (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.
1107 1108
          in: query
          required: false
1109 1110 1111
          type: string
      responses:
        200:
1112
          description: >
1113
            200 OK
1114

1115
            Shall be returned when the list of subscriptions was queried successfully.
1116 1117 1118
            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 PM subscriptions as defined in clause 6.5.2.3.
1119 1120 1121 1122 1123 1124
            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 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.
1125 1126
          headers:
            Content-Type:
1127 1128 1129 1130 1131 1132
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143
              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
1144 1145 1146 1147 1148 1149
            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
1150 1151
          schema:
            type: array
1152
            items:
1153 1154
              $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription"
        400:
1155
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
1156 1157 1158 1159
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
1160 1161
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
1162 1163 1164 1165
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
1166 1167 1168 1169 1170 1171
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
1172 1173 1174 1175
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
1176 1177 1178 1179 1180 1181
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
1182
  '/subscriptions/{subscriptionId}':
1183
    #SOL002 location: 6.4.8
1184 1185
    parameters:
      - name: subscriptionId
1186
        description: >
1187 1188 1189 1190 1191 1192 1193
          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
1194 1195 1196 1197
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
1198
        required: true
1199
        type: string
1200 1201 1202 1203 1204 1205 1206
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220
    get:
      description: >
        The client can use this method for reading an individual subscription
        about Performance management notifications 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
      responses:
        200:
1221
          description: >
1222
            200 OK
1223

1224 1225 1226
            Shall be returned when the subscription has been read successfully. 
            The response body shall contain a representation of the "Individual 
            subscription" resource.
1227 1228
          headers:
            Content-Type:
1229 1230 1231 1232 1233 1234
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Version:
              description: The used API version.
1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253
              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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
1254 1255
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
1256 1257 1258 1259
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
1260 1261 1262 1263 1264 1265
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
1266 1267 1268 1269
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
1270 1271
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
1272 1273 1274
    delete:
      description: >
        This method terminates an individual subscription.
1275 1276 1277 1278 1279
        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.
1280 1281 1282 1283 1284 1285 1286 1287 1288 1289
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        204:
1290
          description: >
1291
            204 NO CONTENT
1292

1293 1294
            Shall be returned when the "Individual subscription" resource has been 
            deleted successfully.
1295 1296
            The response body shall be empty.
          headers:
1297 1298 1299 1300 1301
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315
            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"
1316 1317
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
1318 1319 1320 1321
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
1322 1323 1324 1325 1326 1327
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
1328 1329 1330
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
1331 1332 1333
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"