NSLifecycleManagement.yaml 88.4 KB
Newer Older
1
2
swagger: "2.0"
info:
3
  version: "1.3.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.7.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.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                                                                #
  ###############################################################################
32
  '/api_versions':
33
34
    $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions'

35
  ###############################################################################
36
37
  # NSInstances                                                                 #
  ###############################################################################
38
  '/ns_instances':
39
    #ETSI GS NFV-SOL 005 V2.7.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
      description: >
        The POST method creates a new NS instance resource.
58
59
60
61
        As the result of successfully executing this method, a new "Individual NS instance" resource as defined in clause 6.4.3
        shall have been created, and the value of the "instantiationState" attribute in the representation of that resource shall be
        "NOT_INSTANTIATED". A notification of type NsIdentifierCreationNotification shall be triggered as part of
        successfully executing this method as defined in clause 6.5.2.6.
62
63
64
65
66
67
68
69
70
71
72
73
74
75
      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
76
          type: string
77
78
        - name: body
          in: body
rameshnaraya's avatar
rameshnaraya committed
79
80
          required: true
          schema:
81
82
83
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CreateNsRequest"
          description: >
            The NS creation parameters, as defined in clause 6.5.2.7.
84
      responses:
85
        201:
86
87
          description: >
            201 Created
88

89
90
91
            Shall be returned when a new "Individual NS
            instance" resource and the associated NS instance
            identifier has been created successfully.
92
            The response body shall contain a representation of
93
94
            the created NS instance, as defined in
            clause 6.5.2.10.
95
96
97
            The HTTP response shall include a "Location" HTTP
            header that contains the resource URI of the created
            NS instance.
rameshnaraya's avatar
rameshnaraya committed
98
          schema:
99
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
100
          headers:
rameshnaraya's avatar
rameshnaraya committed
101
            Content-Type:
102
              type: string
rameshnaraya's avatar
rameshnaraya committed
103
104
105
106
              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.
107
            WWW-Authenticate:
108
              type: string
109
110
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
111
112
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
113
114
              maximum: 1
              minimum: 0
115
116
117
118
119
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
120
              minimum: 1
121
        400:
122
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
123
        401:
124
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
125
        403:
126
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
127
        404:
128
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
129
        405:
130
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
131
        406:
132
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
133
        409:
134
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
135
        416:
136
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
137
        500:
138
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
139
        503:
140
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
141
142
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
143
    get:
144
      summary: Query multiple NS instances.
145
      description: >
146
        Query NS Instances.
147

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

220
221
            Shall be returned when information about zero or
            more NS instances has been queried successfully.
222
223
224
            The response body shall contain in an array the
            representations of zero or more NS instances, as
            defined in clause 6.5.2.8.
225
226
227
228
229
230
231
            If the "filter" URI parameter or one of the "all_fields",
            "fields" (if supported), "exclude_fields" (if supported)
            or "exclude_default" URI parameters was supplied in
            the request, the data in the response body shall have
            been transformed according to the rules specified in
            clauses 5.2.2 and 5.3.2 of ETSI
            GS NFV-SOL 013 [16], respectively.
232
            If the NFVO supports alternative 2 (paging)
233
234
235
236
237
            according to clause 5.4.2.1 of ETSI
            GS NFV-SOL 013 [16] 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 [16].
238
239
240
241
242
243
244
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
245
              type: string
246
247
              description: >
                Challenge if the corresponding HTTP request has not provided
248
249
250
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
251
              minimum: 0
252
253
254
255
256
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
257
              minimum: 1
258
259
260
261
262
263
            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
264
265
266
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
267
268
              properties:
                NsInstance:
269
                  $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
270
        400:
271
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
272
        401:
273
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
274
        403:
275
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
276
        404:
277
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
278
        405:
279
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
280
        406:
281
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
282
        409:
283
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
284
        416:
285
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
286
        500:
287
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
288
        503:
289
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
290
291
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
292
293
294
295

  ###############################################################################
  # Individual NS instance                                                      #
  ###############################################################################
