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

35
  ###############################################################################
36 37
  # NSInstances                                                                 #
  ###############################################################################
38 39
  '/ns_instances':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.2
40 41 42 43 44 45 46 47 48 49 50 51 52 53
    parameters:
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string  
54
    post:
55
      summary: Create a NS instance resource.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
      description: >
        The POST method creates a new NS instance resource.
      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
72
          type: string
73 74
        - name: body
          in: body
rameshnaraya's avatar
rameshnaraya committed
75 76
          required: true
          schema:
77 78 79
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CreateNsRequest"
          description: >
            The NS creation parameters, as defined in clause 6.5.2.7.
80
      responses:
81
        201:
82 83
          description: >
            201 Created
84

85
            A NS Instance identifier has been created successfully.
86 87 88 89 90
            The response body shall contain a representation of
            the created NS instance, as defined in clause 6.5.2.8.
            The HTTP response shall include a "Location" HTTP
            header that contains the resource URI of the created
            NS instance.
rameshnaraya's avatar
rameshnaraya committed
91
          schema:
92
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
93
          headers:
rameshnaraya's avatar
rameshnaraya committed
94
            Content-Type:
95
              type: string
rameshnaraya's avatar
rameshnaraya committed
96 97 98 99
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message
                body.
100
            WWW-Authenticate:
101
              type: string
102 103
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
104 105
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
106 107
              maximum: 1
              minimum: 0
108 109 110 111 112
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
113
              minimum: 1
114
        400:
115
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
116
        401:
117
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
118
        403:
119
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
120
        404:
121
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
122
        405:
123
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
124
        406:
125
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
126
        409:
127
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
128
        416:
129
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
130
        500:
131
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
132
        503:
133
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
134
    get:
135
      summary: Query multiple NS instances.
136
      description: >
137
        Query NS Instances.
138

139 140 141 142
        The GET method queries information about multiple NS instances.
        This method shall support the URI query parameters, request and response data structures, and response codes, as
        specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2.
      parameters:
143 144
        - name: filter
          in: query
145
          required: false
146
          type: string
147
          description: >
148
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
149 150
            The NFVO shall support receiving this parameter as part of the URI
            query string. The OSS/BSS may supply this parameter.
151
            All attribute names that appear in the NsInstance and in data types
152 153 154
            referenced from it shall be supported by the NFVO in the filter expression.
        - name: all_fields
          in: query
155
          required: false
156
          type: string
157
          description: >
158
            Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details.
159 160 161
            The NFVO shall support this parameter.
        - name: fields
          in: query
162
          required: false
163
          type: string
164
          description: >
165
            "Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for
166
            details. The NFVO should support this parameter."          
167 168
        - name: exclude_fields
          in: query
169
          required: false
170
          type: string
171
          description: >
172
            "Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for
173
            details. The NFVO should support this parameter."
174 175
        - name: exclude_default
          in: query
176
          required: false
177
          type: string
178
          description: >
179
            "Indicates to exclude the following complex attributes from the response.
180
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter.
181 182 183 184 185 186 187 188 189 190
            The following attributes shall be excluded from the NsInstance structure in
            the response body if this parameter is provided, or none of the parameters
            "all_fields," "fields", "exclude_fields", "exclude_default" are provided:
            - vnfInstances
            - pnfInfo
            - virtualLinkInfo
            - vnffgInfo
            - sapInfo
            - nsScaleStatus
            - additionalAffinityOrAntiAffinityRules"
191 192 193 194
        - name: nextpage_opaque_marker
          in: query
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
195 196
            if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of
            ETSI GS NFV-SOL 013 for this resource.
197 198
          required: false
          type: string
199 200 201 202 203 204 205 206 207 208
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        200:
          description: >
209
            200 OK
210

211
            Information about zero or more NS instances has been queried successfully.
212 213 214 215
            The response body shall contain in an array the representations of
            zero or more NS instances, as defined in clause 6.5.2.8.
            If the NFVO supports alternative 2 (paging) according to 
            clause 4.7.2.1 for this resource, inclusion of the Link HTTP header 
216
            in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
217 218 219 220 221 222 223
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
224
              type: string
225 226
              description: >
                Challenge if the corresponding HTTP request has not provided
227 228 229
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
230
              minimum: 0
