NSLifecycleManagement.yaml 65.5 KB
Newer Older
1
2
swagger: "2.0"
info:
3
  version: "1.1.0"
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.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.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
86
87
88
89
90
            A NS Instance identifier was created successfully.
            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 4.3.2.
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
159
160
161
            Include all complex attributes in the response. See clause 4.3.3 for details.
            The NFVO shall support this parameter.
        - name: fields
          in: query
162
          required: false
163
          type: string
164
          description: >
165
166
            "Complex attributes to be included into the response. See clause 4.3.3 for
            details. The NFVO should support this parameter."          
167
168
        - name: exclude_fields
          in: query
169
          required: false
170
          type: string
171
          description: >
172
173
            "Complex attributes to be excluded from the response. See clause 4.3.3 for
            details. The NFVO should support this parameter."
174
175
        - name: exclude_default
          in: query
176
          required: false
177
          type: string
178
          description: >
179
180
181
182
183
184
185
186
187
188
189
190
            "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 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
195
196
197
        - 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
198
199
200
201
202
203
204
205
206
207
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        200:
          description: >
208
            200 OK
209

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

  ###############################################################################
  # Individual NS instance                                                      #
  ###############################################################################
272
273
274
275
276
277
278
279
280
  '/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
281
282
283
284
285
286
287
288
289
290
291
292
293
      - 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
294
    get:
rameshnaraya's avatar
rameshnaraya committed
295
      summary: Read an individual NS instance resource.
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
      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:
316
317
          description: >
            200 OK
318

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

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

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

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

416
417
418
  ###############################################################################
  # Instantiate NS task                                                         #
  ###############################################################################
419
420
421
422
423
424
425
426
427
  '/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
428
    post:
rameshnaraya's avatar
rameshnaraya committed
429
      summary: Instantiate a NS.
430
431
432
      description: >
        The POST method requests to instantiate a NS instance resource.
      parameters:
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
        - 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
454
455
456
457
458
459
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
460
461
        - name: body
          in: body
462
463
          required: true
          schema:
464
465
466
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest"
          description: >
            Parameters for the instantiate NS operation, as defined in clause 6.5.2.10.
467
468
      responses:
        202:
469
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
470
        400:
471
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
472
        401:
473
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
474
        403:
475
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
476
        404:
477
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
478
        405:
479
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
480
        406:
481
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
482
        409:
483
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
484
        416:
485
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
486
        500:
487
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
488
        503:
489
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
490
491
492
493

  ###############################################################################
  # Scale NS task                                                               #
  ###############################################################################
494
495
496
497
498
499
500
501
502
  '/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
503
    post:
rameshnaraya's avatar
rameshnaraya committed
504
      summary: Scale a NS instance.
505
506
      description: >
        The POST method requests to scale a NS instance resource.
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
      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
529
530
531
532
533
534
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
535
536
        - name: body
          in: body
537
538
          required: true
          schema:
539
540
541
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest"
          description: >
            Parameters for the scale NS operation, as defined in clause 6.5.2.13.
542
543
      responses:
        202:
544
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
545
        400:
546
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
547
        401:
548
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
549
        403:
550
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
551
        404:
552
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
553
        405:
554
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
555
        406:
556
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
557
        409:
558
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
559
        500:
560
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
561
        503:
562
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
563
564
565
566

  ###############################################################################
  # Update NS task                                                              #
  ###############################################################################
567
568
569
570
571
572
573
574
575
  '/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
576
    post:
rameshnaraya's avatar
rameshnaraya committed
577
      summary: Updates a NS instance.
578
579
580
      description: >
        Scale NS instance.
        The POST method requests to scale a NS instance resource.
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
      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
603
604
605
606
607
608
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
609
610
        - name: body
          in: body
611
612
          required: true
          schema:
613
614
615
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest"
          description: >
            Parameters for the update NS operation, as defined in clause 6.5.2.11.
616
617
      responses:
        202:
618
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
619
        400:
620
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
621
        401:
622
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
623
        403:
624
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
625
        404:
626
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
627
        405:
628
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
629
        406:
630
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
631
        409:
632
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
633
        500:
634
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
635
        503:
636
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
637
638
639
640

  ###############################################################################
  # Heal NS task                                                                #
  ###############################################################################
