NSLifecycleManagement.yaml 81.4 KB
Newer Older
1
2
swagger: "2.0"
info:
Giacomo Bernini's avatar
Giacomo Bernini committed
3
  version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:4"
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
  # API Versions                                                                #
  ###############################################################################
Giacomo Bernini's avatar
Giacomo Bernini committed
32
  '/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
            A NS Instance identifier has been created
            successfully.
87
88
89
90
91
            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
92
          schema:
93
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
94
          headers:
rameshnaraya's avatar
rameshnaraya committed
95
            Content-Type:
96
              type: string
rameshnaraya's avatar
rameshnaraya committed
97
98
99
100
              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.
101
            WWW-Authenticate:
102
              type: string
103
104
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
105
106
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
107
108
              maximum: 1
              minimum: 0
109
110
111
112
113
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
114
              minimum: 1
115
        400:
116
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
117
        401:
118
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
119
        403:
120
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
121
        404:
122
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
123
        405:
124
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
125
        406:
126
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
127
        409:
128
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
129
        416:
130
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
131
        500:
132
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
133
        503:
134
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
135
136
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
137
    get:
138
      summary: Query multiple NS instances.
139
      description: >
140
        Query NS Instances.
141

142
143
144
145
        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:
146
147
        - name: filter
          in: query
148
          required: false
149
          type: string
150
          description: >
151
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
152
153
            The NFVO shall support receiving this parameter as part of the URI
            query string. The OSS/BSS may supply this parameter.
154
            All attribute names that appear in the NsInstance and in data types
155
156
157
            referenced from it shall be supported by the NFVO in the filter expression.
        - name: all_fields
          in: query
158
          required: false
159
          type: string
160
          description: >
161
            Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details.
162
163
164
            The NFVO shall support this parameter.
        - name: fields
          in: query
165
          required: false
166
          type: string
167
          description: >
168
            "Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for
169
            details. The NFVO should support this parameter."          
170
171
        - name: exclude_fields
          in: query
172
          required: false
173
          type: string
174
          description: >
175
            "Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for
176
            details. The NFVO should support this parameter."
177
178
        - name: exclude_default
          in: query
179
          required: false
180
          type: string
181
          description: >
182
            "Indicates to exclude the following complex attributes from the response.
183
            See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter.
184
185
186
187
188
189
190
191
192
193
            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"
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
198
199
            if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of
            ETSI GS NFV-SOL 013 for this resource.
200
201
          required: false
          type: string
202
203
204
205
206
207
208
209
210
211
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        200:
          description: >
212
            200 OK
213

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

  ###############################################################################
  # Individual NS instance                                                      #
  ###############################################################################
282
283
284
285
286
287
288
289
290
  '/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
291
292
293
294
295
296
297
298
299
300
301
302
303
      - 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
304
    get:
rameshnaraya's avatar
rameshnaraya committed
305
      summary: Read an individual NS instance resource.
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
      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:
326
327
          description: >
            200 OK
328

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

376
    delete:
rameshnaraya's avatar
rameshnaraya committed
377
      summary: Delete NS instance resource.
378
379
      description: >
        Delete NS Identifier
380

381
382
383
384
385
        This method deletes an individual NS instance resource.
      responses:
        204:
          description: >
            204 No Content
386

387
388
389
390
391
            The NS instance resource and the associated NS
            identifier were deleted successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
392
              type: string
393
394
              description: >
                Challenge if the corresponding HTTP request has not provided
395
396
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
397
398
              maximum: 1
              minimum: 0
399
400
401
402
403
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
404
              minimum: 1
405
        400:
406
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
407
        401:
408
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
409
        403:
410
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
411
        404:
412
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
413
        405:
414
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
415
        406:
416
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
417
        409:
418
419
420
421
422
423
424
425
426
427
          description: >
            409 CONFLICT

            Error: The operation cannot be executed currently,
            due to a conflict with the state of the resource.
            Typically, this is due to the fact that the NS instance
            resource is in INSTANTIATED state.
            The response body shall contain a ProblemDetails
            structure, in which the "detail" attribute shall convey
            more information about the error.
428
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
429
        412:
430
          $ref: "../responses/SOL005_resp.yaml#/responses/412"
431
        500:
432
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
433
        503:
434
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
435
436
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
437

438
439
440
  ###############################################################################
  # Instantiate NS task                                                         #
  ###############################################################################
441
442
443
444
445
446
447
448
449
  '/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
450
    post:
rameshnaraya's avatar
rameshnaraya committed
451
      summary: Instantiate a NS.
452
453
454
      description: >
        The POST method requests to instantiate a NS instance resource.
      parameters:
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
        - 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
476
477
478
479
480
481
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
482
483
        - name: body
          in: body
484
485
          required: true
          schema:
486
487
488
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest"
          description: >
            Parameters for the instantiate NS operation, as defined in clause 6.5.2.10.
489
490
      responses:
        202:
491
492
493
494
495
496
497
498
499
500
501
          description: >
            202 ACCEPTED

            The request has been accepted for processing, but
            the processing has not been completed.
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
            "NS LCM operation occurrence" resource
            corresponding to the operation.
          $ref: "../responses/SOL005_resp.yaml#/responses/202"
502
        400:
503
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
504
        401:
505
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
506
        403:
507
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
508
        404:
509
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
510
        405:
511
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
512
        406:
513
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
514
        409:
515
516
517
518
519
520
521
522
523
524
525
          description: >
            409 CONFLICT

            Error: The operation cannot be executed currently,
            due to a conflict with the state of the resource.
            Typically, this is due to the fact that the NS instance
            resource is in the INSTANTIATED state, or that
            another lifecycle management operation is ongoing.
            The response body shall contain a ProblemDetails
            structure, in which the "detail" attribute shall convey
            more information about the error.
526
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
527
        416:
528
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
529
        500:
530
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
531
        503:
532
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
533
534
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
535
536
537
538

  ###############################################################################
  # Scale NS task                                                               #
  ###############################################################################
539
540
541
542
543
544
545
546
547
  '/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
548
    post:
rameshnaraya's avatar
rameshnaraya committed
549
      summary: Scale a NS instance.
550
551
      description: >
        The POST method requests to scale a NS instance resource.
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
      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
574
575
576
577
578
579
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
580
581
        - name: body
          in: body
582
583
          required: true
          schema:
584
585
586
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest"
          description: >
            Parameters for the scale NS operation, as defined in clause 6.5.2.13.
587
588
      responses:
        202:
589
590
591
592
593
594
595
596
597
598
599
          description: >
            202 ACCEPTED

            The request has been accepted for processing, but
            the processing has not been completed.
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
            "NS lifecycle operation occurrence" resource
            corresponding to the operation.
          $ref: "../responses/SOL005_resp.yaml#/responses/202"
600
        400:
601
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
602
        401:
603
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
604
        403:
605
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
606
        404:
607
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
608
        405:
609
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
610
        406:
611
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
612
        409:
613
614
615
616
617
618
619
620
621
622
623
          description: >
            409 CONFLICT

            Error: The operation cannot be executed currently,
            due to a conflict with the state of the resource.
            Typically, this is due to the fact that the NS instance
            resource is in NOT_INSTANTIATED state, or that
            another lifecycle management operation is ongoing.
            The response body shall contain a ProblemDetails
            structure, in which the "detail" attribute shall convey
            more information about the error.
624
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
625
        500:
626
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
627
        503:
628
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
629
630
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
631
632
633
634

  ###############################################################################
  # Update NS task                                                              #
  ###############################################################################
635
636
637
638
639
640
641
642
643
  '/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
644
    post:
rameshnaraya's avatar
rameshnaraya committed
645
      summary: Updates a NS instance.
646
647
648
      description: >
        Scale NS instance.
        The POST method requests to scale a NS instance resource.
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
      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
671
672
673
674
675
676
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
677
678
        - name: body
          in: body
679
680
          required: true
          schema:
681
682
683
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest"
          description: >
            Parameters for the update NS operation, as defined in clause 6.5.2.11.
684
685
      responses:
        202:
686
687
688
689
690
691
692
693
694
695
696
          description: >
            202 ACCEPTED

            The request has been accepted for processing, but
            the processing has not been completed.
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
            "NS lifecycle operation occurrence" resource
            corresponding to the operation.
          $ref: "../responses/SOL005_resp.yaml#/responses/202"
697
        400:
698
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
699
        401:
700
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
701
        403:
702
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
703
        404:
704
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
705
        405:
706
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
707
        406:
708
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
709
        409:
710
711
712
713
714
715
716
717
718
719
720
          description: >
            409 CONFLICT

            Error: The operation cannot be executed currently,
            due to a conflict with the state of the resource.
            Typically, this is due to the fact that the NS instance
            resource is in NOT_INSTANTIATED state, or that
            another lifecycle management operation is ongoing.
            The response body shall contain a ProblemDetails
            structure, in which the "detail" attribute shall convey
            more information about the error.