296
  '/ns_instances/{nsInstanceId}':
297
    #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.3
298
299
300
301
302
303
304
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance.
        in: path
        type: string
        required: true
305
306
307
308
309
310
311
312
313
314
315
316
317
      - 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
318
    get:
rameshnaraya's avatar
rameshnaraya committed
319
      summary: Read an individual NS instance resource.
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
      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:
340
341
          description: >
            200 OK
342

343
344
345
346
            Shall be returned when information about an
            individual NS instance has been read successfully.
            The response body shall contain a representation of
            the NS instance, as defined in clause 6.5.2.10.
rameshnaraya's avatar
rameshnaraya committed
347
          schema:
348
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
349
350
          headers:
            Content-Type:
351
              type: string
rameshnaraya's avatar
rameshnaraya committed
352
353
354
              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.
355
              maximum: 1
356
              minimum: 1
357
            WWW-Authenticate:
358
              type: string
359
360
              description: >
                Challenge if the corresponding HTTP request has not provided
rameshnaraya's avatar
rameshnaraya committed
361
                authorization, or error details if the corresponding HTTP request
362
                has provided an invalid authorization token.
363
364
              maximum: 1
              minimum: 0
365
366
367
368
369
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
370
              minimum: 1
371
        400:
372
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
373
        401:
374
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
375
        403:
376
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
377
        404:
378
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
379
        405:
380
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
381
        406:
382
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
383
        416:
384
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
385
        500:
386
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
387
        503:
388
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
389
390
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
391

392
    delete:
rameshnaraya's avatar
rameshnaraya committed
393
      summary: Delete NS instance resource.
394
395
      description: >
        Delete NS Identifier
396

397
        This method deletes an individual NS instance resource.
398
399
400
        As the result of successfully executing this method, the "Individual NS instance" resource shall not exist any longer.
        A notification of type "NsIdentifierDeletionNotification" shall be triggered as part of successfully executing this method
        as defined in clause 6.5.2.7.
401
402
403
404
      responses:
        204:
          description: >
            204 No Content
405

406
407
408
            Shall be returned when the "Individual NS instance"
            resource and the associated NS identifier have been
            deleted successfully.
409
410
411
            The response body shall be empty.
          headers:
            WWW-Authenticate:
412
              type: string
413
414
              description: >
                Challenge if the corresponding HTTP request has not provided
415
416
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
417
418
              maximum: 1
              minimum: 0
419
420
421
422
423
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
424
              minimum: 1
425
        400:
426
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
427
        401:
428
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
429
        403:
430
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
431
        404:
432
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
433
        405:
434
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
435
        406:
436
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
437
        409:
438
439
440
          description: >
            409 CONFLICT

441
442
443
            Shall be returned upon the following error: The
            operation cannot be executed currently, due to a
            conflict with the state of the resource.
444
445
446
447
448
            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.
449
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
450
        412:
451
          $ref: "../responses/SOL005_resp.yaml#/responses/412"
452
        500:
453
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
454
        503:
455
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
456
457
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
458

459
460
461
  ###############################################################################
  # Instantiate NS task                                                         #
  ###############################################################################
462
  '/ns_instances/{nsInstanceId}/instantiate':
463
    #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.4
464
465
466
467
468
469
470
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be instantiated.
        in: path
        type: string
        required: true
471
    post:
rameshnaraya's avatar
rameshnaraya committed
472
      summary: Instantiate a NS.
473
474
      description: >
        The POST method requests to instantiate a NS instance resource.
475
476
477
        The steps and conditions that apply as the result of successfully executing this method are specified in clause 6.4.1.2.
        In addition, once the NFVO has successfully completed the underlying NS LCM operation occurrence, it shall set the
        "nsState" attribute to the value "INSTANTIATED" in the representation of the "Individual NS instance" resource.
478
      parameters:
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
        - 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
500
501
502
503
504
505
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
506
507
        - name: body
          in: body
508
509
          required: true
          schema:
510
511
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest"
          description: >