641
642
  '/ns_instances/{nsInstanceId}/heal':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.7
643
644
645
    parameters:
      - name: nsInstanceId
        description: >
646
          Identifier of the NS instance to be healed.
647
648
649
650
        in: path
        type: string
        required: true
    post:
651
652
      summary: Heal a NS instance.
      description: >
653
654
655
656
        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.
657
      parameters:
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
        - 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
679
680
681
682
683
684
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
685
686
        - name: body
          in: body
687
688
          required: true
          schema:
689
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/HealNsRequest"
690
691
          description: >
            Parameters for the heal NS operation, as defined in clause 6.5.2.12.
692
693
      responses:
        202:
694
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
695
        400:
696
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
697
        401:
698
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
699
        403:
700
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
701
        404:
702
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
703
        405:
704
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
705
        406:
706
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
707
        409:
708
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
709
        500:
710
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
711
        503:
712
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
713

714
715
716
  ###############################################################################
  # Terminate NS task                                                           #
  ###############################################################################
717
718
  '/ns_instances/{nsInstanceId}/terminate':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.8
719
720
721
    parameters:
      - name: nsInstanceId
        description: >
722
          The identifier of the NS instance to be terminated.
723
724
725
726
        in: path
        type: string
        required: true
    post:
727
728
729
730
731
732
733
734
735
736
      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.
737
      parameters:
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
        - 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
759
760
761
762
763
764
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
765
766
        - name: body
          in: body
767
768
          required: true
          schema:
769
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest"
770
771
          description: >
            The terminate NS request parameters, as defined in  clause 6.5.2.14.
772
773
      responses:
        202:
774
          $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location"
775
        400:
776
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
777
        401:
778
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
779
        403:
780
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
781
        404:
782
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
783
        405:
784
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
785
        406:
786
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
787
        409:
788
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
789
        500:
790
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
791
        503:
792
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
793

794
795
796
  ###############################################################################
  # NS LCM operation occurrences                                                #
  ###############################################################################
797
798
799
  '/ns_lcm_op_occs':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.9
    get:
rameshnaraya's avatar
rameshnaraya committed
800
      summary: Query multiple NS LCM operation occurrences.
801
      description: >
802
        Get Operation Status.
803
804
805
806
807
        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:
808
809
        - name: filter
          in: query
810
          required: false
811
          type: string
812
          description: >
813
814
815
            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.
816
            All attribute names that appear in the NsLcmOpOcc and in data types referenced
817
            from it shall be supported by the NFVO in the filter expression.
818
819
        - name: fields
          in: query
820
          required: false
821
          type: string
822
          description: >
823
824
            Complex attributes to be included into the response. See clause 4.3.3 for details. The
            NFVO should support this parameter.
825
826
        - name: exclude_fields
          in: query
827
          required: false
828
          type: string
829
          description: >
830
831
            Complex attributes to be excluded from the response. See clause 4.3.3 for details.
            The NFVO should support this parameter.
832
833
        - name: exclude_default
          in: query
834
          required: false
835
          type: string
836
          description: >
837
838
839
840
841
842
843
844
            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
845
846
847
848
849
850
851
        - 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
852
853
854
855
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
856
857
858
          in: header
          required: true
          type: string
859
860
861
862
863
864
865
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
866
867
868
869
870
871
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
872
873
874
      responses:
        200:
          description: >
875
            200 OK
876

877
878
879
880
881
882
883
            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.
884
885
886
887
888
889
890
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
891
              type: string
892
893
              description: >
                Challenge if the corresponding HTTP request has not provided
894
895
896
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
897
              minimum: 0
898
899
900
901
902
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
903
              minimum: 1
904
905
906
907
908
909
            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
910
911
912
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
913
914
              properties:
                NsLcmOpOcc:
915
                  $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc"
916
        400:
917
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
918
        401:
919
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
920
        403:
921
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
922
        404:
923
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
924
        405:
925
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
926
        406:
927
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
928
        409:
929
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
930
        500:
931
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
932
        503:
933
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
934

935
936
937
  ###############################################################################
  # Individual NS lifecycle operation occurrence                                #
  ###############################################################################
938
  '/ns_lcm_op_occs/{nsLcmOpOccId}':
939
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.10