721
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
722
        500:
723
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
724
        503:
725
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
726
727
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
728
729
730
731

  ###############################################################################
  # Heal NS task                                                                #
  ###############################################################################
732
733
  '/ns_instances/{nsInstanceId}/heal':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.7
734
735
736
    parameters:
      - name: nsInstanceId
        description: >
737
          Identifier of the NS instance to be healed.
738
739
740
741
        in: path
        type: string
        required: true
    post:
742
743
      summary: Heal a NS instance.
      description: >
744
745
746
747
        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.
748
      parameters:
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
        - 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
770
771
772
773
774
775
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
776
777
        - name: body
          in: body
778
779
          required: true
          schema:
780
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/HealNsRequest"
781
782
          description: >
            Parameters for the heal NS operation, as defined in clause 6.5.2.12.
783
784
      responses:
        202:
785
786
787
788
789
790
791
792
793
794
795
          description: >
            202 ACCEPTED

            The request has been accepted for processing, but
            the processing has not been completed.
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
            "NS lifecycle operation occurrence" resource
            corresponding to the operation.
          $ref: "../responses/SOL005_resp.yaml#/responses/202"
796
        400:
797
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
798
        401:
799
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
800
        403:
801
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
802
        404:
803
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
804
        405:
805
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
806
        406:
807
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
808
        409:
809
810
811
812
813
814
815
816
817
818
819
          description: >
            409 CONFLICT

            Error: The operation cannot be executed currently,
            due to a conflict with the state of the resource.
            Typically, this is due to the fact that the NS instance
            resource is in NOT_INSTANTIATED state, or that
            another lifecycle management operation is ongoing.
            The response body shall contain a ProblemDetails
            structure, in which the "detail" attribute shall convey
            more information about the error.
820
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
821
        500:
822
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
823
        503:
824
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
825
826
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
827

828
829
830
  ###############################################################################
  # Terminate NS task                                                           #
  ###############################################################################
831
832
  '/ns_instances/{nsInstanceId}/terminate':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.8
833
834
835
    parameters:
      - name: nsInstanceId
        description: >
836
          The identifier of the NS instance to be terminated.
837
838
839
840
        in: path
        type: string
        required: true
    post:
841
842
843
844
845
846
847
848
849
850
      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.
851
      parameters:
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
        - 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
873
874
875
876
877
878
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
879
880
        - name: body
          in: body
881
882
          required: true
          schema:
883
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest"
884
885
          description: >
            The terminate NS request parameters, as defined in  clause 6.5.2.14.
886
887
      responses:
        202:
888
889
890
891
892
893
894
895
896
897
898
          description: >
            202 ACCEPTED

            Shall be returned when the request has been
            accepted for processing.
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
            "NS lifecycle operation occurrence" resource
            corresponding to the operation.
          $ref: "../responses/SOL005_resp.yaml#/responses/202"
899
        400:
900
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
901
        401:
902
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
903
        403:
904
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
905
        404:
906
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
907
        405:
908
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
909
        406:
910
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
911
        409:
912
913
914
915
916
917
918
919
920
921
922
          description: >
            409 CONFLICT

            Error: The operation cannot be executed currently,
            due to a conflict with the state of the resource.
            Typically, this is due to the fact that the NS instance
            resource is in NOT_INSTANTIATED state, or that
            another lifecycle management operation is ongoing.
            The response body shall contain a ProblemDetails
            structure, in which the "detail" attribute shall convey
            more information about the error.
923
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
924
        500:
925
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
926
        503:
927
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
928
929
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
930

931
932
933
  ###############################################################################
  # NS LCM operation occurrences                                                #
  ###############################################################################
934
935
936
  '/ns_lcm_op_occs':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.9
    get:
rameshnaraya's avatar
rameshnaraya committed
937
      summary: Query multiple NS LCM operation occurrences.
938
      description: >
939
        Get Operation Status.
940
941
942
943
944
        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:
945
946
        - name: filter
          in: query
947
          required: false
948
          type: string
949
          description: >
950
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013.
951
952
            The NFVO shall support receiving this parameter as part of the URI query string.
            The OSS/BSS may supply this parameter.
953
            All attribute names that appear in the NsLcmOpOcc and in data types referenced
954
            from it shall be supported by the NFVO in the filter expression.
955
956
        - name: fields
          in: query
957
          required: false
958
          type: string
959
          description: >
960
            Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The