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

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

18
externalDocs:
19
  description: ETSI GS NFV-SOL 005 V3.3.1
20
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf
21 22 23 24 25

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

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

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

74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
    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":
91
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
92
        "401":
93
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
94
        "403":
95
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
96
        "404":
97
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
98
        "405":
99
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
100
        "406":
101
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
102
        "409":
103
          $ref: ../responses/SOL005_resp.yaml#/components/responses/409
104
        "416":
105
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
106
        "500":
107
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
108
        "503":
109
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
110
        "504":
111
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
112

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

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

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

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

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

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

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

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

438
  /ns_lcm_op_occs/{nsLcmOpOccId}:
439
    parameters:
440 441 442
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
443
    get:
rameshnaraya's avatar
rameshnaraya committed
444
      summary: Read an individual NS LCM operation occurrence resource.
445 446 447 448 449
      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.
450
      parameters:
451 452
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
453
      responses:
454 455 456
        "200":
          $ref: '#/components/responses/IndividualNsLcmOpOcc.Get'
        "400":
457
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
458
        "401":
459
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
460
        "403":
461
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
462
        "404":
463
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
464
        "405":
465
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
466
        "406":
467
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
468
        "416":
469
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
470
        "500":
471
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
472
        "503":
473
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
474
        "504":
475
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
476

477
  /ns_lcm_op_occs/{nsLcmOpOccId}/retry:
478
    parameters:
479 480 481
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
482
    post:
rameshnaraya's avatar
rameshnaraya committed
483
      summary: Retry a NS lifecycle management operation occurrence.
484 485 486 487 488
      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.
489
      responses:
490 491 492
        "202":
          $ref: '#/components/responses/NsLcmOpOccRetry.Post'
        "400":
493
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
494
        "401":
495
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
496
        "403":
497
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
498
        "404":
499
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
500
        "405":
501
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
502
        "406":
503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
504
        "409":
505
          $ref: ../responses/SOL005_resp.yaml#/components/responses/409
506
        "416":
507
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
508
        "500":
509
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
510
        "503":
511
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
512
        "504":
513
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
514

515
  /ns_lcm_op_occs/{nsLcmOpOccId}/rollback:
516
    parameters:
517 518 519
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
520
    post:
rameshnaraya's avatar
rameshnaraya committed
521
      summary: Rollback a NS lifecycle management operation occurrence.
522 523 524 525 526
      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.
527
      responses:
528 529 530
        "202":
          $ref: '#/components/responses/NsLcmOpOccRollback.Post'
        "400":
531
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
532
        "401":
533
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
534
        "403":
535
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
536
        "404":
537
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
538
        "405":
539
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
540
        "406":
541
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
542
        "409":
543
          $ref: ../responses/SOL005_resp.yaml#/components/responses/409
544
        "416":
545
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
546
        "500":
547
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
548
        "503":
549
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
550
        "504":
551
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
552

553
  /ns_lcm_op_occs/{nsLcmOpOccId}/continue:
554
    parameters:
555 556 557
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
558
    post:
rameshnaraya's avatar
rameshnaraya committed
559
      summary: Continue a NS lifecycle management operation occurrence.
560 561 562 563 564
      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.
565
      responses:
566 567 568
        "202":
          $ref: '#/components/responses/NsLcmOpOccContinue.Post'
        "400":
569
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
570
        "401":
571
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
572
        "403":
573
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
574
        "404":
575
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
576
        "405":
577
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
578
        "406":
579
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
580
        "409":
581
          $ref: ../responses/SOL005_resp.yaml#/components/responses/409
582
        "416":
583
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
584
        "500":
585
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
586
        "503":
587
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
588
        "504":
589
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
590

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

629
  /nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel:
630
    parameters:
631 632 633
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
634
    post:
rameshnaraya's avatar
rameshnaraya committed
635
      summary: Cancel a NS lifecycle management operation occurrence.
636
      description: |
637
        The POST method initiates cancelling an ongoing NS lifecycle management operation while it is being executed or
638 639 640 641 642 643 644 645 646 647 648 649 650
        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.
651
      parameters:
652 653 654 655
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsLcmOpOccCancelRequest'
656
      responses:
657 658 659
        "202":
          $ref: '#/components/responses/NsLcmOpOccCancel.Post'
        "400":
660
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
661
        "401":
662
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
663
        "403":
664
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
665
        "404":
666
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
667
        "405":
668
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
669
        "406":
670
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
671
        "409":
672
          $ref: ../responses/SOL005_resp.yaml#/components/responses/409
673
        "416":
674
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
675
        "500":
676
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
677
        "503":
678
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
679
        "504":
680
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
681

682
  /subscriptions:
683
    parameters:
684 685
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
686
    get:
rameshnaraya's avatar
rameshnaraya committed
687
      summary: Query multiple subscriptions.
688
      description: |
689
        Query Subscription Information.
690 691
        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.
692
      parameters:
693 694 695
        - $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
696
      responses:
697 698 699
        "200":
          $ref: '#/components/responses/NsLcmSubscriptions.Get'
        "400":
700
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
701
        "401":
702
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
703
        "403":
704
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
705
        "404":
706
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
707
        "405":
708
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
709
        "406":
710
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
711
        "500":
712
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
713
        "503":
714
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
715
        "504":
716
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
717

718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737
    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":
738
          $ref: ../responses/SOL005_resp.yaml#/components/responses/303
739
        "400":
740
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
741
        "401":
742
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
743
        "403":
744
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
745
        "404":
746
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
747
        "405":
748
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
749
        "406":
750
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
751
        "422":
752
          $ref: ../responses/SOL005_resp.yaml#/components/responses/422
753
        "500":
754
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
755
        "503":
756
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
757
        "504":
758
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
759

760
  /subscriptions/{subscriptionId}:
761
    parameters:
762 763 764
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
765
    get:
rameshnaraya's avatar
rameshnaraya committed
766
      summary: Read an individual subscription resource.
767 768 769
      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
770 771
        specified in the Tables 6.4.17.3.2-1 and 6.4.17.3.2-2
      parameters:
772
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
773
      responses:
774 775 776
        "200":
          $ref: '#/components/responses/IndividualNsLcmSubscription.Get'
        "400":
777
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
778
        "401":
779
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
780
        "403":
781
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
782
        "404":
783
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
784
        "405":
785
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
786
        "406":
787
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
788
        "500":
789
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
790
        "503":
791
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
792
        "504":
793
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
794

795
    delete:
rameshnaraya's avatar
rameshnaraya committed
796
      summary: Terminate a subscription.
797 798 799 800 801 802 803
      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.
804
      responses:
805 806 807
        "204":
          $ref: '#/components/responses/IndividualNsLcmSubscription.Delete'
        "400":
808
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
809
        "401":
810
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
811
        "403":
812
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
813
        "404":
814
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
815
        "405":
816
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
817
        "406":
818
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
819
        "500":
820
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
821
        "503":
822
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
823
        "504":
824
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
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 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
  /vnf_snapshots:
    parameters:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      summary: Query VNF snapshots
      description: |
        The GET method queries information about multiple VNF snapshots.
      parameters:
        - $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
      responses:
        "200":
          $ref: '#/components/responses/VnfSnapshots.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "500":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

  /vnf_snapshots/{vnfSnapshotInfoId}:
    parameters:
      - $ref: '#/components/parameters/VnfSnapshotInfoId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      summary: Query an Individual VNF snapshot
      description: |
        The GET method retrieves information about a VNF snapshot by reading an "Individual VNF snapshot" resource.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      responses:
        "200":
          $ref: '#/components/responses/IndividualVnfSnapshot.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "500":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

    delete:
      summary: Delete an Individual VNF snapshot
      description: |
        This method deletes an "Individual VNF snapshot" resource and the associated VNF snapshot information managed by
        the NFVO and corresponding VNFM, and any resource associated to the VNF snapshot managed by the VIM.
        As the result of successfully executing this method, the "Individual VNF snapshot" resource shall not exist any
        longer. In addition, the NFVO shall delete any references pointing to the "Individual VNF snapshot" resource from
        the "NsInstance" data structures representing the "Individual NS instance" resources.
      responses:
        "204":
          $ref: '#/components/responses/IndividualVnfSnapshot.Delete'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "409":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/409
        "500":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

929 930 931 932 933 934 935 936 937 938 939