231 232 233 234 235
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
236
              minimum: 1
237 238 239 240 241 242
            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
243 244 245
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
246 247
              properties:
                NsInstance:
248
                  $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
249
        400:
250
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
251
        401:
252
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
253
        403:
254
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
255
        404:
256
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
257
        405:
258
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
259
        406:
260
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
261
        409:
262
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
263
        416:
264
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
265
        500:
266
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
267
        503:
268
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
269 270 271 272

  ###############################################################################
  # Individual NS instance                                                      #
  ###############################################################################
273 274 275 276 277 278 279 280 281
  '/ns_instances/{nsInstanceId}':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.3
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance.
        in: path
        type: string
        required: true
282 283 284 285 286 287 288 289 290 291 292 293 294
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
295
    get:
rameshnaraya's avatar
rameshnaraya committed
296
      summary: Read an individual NS instance resource.
297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316
      description: >
        The GET method retrieves information about a NS instance by 
        reading an individual NS instance resource.   
      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:
317 318
          description: >
            200 OK
319

320
            Information about an individual NS instance has been queried successfully.
321
            The response body shall contain a representation of the NS instance.
rameshnaraya's avatar
rameshnaraya committed
322
          schema:
323
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
324 325
          headers:
            Content-Type:
326
              type: string
rameshnaraya's avatar
rameshnaraya committed
327 328 329
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message body.
330
              maximum: 1
331
              minimum: 1
332
            WWW-Authenticate:
333
              type: string
334 335
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
336
                authorization, or error details if the corresponding HTTP request
337
                has provided an invalid authorization token.
338 339
              maximum: 1
              minimum: 0
340 341 342 343 344
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
345
              minimum: 1
346
        400:
347
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
348
        401:
349
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
350
        403:
351
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
352
        404:
353
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
354
        405:
355
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
356
        406:
357
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
358
        409:
359
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
360
        416:
361
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
362
        500:
363
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
364
        503:
365
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
366

367
    delete:
rameshnaraya's avatar
rameshnaraya committed
368
      summary: Delete NS instance resource.
369 370
      description: >
        Delete NS Identifier
371

372 373 374 375 376
        This method deletes an individual NS instance resource.
      responses:
        204:
          description: >
            204 No Content
377

378 379 380 381 382
            The NS instance resource and the associated NS
            identifier were deleted successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
383
              type: string
384 385
              description: >
                Challenge if the corresponding HTTP request has not provided
386 387
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
388 389
              maximum: 1
              minimum: 0
390 391 392 393 394
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
395
              minimum: 1
396
        400:
397
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
398
        401:
399
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
400
        403:
401
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
402
        404:
403
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
404
        405:
405
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
406
        406:
407
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
408
        409:
409
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
410
        412:
411
          $ref: "../responses/SOL005_resp.yaml#/responses/412"
412
        500:
413
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
414
        503:
415
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
416

417 418 419
  ###############################################################################
  # Instantiate NS task                                                         #
  ###############################################################################
420 421 422 423 424 425 426 427 428
  '/ns_instances/{nsInstanceId}/instantiate':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.4
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be instantiated.
        in: path
        type: string
        required: true
429
    post:
rameshnaraya's avatar
rameshnaraya committed
430
      summary: Instantiate a NS.
431 432 433
      description: >
        The POST method requests to instantiate a NS instance resource.
      parameters:
434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
455 456 457 458 459 460
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
461 462
        - name: body
          in: body
463 464
          required: true
          schema:
465 466 467
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest"
          description: >
            Parameters for the instantiate NS operation, as defined in clause 6.5.2.10.
468 469
      responses:
        202:
470
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
471
        400:
472
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
473
        401:
474
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
475
        403:
476
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
477
        404:
478
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
479
        405:
480
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
481
        406:
482
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
483
        409:
484
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
485
        416:
486
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
487
        500:
488
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
489
        503:
490
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
491 492 493 494

  ###############################################################################
  # Scale NS task                                                               #
  ###############################################################################
495 496 497 498 499 500 501 502 503
  '/ns_instances/{nsInstanceId}/scale':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be scaled.
        in: path
        type: string
        required: true
504
    post:
rameshnaraya's avatar
rameshnaraya committed
505
      summary: Scale a NS instance.
