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. In case of
discrepancies the published ETSI Group Specification takes precedence.
Giacomo Bernini
committed
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
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.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.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. See clause 12.4.2.3.2.
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. See clause 12.4.3.3.2
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. See clause 12.4.4.3.2.
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. See clause 12.4.5.3.2.
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:
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
296
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:
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
329
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.
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
368
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:
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
411
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.
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
450
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".
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
497
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