Newer
Older
openapi: 3.0.2
info:
title: SOL003 - VNF Snapshot Package Management interface
description: |
SOL003 - VNF Snapshot Package 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.
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 003 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/.pdf
servers:
- url: http://0.0.0.1/vnfsnapshotpkgm/v1
- url: https://0.0.0.1/vnfsnapshotpkgm/v1
paths:
###############################################################################
# API Versions #
###############################################################################
/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
/vnf_snapshot_packages:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method queries the information of the VNF packages matching the filter.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
$ref: '#/components/responses/VNFSnapshotPackages.Get.200'
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_snapshot_packages/{vnfSnapshotPkgId}:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: '#/components/parameters/VnfSnapshotPkgId'
get:
description: |
The GET method reads the information of an individual VNF snapshot package.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
$ref: '#/components/responses/IndividualVNFSnapshotPackages.Get.200'
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_snapshot_packages/{vnfSnapshotPkgId}/package_content:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: '#/components/parameters/VnfSnapshotPkgId'
get:
description: |
The GET method fetches the content of a VNF snapshot package.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
responses:
$ref: '#/components/responses/PackageContent.Get.200'
$ref: '#/components/responses/PackageContent.Get.206'
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
409:
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409
416:
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_snapshot_packages/{vnfSnapshotPkgId}/artifacts/{artifactPath}:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: '#/components/parameters/VnfSnapshotPkgId'
- $ref: '#/components/parameters/ArtifactPath'
get:
description: |
The GET method fetches the content of an artifact within the VNF snapshot package.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
responses:
$ref: '#/components/responses/IndividualArtifact.Get.200'
$ref: '#/components/responses/IndividualArtifact.Get.206'
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
409:
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409
416:
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
components:
parameters:
VnfSnapshotPkgId:
name: vnfSnapshotPkgId
in: path
description: |
Identifier of the VNF snapshot package. The identifier is allocated by the NFVO.
This identifier can be retrieved from the "id" attribute of the applicable "VnfSnapshotPkgInfo" in the body of
the response to requesting the creation of a new "Individual VNF snapshot package" resource or in a response to
a GET request querying the "Individual VNF snapshot package" or the "VNF snapshot packages" resource.
required: true
style: simple
explode: false
schema:
type: string
ArtifactPath:
name: artifactPath
in: path
description: |
For an artifact contained as a file in the VNF snapshot package, this variable shall contain a sequence
of one or path segments representing the path of the artifact within the VNF snapshot package, relative
to the root of the package.
EXAMPLE: foo/bar/m%40ster.sh
Samir Medjiah
committed
For an external artifact represented as a URI in the VNF snapshot package manifest, this variable shall
contain a sequence of one or more path segments as synthesized by the NFVO (see clause 12.5.3.3) representing
this artifact.
This identifier can be retrieved from the "artifactPath" attribute of the applicable "additionalArtifacts"
entry in the body of the response to a GET request querying the "Individual VNF snapshot package" or the
"VNF snapshot packages" resource.
Since multiple path segments are allowed to be contained in this variable, the "/" character that separates
these segments is not percent-encoded. Each individual segment is percent-encoded if necessary as defined
in clause 4.1 of ETSI GS NFV-SOL 013.
required: true
style: simple
explode: false
schema:
type: string
responses:
VNFSnapshotPackages.Get.200:
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
description: |
200 OK
Shall be returned when information about zero or more VNF snapshot packages has been queried successfully.
The response body shall contain in an array the VNF snapshot package info representations that match the
attribute filter, i.e. zero or more VNF snapshot package info representations as defined in clause 12.5.2.2.
If the "filter" URI parameter or one of the "all_fields", "fields", "exclude_fields" or "exclude_default"
URI parameters was supplied in the request and is supported, 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, respectively.
If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 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.
headers:
Version:
description: The used API version.
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/SOL003VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgInfo
IndividualVNFSnapshotPackages.Get.200:
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
description: |
200 OK
Shall be returned when information of the VNF snapshot package has been read successfully.
The response body shall contain the VNF snapshot package info representation defined in clause 12.5.2.2.
headers:
Version:
description: The used API version.
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
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: definitions/SOL003VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgInfo
PackageContent.Get.200:
description: |
200 OK
Shall be returned when the whole content of the VNF snapshot package file has been read successfully.
The response body shall include a copy of the VNF snapshot package file.
The "Content-Type" HTTP header shall be set according to the type of the file, i.e. to "application/zip"
Samir Medjiah
committed
for a VNF snapshot package. The VNF snapshot package format is defined in ETSI GS NFV-SOL 010.
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
headers:
Version:
description: The used API version.
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
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
content:
application/*:
schema:
type: string
format: binary
PackageContent.Get.206:
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
description: |
206 PARTIAL CONTENT
If the NFVO supports range requests, this response shall be returned when a single consecutive byte range
from the content of the VNF snapshot package file has been read successfully according to the request.
The response body shall contain the requested part of the VNF snapshot package file. The "Content-Range"
HTTP header shall be provided according to IETF RFC 7233. The "Content-Type" HTTP header shall be set as
defined above for the "200 OK" response.
headers:
Version:
description: The used API version.
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
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
Content-Range:
description: >
The Content-Range response HTTP header indicates where in a full body message a partial message belongs.
schema:
type: string
maximum: 1
minimum: 1
content:
application/*:
schema:
type: string
format: binary
IndividualArtifact.Get.200:
description: |
200 OK
Shall be returned when the whole content of the artifact file has been read successfully.
Samir Medjiah
committed
The response body shall include a copy of the artifact file from the VNF snapshot package.
The VNF snapshot package format is defined in ETSI GS NFV-SOL 010.
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
The "Content-Type" HTTP header shall be set according to the content type of the artifact file.
If the content type cannot be determined, the header shall be set to the value "application/octet-stream".
headers:
Version:
description: The used API version.
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
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
content:
application/*:
schema:
type: string
format: binary
IndividualArtifact.Get.206:
description: |
2006 PARTIAL CONTENT
If the NFVO supports range requests, this response shall be returned when a single consecutive byte range
from the content of the artifact file has been read successfully according to the request.
Samir Medjiah
committed
The response body shall contain the requested part of the artifact file from the VNF snapshot package.
The VNF snapshot package is defined in ETSI GS NFV-SOL 010.
The "Content-Type" HTTP header shall be set according to the content type of the artifact file. If the
content type cannot be determined, the header shall be set to the value "application/octet-stream".
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
The "Content-Range" HTTP header shall be provided according to IETF RFC 7233.
headers:
Version:
description: The used API version.
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
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
Content-Range:
description: >
The Content-Range response HTTP header indicates where in a full body message a partial message belongs.
schema:
type: string
maximum: 1
minimum: 1
content:
application/*:
schema:
type: string
format: binary