506 507
      description: >
        The POST method requests to scale a NS instance resource.
508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
530 531 532 533 534 535
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
536 537
        - name: body
          in: body
538 539
          required: true
          schema:
540 541 542
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest"
          description: >
            Parameters for the scale NS operation, as defined in clause 6.5.2.13.
543 544
      responses:
        202:
545
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
546
        400:
547
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
548
        401:
549
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
550
        403:
551
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
552
        404:
553
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
554
        405:
555
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
556
        406:
557
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
558
        409:
559
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
560
        500:
561
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
562
        503:
563
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
564 565 566 567

  ###############################################################################
  # Update NS task                                                              #
  ###############################################################################
568 569 570 571 572 573 574 575 576
  '/ns_instances/{nsInstanceId}/update':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.6
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be updated.
        in: path
        type: string
        required: true
577
    post:
rameshnaraya's avatar
rameshnaraya committed
578
      summary: Updates a NS instance.
579 580 581
      description: >
        Scale NS instance.
        The POST method requests to scale a NS instance resource.
582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
604 605 606 607 608 609
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
610 611
        - name: body
          in: body
612 613
          required: true
          schema:
614 615 616
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest"
          description: >
            Parameters for the update NS operation, as defined in clause 6.5.2.11.
617 618
      responses:
        202:
619
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
620
        400:
621
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
622
        401:
623
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
624
        403:
625
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
626
        404:
627
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
628
        405:
629
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
630
        406:
631
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
632
        409:
633
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
634
        500:
635
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
636
        503:
637
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
638 639 640 641

  ###############################################################################
  # Heal NS task                                                                #
  ###############################################################################
642 643
  '/ns_instances/{nsInstanceId}/heal':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.7
644 645 646
    parameters:
      - name: nsInstanceId
        description: >
647
          Identifier of the NS instance to be healed.
648 649 650 651
        in: path
        type: string
        required: true
    post:
652 653
      summary: Heal a NS instance.
      description: >
654 655 656 657
        The POST method requests to heal a NS instance resource.
        This method shall follow the provisions specified in the Tables 6.4.7.3.1-1 and 
        6.4.7.3.1-2 for URI query parameters,
        request and response data structures, and response codes.
658
      parameters:
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
680 681 682 683 684 685
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
686 687
        - name: body
          in: body
688 689
          required: true
          schema:
690
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/HealNsRequest"
691 692
          description: >
            Parameters for the heal NS operation, as defined in clause 6.5.2.12.
693 694
      responses:
        202:
695
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
696
        400:
697
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
698
        401:
699
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
700
        403:
701
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
702
        404:
703
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
704
        405:
705
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
706
        406:
707
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
708
        409:
709
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
710
        500:
711
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
712
        503:
713
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
714

715 716 717
  ###############################################################################
  # Terminate NS task                                                           #
  ###############################################################################
718 719
  '/ns_instances/{nsInstanceId}/terminate':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.8
720 721 722
    parameters:
      - name: nsInstanceId
        description: >
723
          The identifier of the NS instance to be terminated.
724 725 726 727
        in: path
        type: string
        required: true
    post:
728 729 730 731 732 733 734 735 736 737
      summary: Terminate a NS instance.
      description: >
        Terminate NS task.  
        The POST method terminates a NS instance. This method can only be 
        used with a NS instance in the INSTANTIATED
        state. Terminating a NS instance does not delete the NS instance identifier, 
        but rather transitions the NS into the NOT_INSTANTIATED state.
        This method shall support the URI query parameters, request and 
        response data structures, and response codes, as
        specified in the Tables 6.4.8.3.1-1 and 6.8.8.3.1-2.
738
      parameters:
739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
760 761 762 763 764 765
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
766 767
        - name: body
          in: body
768 769
          required: true
          schema:
770
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest"
771 772
          description: >
            The terminate NS request parameters, as defined in  clause 6.5.2.14.
773 774
      responses:
        202:
775
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
776
        400:
777
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
778
        401:
779
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
780
        403:
781
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
782
        404:
783
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
784
        405:
785
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
786
        406:
787
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
788
        409:
789
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
790
        500:
791
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
792
        503:
793
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
794

795 796 797
  ###############################################################################
  # NS LCM operation occurrences                                                #
  ###############################################################################