512
513
            Parameters for the instantiate NS operation, as defined in
            clause 6.5.2.11.
514
515
      responses:
        202:
516
517
518
          description: >
            202 ACCEPTED

519
520
521
            Shall be returned when the request has been
            accepted for processing, but the processing has not
            been completed.
522
523
524
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
525
            "Individual NS LCM operation occurrence" resource
526
527
            corresponding to the operation.
          $ref: "../responses/SOL005_resp.yaml#/responses/202"
528
        400:
529
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
530
        401:
531
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
532
        403:
533
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
534
        404:
535
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
536
        405:
537
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
538
        406:
539
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
540
        409:
541
542
543
          description: >
            409 CONFLICT

544
545
546
            Shall be returned upon the following error: The
            operation cannot be executed currently, due to a
            conflict with the state of the resource.
547
548
549
550
551
552
            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.
553
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
554
        416:
555
          $ref: "../responses/SOL005_resp.yaml#/responses/416"
556
        500:
557
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
558
        503:
559
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
560
561
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
562
563
564
565

  ###############################################################################
  # Scale NS task                                                               #
  ###############################################################################
566
  '/ns_instances/{nsInstanceId}/scale':
567
    #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.5
568
569
570
571
572
573
574
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be scaled.
        in: path
        type: string
        required: true
575
    post:
rameshnaraya's avatar
rameshnaraya committed
576
      summary: Scale a NS instance.
577
578
      description: >
        The POST method requests to scale a NS instance resource.
579
580
581
582
        The steps and conditions that apply as the result of successfully executing this method are specified in clause 6.4.1.2.
        In addition, once the NFVO has successfully completed the underlying NS LCM operation occurrence, it shall reflect
        the result of scaling the NS instance by updating the "nsScaleStatus" attribute in the representation of the "Individual
        NS instance" resource.
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
      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
605
606
607
608
609
610
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
611
612
        - name: body
          in: body
613
614
          required: true
          schema:
615
616
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest"
          description: >
617
618
            Parameters for the scale NS operation, as defined in
            clause 6.5.2.14.
619
620
      responses:
        202:
621
622
623
          description: >
            202 ACCEPTED

624
625
626
            Shall be returned when the request has been
            accepted for processing, but the processing has not
            been completed.
627
628
629
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
630
631
            "Individual NS lifecycle operation occurrence"
            resource corresponding to the operation.
632
          $ref: "../responses/SOL005_resp.yaml#/responses/202"
633
        400:
634
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
635
        401:
636
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
637
        403:
638
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
639
        404:
640
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
641
        405:
642
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
643
        406:
644
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
645
        409:
646
647
648
          description: >
            409 CONFLICT

649
650
651
            Shall be returned upon the following error: The
            operation cannot be executed currently, due to a
            conflict with the state of the resource.
652
653
654
655
656
657
            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.
658
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
659
        500:
660
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
661
        503:
662
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
663
664
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
665
666
667
668

  ###############################################################################
  # Update NS task                                                              #
  ###############################################################################
669
  '/ns_instances/{nsInstanceId}/update':
670
    #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.6
671
672
673
674
675
676
677
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be updated.
        in: path
        type: string
        required: true
678
    post:
rameshnaraya's avatar
rameshnaraya committed
679
      summary: Updates a NS instance.
680
      description: >
681
        The POST method updates an NS instance.
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
      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
704
705
706
707
708
709
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
710
711
        - name: body
          in: body
712
713
          required: true
          schema:
714
715
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest"
          description: >
716
            Parameters for the update NS operation, as defined in clause 6.5.2.12.
717
718
      responses:
        202:
719
720
721
          description: >
            202 ACCEPTED

722
723
724
            Shall be returned when the request has been
            accepted for processing, but the processing has not
            been completed.
725
726
727
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
728
729
            "Individual NS lifecycle operation occurrence"
            resource corresponding to the operation.
730
          $ref: "../responses/SOL005_resp.yaml#/responses/202"
731
        400:
732
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
733
        401:
734
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
735
        403:
736
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
737
        404:
738
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
739
        405:
740
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
741
        406:
742
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
743
        409:
744
745
746
          description: >
            409 CONFLICT

747
748
749
            Shall be returned upon the following error: The
            operation cannot be executed currently, due to a
            conflict with the state of the resource.
750
751
752
753
754
755
            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.
756
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
757
        500:
758
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
759
        503:
760
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
761
762
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
763
764
765
766

  ###############################################################################
  # Heal NS task                                                                #
  ###############################################################################
767
  '/ns_instances/{nsInstanceId}/heal':
768
    #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.7
769
770
771
    parameters:
      - name: nsInstanceId
        description: >
772
          Identifier of the NS instance to be healed.
773
774
775
776
        in: path
        type: string
        required: true
    post:
777
778
      summary: Heal a NS instance.
      description: >
779
780
        The POST method requests to heal an NS instance.
        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,
781
        request and response data structures, and response codes.
782
        The steps and conditions that apply as the result of successfully executing this method are specified in clause 6.4.1.2.
783
      parameters:
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
        - 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
805
806
807
808
809
810
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
811
812
        - name: body
          in: body
813
814
          required: true
          schema:
815
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/HealNsRequest"
816
          description: >
817
            Parameters for the heal NS operation, as defined in clause 6.5.2.13.
818
819
      responses:
        202:
820
821
822
          description: >
            202 ACCEPTED

823
824
825
            Shall be returned when the request has been
            accepted for processing, but the processing has not
            been completed.
826
827
828
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
829
830
            "Individual NS lifecycle operation occurrence"
            resource corresponding to the operation.
831
          $ref: "../responses/SOL005_resp.yaml#/responses/202"
832
        400:
833
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
834
        401:
835
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
836
        403:
837
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
838
        404:
839
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
840
        405:
841
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
842
        406:
843
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
844
        409:
845
846
847
          description: >
            409 CONFLICT

848
849
850
            Shall be returned upon the following error: The
            operation cannot be executed currently, due to a
            conflict with the state of the resource.
851
852
853
854
855
856
            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.
857
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
858
        500:
859
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
860
        503:
861
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
862
863
        504:
          $ref: "../responses/SOL005_resp.yaml#/responses/504"
864

865
866
867
  ###############################################################################
  # Terminate NS task                                                           #
  ###############################################################################
868
  '/ns_instances/{nsInstanceId}/terminate':
869
    #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.8
870
871
872
    parameters:
      - name: nsInstanceId
        description: >
873
          The identifier of the NS instance to be terminated.
874
875
876
877
        in: path
        type: string
        required: true
    post:
878
879
880
      summary: Terminate a NS instance.
      description: >
        Terminate NS task.  
881
882
883
884
885
886
887
888
        The POST method terminates an NS instance.
        This method shall follow the provisions specified in the Tables 6.4.8.3.1-1 and 6.4.8.3.1-2 for URI query parameters,
        request and response data structures, and response codes.
        The steps and conditions that apply as the result of successfully executing this method are specified in clause 6.4.1.2.
        In addition, once the NFVO has successfully completed the underlying NS LCM operation occurrence, it shall set the
        "nsState" attribute in the representation of the "Individual NS instance" resource to the value "NOT_INSTANTIATED".
        This method can only be used with an NS instance in the INSTANTIATED state. Terminating an NS instance does not
        delete the NS instance identifier, but rather transitions the NS into the NOT_INSTANTIATED state.
889
      parameters:
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
        - 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
911
912
913
914
915
916
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
917
918
        - name: body
          in: body
919
920
          required: true
          schema:
921
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest"
922
          description: >
923
            The terminate NS request parameters, as defined in  clause 6.5.2.15.
924
925
      responses:
        202:
926
927
928
929
930
931
932
933
934
935
936
          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"
937
        400:
938
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
939
        401:
940
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
941
        403:
942
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
943
        404:
944
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
945
        405:
946
          $ref: "../responses/SOL005_resp.yaml#/responses/405"