NSLifecycleManagement.yaml 65.7 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 815 816
            Attribute-based filtering expression according to clause 4.3.2.
            The NFVO shall support receiving this parameter as part of the URI query string.
            The OSS/BSS may supply this parameter.
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 825
            Complex attributes to be included into the response. See clause 4.3.3 for details. The
            NFVO should support this parameter.
826 827
        - name: exclude_fields
          in: query
828
          required: false
829
          type: string
830
          description: >
831 832
            Complex attributes to be excluded from the response. See clause 4.3.3 for details.
            The NFVO should support this parameter.
833 834
        - name: exclude_default
          in: query
835
          required: false
836
          type: string
837
          description: >
838 839 840 841 842 843 844 845
            Indicates to exclude the following complex attributes from the response. See
            clause 4.3.3 for details. The NFVO shall support this parameter.
            The following attributes shall be excluded from the NsLcmOpOcc structure in the
            response body if this parameter is provided:
            - operationParams
            - changedVnfInfo
            - error
            - resourceChanges
846 847 848 849 850 851 852
        - name: nextpage_opaque_marker
          in: query
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
            if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
          required: false
          type: string
853 854 855 856
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
857 858 859
          in: header
          required: true
          type: string
860 861 862 863 864 865 866
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
867 868 869 870 871 872
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
873 874 875
      responses:
        200:
          description: >
876
            200 OK
877

878 879 880 881 882 883 884
            Status information for zero or more NS lifecycle management operation 
            occurrences was queried successfully. 
            The response body shall contain in an array the representations of
            zero or more NS instances, as defined in clause 5.5.2.13.
            If the NFVO supports alternative 2 (paging) according to 
            clause 4.7.2.1 for this resource, inclusion of the Link HTTP header 
            in this response shall follow the provisions in clause 4.7.2.3.
885 886 887 888 889 890 891
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
892
              type: string
893 894
              description: >
                Challenge if the corresponding HTTP request has not provided
895 896 897
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
898
              minimum: 0
899 900 901 902 903
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
904
              minimum: 1
905 906 907 908 909 910
            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
911 912 913
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
914 915
              properties:
                NsLcmOpOcc:
916
                  $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc"
917
        400:
918
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
919
        401:
920
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
921
        403:
922
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
923
        404:
924
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
925
        405:
926
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
927
        406:
928
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
929
        409:
930
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
931
        500:
932
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
933
        503:
934
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
935

936 937 938
  ###############################################################################
  # Individual NS lifecycle operation occurrence                                #
  ###############################################################################
939
  '/ns_lcm_op_occs/{nsLcmOpOccId}':
940
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.10     
941 942 943 944 945 946 947
    parameters:
      - name: nsLcmOpOccId
        description: >
          Identifier of a NS lifecycle management operation occurrence.
        in: path
        type: string
        required: true
948
    get:
rameshnaraya's avatar
rameshnaraya committed
949
      summary: Read an individual NS LCM operation occurrence resource.
950
      description: >
951 952 953 954 955 956
        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.
957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978
      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
979 980 981 982 983 984
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
985 986
      responses:
        200:
987 988
          description: >
            200 OK
989

990 991 992 993
            Information about a NS LCM operation occurrence was 
            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
994
          schema:
995
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc"
996 997
          headers:
            Content-Type:
998
              type: string
999
              description: >
rameshnaraya's avatar
rameshnaraya committed
1000 1001
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message body.
1002
              maximum: 1
1003
              minimum: 1
1004
            WWW-Authenticate:
1005
              type: string
1006 1007
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
1008 1009
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
1010
              maximum: 1
1011
              minimum: 0
1012 1013 1014 1015 1016
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
1017
              minimum: 1
1018
        400:
1019
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
1020
        401:
1021
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
1022
        403:
1023
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
1024
        404:
1025
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
1026
        405:
1027
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
1028
        406:
1029
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
1030
        409:
1031
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
1032
        416:
1033
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
1034
        500:
1035
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
1036
        503:
1037
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
1038

1039 1040 1041
  ###############################################################################
  # Retry operation task                                                        #
  ###############################################################################
1042 1043 1044 1045 1046 1047
  '/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.
1048

1049 1050
          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
1051
          attribute in the NsLcmOperationOccurrenceNotification.
1052 1053 1054 1055
        in: path
        type: string
        required: true
    post:
rameshnaraya's avatar
rameshnaraya committed
1056
      summary: Retry a NS lifecycle management operation occurrence.
1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071
      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
1072 1073 1074 1075 1076 1077
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1078 1079
      responses:
        202:
1080
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty"
1081
        400:
1082
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
1083
        401:
1084
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
1085
        403:
1086
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
1087
        404:
1088
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
1089
        405:
1090
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
1091
        406:
1092
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
1093
        409:
1094
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
1095
        500:
1096
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
1097
        503:
1098
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
1099 1100 1101 1102

  ###############################################################################
  # Rollback a NS lifecycle management operation occurrence.                    #
  ###############################################################################
1103 1104 1105 1106 1107 1108
  '/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.
1109

1110 1111 1112 1113 1114 1115 1116
          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
1117
      summary: Rollback a NS lifecycle management operation occurrence.
1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132
      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
1133 1134 1135 1136 1137 1138
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1139 1140
      responses:
        202:
1141
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty"
1142
        400:
1143
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
1144
        401:
1145
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
1146
        403:
1147
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
1148
        404:
1149
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
1150
        405:
1151
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
1152
        406:
1153
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
1154
        409:
1155
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
1156
        500:
1157
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
1158
        503:
1159
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
1160

1161 1162 1163
  ###############################################################################
  # Continue a NS lifecycle management operation occurrence.                    #
  ###############################################################################
1164 1165 1166 1167 1168 1169 1170 1171 1172
  '/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
1173
    post:
rameshnaraya's avatar
rameshnaraya committed
1174
      summary: Continue a NS lifecycle management operation occurrence.
1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187
      description: >
        The POST method initiates continuing an 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.13.3.1-1 and 6.4.13.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
1188 1189 1190 1191 1192 1193
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1194 1195
      responses:
        202:
1196
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty"
1197
        400:
1198
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
1199
        401:
1200
          $ref: "../responses/SOL005_resp.yaml#/responses/401"