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