798 799 800
  '/ns_lcm_op_occs':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.9
    get:
rameshnaraya's avatar
rameshnaraya committed
801
      summary: Query multiple NS LCM operation occurrences.
802
      description: >
803
        Get Operation Status.
804 805 806 807 808
        The client can use this method to query status information about multiple NS lifecycle management operation
        occurrences.
        This method shall follow the provisions specified in the Tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
809 810
        - name: filter
          in: query
811
          required: false
812
          type: string
813
          description: >
814
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013.
815 816
            The NFVO shall support receiving this parameter as part of the URI query string.
            The OSS/BSS may supply this parameter.
817
            All attribute names that appear in the NsLcmOpOcc and in data types referenced
818
            from it shall be supported by the NFVO in the filter expression.
819 820
        - name: fields
          in: query
821
          required: false
822
          type: string
823
          description: >
824
            Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The
825
            NFVO should support this parameter.
826 827
        - name: exclude_fields
          in: query
828
          required: false
829
          type: string
830
          description: >
831
            Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV SOL 013 for details.
832
            The NFVO should support this parameter.
833 834
        - name: exclude_default
          in: query
835
          required: false
836
          type: string
837
          description: >
838
            Indicates to exclude the following complex attributes from the response. See
839
            clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO shall support this parameter.
840 841 842 843 844 845
            The following attributes shall be excluded from the NsLcmOpOcc structure in the
            response body if this parameter is provided:
            - operationParams
            - changedVnfInfo
            - error
            - resourceChanges
846 847 848 849
        - name: nextpage_opaque_marker
          in: query
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
850 851
            if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of
            ETSI GS NFV SOL 013 for this resource.
852 853
          required: false
          type: string
854 855 856 857
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
858 859 860
          in: header
          required: true
          type: string
861 862 863 864 865 866 867
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
868 869 870 871 872 873
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
874 875 876
      responses:
        200:
          description: >
877
            200 OK
878

879
            Status information for zero or more NS lifecycle management operation 
880
            occurrences has been queried successfully.
881
            The response body shall contain in an array the representations of
882 883 884 885 886 887 888 889
            zero or more NS instances, as defined in clause 6.5.2.3.

            If the "filter" URI parameter or one of the "all_fields", "fields",
            "exclude_fields" or "exclude_default" URI parameters was supplied in
            the request and is supported, the data in the response body shall have
            been transformed according to the rules specified in clauses 5.2.2 and
            5.3.2 of ETSI GS NFV SOL 013, respectively.

890
            If the NFVO supports alternative 2 (paging) according to 
891 892
            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.
893 894 895 896 897 898 899
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
900
              type: string
901 902
              description: >
                Challenge if the corresponding HTTP request has not provided
903 904 905
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
906
              minimum: 0
907 908 909 910 911
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
912
              minimum: 1
913 914 915 916 917 918
            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
919 920 921
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
922 923
              properties:
                NsLcmOpOcc:
924
                  $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc"
925
        400:
926
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
927
        401:
928
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
929
        403:
930
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
931
        404:
932
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
933
        405:
934
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
935
        406:
936
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
937
        409:
938
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
939
        500:
940
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
941
        503:
942
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
943

944 945 946
  ###############################################################################
  # Individual NS lifecycle operation occurrence                                #
  ###############################################################################
947
  '/ns_lcm_op_occs/{nsLcmOpOccId}':
948
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.10     
949 950 951 952 953 954 955
    parameters:
      - name: nsLcmOpOccId
        description: >
          Identifier of a NS lifecycle management operation occurrence.
        in: path
        type: string
        required: true
956
    get:
rameshnaraya's avatar
rameshnaraya committed
957
      summary: Read an individual NS LCM operation occurrence resource.
958
      description: >
959 960 961 962 963 964
        The client can use this method to retrieve status information about
        a NS lifecycle management operation occurrence by
        reading an individual "NS LCM operation occurrence" resource.
        This method shall follow the provisions specified in the
        Tables 6.4.10.3.2-1 and 6.4.10.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
987 988 989 990 991 992
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
993 994
      responses:
        200:
995 996
          description: >
            200 OK
997

998
            Information about a NS LCM operation occurrence has been
999 1000 1001
            queried successfully.
            The response body shall contain status information about a NS 
            lifecycle management operation occurrence (see clause 6.5.2.3).
