NSLifecycleManagement.yaml 65.1 KB
Newer Older
1
2
openapi: 3.0.2

3
info:
4
5
6
7
8
9
10
11
  title: SOL005 - NS Lifecycle Management Interface
  description: |
    SOL005 - NS Lifecycle Management Interface 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
  contact:
    name: NFV-SOL WG
12
  license:
13
    name: ETSI Forge copyright notice
14
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
15
16
  version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

17
externalDocs:
18
  description: ETSI GS NFV-SOL 005 V3.3.1
19
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.pdf
20
21
22
23
24

servers:
  - url: http://127.0.0.1/nslcm/v1
  - url: https://127.0.0.1/nslcm/v1

25
paths:
26
  '/api_versions':
27
    $ref: ../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions
28

29
  /ns_instances:
30
    parameters:
31
32
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
33
    get:
34
      summary: Query multiple NS instances.
35
      description: |
36
        Query NS Instances.
37
38
        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.
39
      parameters:
40
41
42
43
44
45
46
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_default
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
47
      responses:
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
        "200":
          $ref: '#/components/responses/NsInstances.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
72

73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
    post:
      summary: Create a NS instance resource.
      description: |
        The POST method creates a new NS instance resource. 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.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceCreateRequest'
      responses:
        "201":
          $ref: '#/components/responses/NsInstances.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
111

112
  /ns_instances/{nsInstanceId}:
113
    parameters:
114
115
116
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
117
    get:
rameshnaraya's avatar
rameshnaraya committed
118
      summary: Read an individual NS instance resource.
119
120
      description: |
        The GET method retrieves information about a NS instance by  reading an individual NS instance resource.
121
      parameters:
122
123
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
124
      responses:
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
        "200":
          $ref: '#/components/responses/IndividualNsInstance.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
147

148
    delete:
rameshnaraya's avatar
rameshnaraya committed
149
      summary: Delete NS instance resource.
150
      description: |
151
        Delete NS Identifier
152
153
154
        This method deletes an individual NS instance resource. 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.
155
      responses:
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
        "204":
          $ref: '#/components/responses/IndividualNsInstance.Delete'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "412":
          $ref: ../responses/SOL005_resp.yaml#/responses/412
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
180

181
  /ns_instances/{nsInstanceId}/instantiate:
182
    parameters:
183
184
185
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
186
    post:
rameshnaraya's avatar
rameshnaraya committed
187
      summary: Instantiate a NS.
188
189
190
191
192
      description: |
        The POST method requests to instantiate a NS instance resource. 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.
193
      parameters:
194
195
196
197
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceInstantiateRequest'
198
      responses:
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
        "202":
          $ref: '#/components/responses/InstantiateNsInstance.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
223

224
  /ns_instances/{nsInstanceId}/scale:
225
    parameters:
226
227
228
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
229
    post:
rameshnaraya's avatar
rameshnaraya committed
230
      summary: Scale a NS instance.
231
232
233
234
235
      description: |
        The POST method requests to scale a NS instance resource. 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.
236
      parameters:
237
238
239
240
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceScaleRequest'
241
      responses:
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
        "202":
          $ref: '#/components/responses/ScaleNsInstance.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
266

267
  /ns_instances/{nsInstanceId}/update:
268
    parameters:
269
270
271
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
272
    post:
rameshnaraya's avatar
rameshnaraya committed
273
      summary: Updates a NS instance.
274
      description: |
275
        The POST method updates an NS instance.
276
      parameters:
277
278
279
280
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceUpdateRequest'
281
      responses:
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
        "202":
          $ref: '#/components/responses/UpdateNsInstance.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
306

307
  /ns_instances/{nsInstanceId}/heal:
308
    parameters:
309
310
311
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
312
    post:
313
      summary: Heal a NS instance.
314
315
316
317
318
      description: |
        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, 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.
319
      parameters:
320
321
322
323
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceHealRequest'
324
      responses:
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
        "202":
          $ref: '#/components/responses/HealNsInstance.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
349

350
  /ns_instances/{nsInstanceId}/terminate:
351
    parameters:
352
353
354
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
355
    post:
356
      summary: Terminate a NS instance.
357
358
359
360
361
362
363
364
365
      description: |
        Terminate NS task.   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.
366
      parameters:
367
368
369
370
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceTerminateRequest'
371
      responses:
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
        "202":
          $ref: '#/components/responses/TerminateNsInstance.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
396

397
398
399
400
  /ns_lcm_op_occs:
    parameters:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
401
    get:
rameshnaraya's avatar
rameshnaraya committed
402
      summary: Query multiple NS LCM operation occurrences.
403
404
405
406
407
      description: |
        Get Operation Status. Shall be returned upon the following 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.
408
      parameters:
409
410
411
412
413
414
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_default
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
415
      responses:
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
        "200":
          $ref: '#/components/responses/NsLcmOpOccs.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
436

437
  /ns_lcm_op_occs/{nsLcmOpOccId}:
438
    parameters:
439
440
441
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
442
    get:
rameshnaraya's avatar
rameshnaraya committed
443
      summary: Read an individual NS LCM operation occurrence resource.
444
445
446
447
448
      description: |
        The API consumer can use this method to read status information about a NS lifecycle management operation
        occurrence by reading an individual "NS LCM operation occurrence" resource. This method shall follow the provisions
        specified in the Tables 6.4.10.3.2-1 and 6.4.10.3.2-2 for URI query parameters, request and response data structures,
        and response codes.
449
      parameters:
450
451
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
452
      responses:
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
        "200":
          $ref: '#/components/responses/IndividualNsLcmOpOcc.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
475

476
  /ns_lcm_op_occs/{nsLcmOpOccId}/retry:
477
    parameters:
478
479
480
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
481
    post:
rameshnaraya's avatar
rameshnaraya committed
482
      summary: Retry a NS lifecycle management operation occurrence.
483
484
485
486
487
      description: |
        The POST method initiates retrying a NS lifecycle management operation  if that operation has experienced a
        temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall
        follow the provisions specified in the  Tables 6.4.11.3.1-1 and 6.4.11.3.1-2 for URI query parameters, request
        and response data structures, and response codes.
488
      responses:
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
        "202":
          $ref: '#/components/responses/NsLcmOpOccRetry.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
513

514
  /ns_lcm_op_occs/{nsLcmOpOccId}/rollback:
515
    parameters:
516
517
518
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
519
    post:
rameshnaraya's avatar
rameshnaraya committed
520
      summary: Rollback a NS lifecycle management operation occurrence.
521
522
523
524
525
      description: |
        The POST method initiates rolling back a NS lifecycle operation  if that operation has experienced a temporary
        failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall follow the
        provisions specified in the  Tables 6.4.12.3.1-1 and 6.4.12.3.1-2 for URI query parameters, request and response
        data structures, and response codes.
526
      responses:
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
        "202":
          $ref: '#/components/responses/NsLcmOpOccRollback.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
551

552
  /ns_lcm_op_occs/{nsLcmOpOccId}/continue:
553
    parameters:
554
555
556
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
557
    post:
rameshnaraya's avatar
rameshnaraya committed
558
      summary: Continue a NS lifecycle management operation occurrence.
559
560
561
562
563
      description: |
        The POST method initiates continuing an NS lifecycle operation if that operation has experienced a temporary
        failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall follow the
        provisions specified in the Tables 6.4.13.3.1-1 and 6.4.13.3.1-2 for URI query parameters, request and response
        data structures, and response codes.
564
      responses:
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
        "202":
          $ref: '#/components/responses/NsLcmOpOccContinue.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
589

590
  /nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/fail:
591
    parameters:
592
593
594
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
595
    post:
rameshnaraya's avatar
rameshnaraya committed
596
      summary: Mark a NS lifecycle management operation occurrence as failed.
597
598
      description: |
        The POST method marks a NS lifecycle management operation  occurrence as "finally failed" if that operation
599
600
        occurrence is in "FAILED_TEMP" state.
      parameters:
601
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
602
      responses:
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
        "200":
          $ref: '#/components/responses/NsLcmOpOccFail.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
627

628
  /nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel:
629
    parameters:
630
631
632
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
633
    post:
rameshnaraya's avatar
rameshnaraya committed
634
      summary: Cancel a NS lifecycle management operation occurrence.
635
      description: |
636
        The POST method initiates cancelling an ongoing NS lifecycle management operation while it is being executed or
637
638
639
640
641
642
643
644
645
646
647
648
649
        rolled back, i.e. the related NS LCM operation occurrence\" is either in "PROCESSING" or "ROLLING_BACK" state.
        This method shall follow the provisions specified in the Tables 6.4.15.3.1-1 and 6.4.15.3.1-2 for URI query
        parameters, request and response data structures, and response codes. Before returning the "202 Accepted" response,
        the NFVO shall update the "isCancelPending" and "cancelMode" attributes in the representation of the parent resource
        according to the provisions in clause 6.5.2.3. In case of success of processing the asynchronous request:
        1) If the request has been processed in "PROCESSING" or "ROLLING_BACK" state, the "operationState" attribute in
           the representation of the parent resource shall be changed to "FAILED_TEMP". In both cases, the NFVO shall update
           the "isCancelPending" and "cancelMode" attributes in the representation of the parent resource according to the
           provisions in clause 6.5.2.3 to reflect the new status, and the applicable "result" notification according to
           clause 6.6.2.2 shall be emitted to indicate that the execution of the underlying NS LCM operation occurrence
           has temporarily failed. Due to race conditions, the processing of the actual operation that is to be cancelled
           may eventually still succeed, in which case the "operationState" attribute in the representation of the parent
           resource shall represent the result of that operation, rather than the result of the cancellation.
650
      parameters:
651
652
653
654
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsLcmOpOccCancelRequest'
655
      responses:
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
        "202":
          $ref: '#/components/responses/NsLcmOpOccCancel.Post'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/responses/409
        "416":
          $ref: ../responses/SOL005_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
680

681
  /subscriptions:
682
    parameters:
683
684
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
685
    get:
rameshnaraya's avatar
rameshnaraya committed
686
      summary: Query multiple subscriptions.
687
      description: |
688
        Query Subscription Information.
689
690
        The GET method queries the list of active subscriptions of the functional block that invokes the method. It can
        be used e.g. for resynchronization after error situations.
691
      parameters:
692
693
694
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
695
      responses:
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
        "200":
          $ref: '#/components/responses/NsLcmSubscriptions.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
716

717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
    post:
      summary: Subscribe to NS lifecycle change notifications.
      description: |
        The POST method creates a new subscription. This method shall support the URI query parameters, request and
        response data structures, and response codes, as specified in the Tables 6.4.16.3.1-1 and 6.4.16.3.1-2. Creation
        of two subscription resources with the same callbackURI and the same filter can result in performance degradation
        and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases.
        Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with
        the same filter and callbackUri already exists (in which case it shall return the "201 Created" response code),
        or may decide to not create a duplicate subscription resource (in which case it shall return a "303 See Other"
        response code referencing the existing subscription resource with the same filter and callbackUri).
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsLcmSubscriptionRequest'
      responses:
        "201":
          $ref: '#/components/responses/NsLcmSubscriptions.Post'
        "303":
          $ref: ../responses/SOL005_resp.yaml#/responses/303
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "422":
          $ref: ../responses/SOL005_resp.yaml#/responses/422
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
758

759
  /subscriptions/{subscriptionId}:
760
    parameters:
761
762
763
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
764
    get:
rameshnaraya's avatar
rameshnaraya committed
765
      summary: Read an individual subscription resource.
766
767
768
      description: |
        The GET method retrieves information about a subscription by reading an individual subscription resource. This
        method shall support the URI query parameters, request and response data structures, and response codes, as
769
770
        specified in the Tables 6.4.17.3.2-1 and 6.4.17.3.2-2
      parameters:
771
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
772
      responses:
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
        "200":
          $ref: '#/components/responses/IndividualNsLcmSubscription.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504
793

794
    delete:
rameshnaraya's avatar
rameshnaraya committed
795
      summary: Terminate a subscription.
796
797
798
799
800
801
802
      description: |
        The DELETE method terminates an individual subscription. This method shall support the URI query parameters,
        request and response data structures, and response codes, as specified in the Tables 6.4.17.3.5-1 and 6.4.17.3.5-2.
        As the result of successfully executing this method, the "Individual subscription" resource shall not exist any
        longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer.
        NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for
        a certain time period after the deletion.
803
      responses:
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
        "204":
          $ref: '#/components/responses/IndividualNsLcmSubscription.Delete'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/responses/406
        "500":
          $ref: ../responses/SOL005_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/responses/504

components:
  parameters:
    NsInstanceId:
      name: nsInstanceId
      in: path
      description: |
        Identifier of the NS instance.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    NsLcmOpOccId:
      name: nsLcmOpOccId
      in: path
      description: |
        Identifier of a NS lifecycle management operation occurrence.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    SubscriptionId:
      name: subscriptionId
      in: path
      description: |
        Identifier of this subscription.
      required: true
      style: simple
      explode: false
      schema:
        type: string

  requestBodies:
    NsInstanceCreateRequest:
      description: |
        The NS creation parameters, as defined in clause 6.5.2.7.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CreateNsRequest
      required: true
869

870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
    NsInstanceInstantiateRequest:
      description: |
        Parameters for the instantiate NS operation, as defined in clause 6.5.2.11.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest
      required: true

    NsInstanceScaleRequest:
      description: |
        Parameters for the scale NS operation, as defined in clause 6.5.2.14.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest
      required: true

    NsInstanceUpdateRequest:
      description: |
        Parameters for the update NS operation, as defined in clause 6.5.2.12.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest
      required: true

    NsInstanceHealRequest:
      description: |
        Parameters for the heal NS operation, as defined in clause 6.5.2.13.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/HealNsRequest
      required: true

    NsInstanceTerminateRequest:
      description: |
        The terminate NS request parameters, as defined in  clause 6.5.2.15.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest
      required: true

    NsLcmOpOccCancelRequest:
      description: |
        The POST request to this resource shall include a CancelMode structure in the payload body to choose between
        "graceful" and "forceful" cancellation.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CancelMode
      required: true

    NsLcmSubscriptionRequest:
      description: |
        Details of the subscription to be created, as defined in clause 6.5.2.2.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest
      required: true

  responses:
    NsInstances.Get:
      description: |
        200 OK
        Shall be returned when 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 "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.
        If the NFVO supports alternative 2 (paging) 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].
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Link:
          description: |
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance

    NsInstances.Post:
      description: |
        201 Created
        Shall be returned when a new "Individual NS instance" resource and the associated NS instance identifier has
        been created successfully. The response body shall contain a representation of the created NS instance, as
        defined in clause 6.5.2.10. The HTTP response shall include a "Location" HTTP header that contains the resource
        URI of the created NS instance.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
For faster browsing, not all history is shown. View entire blame