rameshnaraya's avatar
rameshnaraya committed
1002
          schema:
1003
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc"
1004 1005
          headers:
            Content-Type:
1006
              type: string
1007
              description: >
rameshnaraya's avatar
rameshnaraya committed
1008 1009
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message body.
1010
              maximum: 1
1011
              minimum: 1
1012
            WWW-Authenticate:
1013
              type: string
1014 1015
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
1016 1017
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
1018
              maximum: 1
1019
              minimum: 0
1020 1021 1022 1023 1024
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
1025
              minimum: 1
1026
        400:
1027
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
1028
        401:
1029
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
1030
        403:
1031
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
1032
        404:
1033
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
1034
        405:
1035
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
1036
        406:
1037
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
1038
        409:
1039
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
1040
        416:
1041
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
1042
        500:
1043
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
1044
        503:
1045
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
1046

1047 1048 1049
  ###############################################################################
  # Retry operation task                                                        #
  ###############################################################################
1050 1051 1052 1053 1054 1055
  '/ns_lcm_op_occs/{nsLcmOpOccId}/retry':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.11
    parameters:
      - name: nsLcmOpOccId
        description: >
          Identifier of a NS lifecycle management operation occurrence to be retried.
1056

1057 1058
          This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response
          to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId"
rameshnaraya's avatar
rameshnaraya committed
1059
          attribute in the NsLcmOperationOccurrenceNotification.
1060 1061 1062 1063
        in: path
        type: string
        required: true
    post:
rameshnaraya's avatar
rameshnaraya committed
1064
      summary: Retry a NS lifecycle management operation occurrence.
1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079
      description: >
        The POST method initiates retrying a NS lifecycle management operation 
        if that operation has experienced a temporary
        failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state.
        This method shall follow the provisions specified in the 
        Tables 6.4.11.3.1-1 and 6.4.11.3.1-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
1080 1081 1082 1083 1084 1085
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1086 1087
      responses:
        202:
1088
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty"
1089
        400:
1090
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
1091
        401:
1092
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
1093
        403:
1094
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
1095
        404:
1096
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
1097
        405:
1098
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
1099
        406:
1100
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
1101
        409:
1102
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
1103
        500:
1104
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
1105
        503:
1106
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
1107 1108 1109 1110

  ###############################################################################
  # Rollback a NS lifecycle management operation occurrence.                    #
  ###############################################################################
1111 1112 1113 1114 1115 1116
  '/ns_lcm_op_occs/{nsLcmOpOccId}/rollback':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.12
    parameters:
      - name: nsLcmOpOccId
        description: >
          Identifier of a NS lifecycle management operation occurrence to be rolled back.
1117

1118 1119 1120 1121 1122 1123 1124
          This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response
          to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId"
          attribute in the NsLcmOperationOccurrenceNotification.
        in: path
        required: true
        type: string
    post:
rameshnaraya's avatar
rameshnaraya committed
1125
      summary: Rollback a NS lifecycle management operation occurrence.
1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140
      description: >
        The POST method initiates rolling back a NS lifecycle operation 
        if that operation has experienced a temporary failure,
        i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state.
        This method shall follow the provisions specified in the 
        Tables 6.4.12.3.1-1 and 6.4.12.3.1-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
1141 1142 1143 1144 1145 1146
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1147 1148
      responses:
        202:
1149
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty"
1150
        400:
1151
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
1152
        401:
1153
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
1154
        403:
1155
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
1156
        404:
1157
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
1158
        405:
1159
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
1160
        406:
1161
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
1162
        409:
1163
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
1164
        500:
1165
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
1166
        503:
1167
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
1168

1169 1170 1171
  ###############################################################################
  # Continue a NS lifecycle management operation occurrence.                    #
  ###############################################################################
1172 1173 1174 1175 1176 1177 1178 1179 1180
  '/ns_lcm_op_occs/{nsLcmOpOccId}/continue':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.13
    parameters:
      - name: nsLcmOpOccId
        description: >
          Identifier of a NS lifecycle management operation occurrence to be continued.
        in: path
        required: true
        type: string
1181
    post:
rameshnaraya's avatar
rameshnaraya committed
1182
      summary: Continue a NS lifecycle management operation occurrence.