Newer
Older
title: SOL003 - VNF Package Management interface
SOL003 - VNF 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
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
Michele Carignani
committed
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://127.0.0.1/vnfpkgm/v2
- url: https://127.0.0.1/vnfpkgm/v2
Giacomo Bernini
committed
###############################################################################
# API Versions #
###############################################################################
Giacomo Bernini
committed
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
###############################################################################
# VNF packages #
###############################################################################
The GET method queries the information of the VNF packages matching the filter. See clause 10.4.2.3.2.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
$ref: '#/components/responses/OnboardedVnfPackages.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/422"
$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_packages:
$ref: '#paths/~1onboarded_vnf_packages'
###############################################################################
# Individual VNF package #
###############################################################################
- $ref: '#/components/parameters/VnfPkgId'
The GET method reads the information of an individual VNF package. Clause 10.4.3.3.2.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: '#/components/parameters/include_signature'
$ref: '#/components/responses/IndividualVnfPackage.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/416"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
/onboarded_vnf_packages/{vnfdId}:
- $ref: '#/components/parameters/VnfdId'
The GET method reads the information of an individual VNF package. Clause 10.4.3.3.2.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
$ref: '#/components/responses/IndividualOnboardedVnfPackage.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/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
###############################################################################
# VNFD in an individual VNF package #
###############################################################################
/vnf_packages/{vnfPkgId}/vnfd:
- $ref: '#/components/parameters/VnfPkgId'
The GET method reads the content of the VNFD within a VNF package. See clause 10.4.4.3.2.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: '#/components/parameters/include_signature'
$ref: '#/components/responses/VnfdInIndividualVnfPackage.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"
Giacomo Bernini
committed
# 409 CONFLICT
#
# 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 "onboardingState" of the
# VNF package has a value different from "ONBOARDED".
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
/onboarded_vnf_packages/{vnfdId}/vnfd:
- $ref: '#/components/parameters/VnfdId'
The GET method reads the content of the VNFD within a VNF package. See clause 10.4.4.3.2.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: '#/components/parameters/include_signature'
responses:
200:
$ref: '#/components/responses/VnfdInIndividualOnboardedVnfPackage.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"
Giacomo Bernini
committed
# 409 CONFLICT
#
# 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 "onboardingState" of the
# VNF package has a value different from "ONBOARDED".
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
###############################################################################
Giacomo Bernini
committed
# Manifest in an individual VNF package #
###############################################################################
/vnf_packages/{vnfPkgId}/manifest:
- $ref: '#/components/parameters/VnfPkgId'
The GET method reads the content of the manifest within a VNF package. See clause 10.4.4a.3.1.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: '#/components/parameters/include_signature'
$ref: '#/components/responses/ManifestInIndividualVnfPackage.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/409"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
/onboarded_vnf_packages/{vnfdId}/manifest:
- $ref: '#/components/parameters/VnfdId'
The GET method reads the content of the manifest within a VNF package. See clause 10.4.4a.3.1.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: '#/components/parameters/include_signature'
$ref: '#/components/responses/ManifestInIndividualOnboardedVnfPackage.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/409"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
###############################################################################
Giacomo Bernini
committed
# VNF package content #
###############################################################################
/vnf_packages/{vnfPkgId}/package_content:
- $ref: '#/components/parameters/VnfPkgId'
The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO.
See clause 10.4.5.3.2.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: '#/components/parameters/Range'
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
$ref: '#/components/responses/IndividualVnfPackageContent.Get.200'
$ref: '#/components/responses/IndividualVnfPackageContent.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"
# description: |
# 409 CONFLICT
# 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 "onboardingState" of the VNF package has
# a value different from "ONBOARDED".
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
# description: |
# 416 RANGE NOT SATISFIABLE
# Shall be returned upon the following error: The byte range passed in the "Range" header
# did not match any available byte range in the VNF package file (e.g. "access after end of file").
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
/onboarded_vnf_packages/{vnfdId}/package_content:
parameters:
- $ref: '#/components/parameters/VnfdId'
The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO.
See clause 10.4.5.3.2.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: '#/components/parameters/Range'
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
Giacomo Bernini
committed
responses:
200:
$ref: '#/components/responses/IndividualOnboardedVnfPackageContent.Get.200'
Giacomo Bernini
committed
206:
$ref: '#/components/responses/IndividualOnboardedVnfPackageContent.Get.206'
Giacomo Bernini
committed
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
Giacomo Bernini
committed
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
Giacomo Bernini
committed
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
Giacomo Bernini
committed
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
Giacomo Bernini
committed
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
Giacomo Bernini
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
Giacomo Bernini
committed
409:
# description: |
# 409 CONFLICT
# 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 "onboardingState" of the VNF package has
# a value different from "ONBOARDED".
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
Giacomo Bernini
committed
416:
# description: |
# 416 RANGE NOT SATISFIABLE
# Shall be returned upon the following error: The byte range passed in the "Range" header
# did not match any available byte range in the VNF package file (e.g. "access after end of file").
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
Giacomo Bernini
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
Giacomo Bernini
committed
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
Giacomo Bernini
committed
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
Giacomo Bernini
committed
###############################################################################
# VNF package artifacts #
###############################################################################
/vnf_packages/{vnfPkgId}/artifacts:
Giacomo Bernini
committed
parameters:
- $ref: '#/components/parameters/VnfPkgId'
Giacomo Bernini
committed
get:
The GET method shall return an archive that contains a set of artifacts according to the provisions for
inclusion/exclusion defined below, embedded in a directory structure being the same as in the VNF package.
See clause 10.4.5a.3.2.
Giacomo Bernini
committed
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: '#/components/parameters/Range'
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
Giacomo Bernini
committed
responses:
200:
$ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.200'
Giacomo Bernini
committed
206:
$ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.206'
Giacomo Bernini
committed
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
Giacomo Bernini
committed
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
Giacomo Bernini
committed
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
Giacomo Bernini
committed
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
Giacomo Bernini
committed
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
Giacomo Bernini
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
Giacomo Bernini
committed
409:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
Giacomo Bernini
committed
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
Giacomo Bernini
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
Giacomo Bernini
committed
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
Giacomo Bernini
committed
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
Giacomo Bernini
committed
/onboarded_vnf_packages/{vnfdId}/artifacts:
Giacomo Bernini
committed
parameters:
- $ref: '#/components/parameters/VnfdId'
Giacomo Bernini
committed
get:
The GET method shall return an archive that contains a set of artifacts according to the provisions for
inclusion/exclusion defined below, embedded in a directory structure being the same as in the VNF package.
See clause 10.4.5a.3.2.
Giacomo Bernini
committed
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: '#/components/parameters/Range'
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
Giacomo Bernini
committed
responses:
200:
$ref: '#/components/responses/IndividualOnboardedVnfPackageArtifacts.Get.200'
Giacomo Bernini
committed
206:
$ref: '#/components/responses/IndividualOnboardedVnfPackageArtifacts.Get.206'
Giacomo Bernini
committed
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
Giacomo Bernini
committed
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
Giacomo Bernini
committed
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
Giacomo Bernini
committed
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
Giacomo Bernini
committed
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
Giacomo Bernini
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
Giacomo Bernini
committed
409:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
Giacomo Bernini
committed
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
Giacomo Bernini
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
Giacomo Bernini
committed
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
Giacomo Bernini
committed
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
Giacomo Bernini
committed
###############################################################################
# Individual VNF package artifact #
###############################################################################
/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}:
Giacomo Bernini
committed
parameters:
- $ref: '#/components/parameters/ArtifactPath'
- $ref: '#/components/parameters/VnfPkgId'
Giacomo Bernini
committed
get:
The GET method fetches the content of an artifact within a VNF package. See clause 10.4.6.3.2.
Giacomo Bernini
committed
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: '#/components/parameters/Range'
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: '#/components/parameters/include_signature'
$ref: '#/components/responses/IndividualVnfPackageArtifact.Get.200'
$ref: '#/components/responses/IndividualVnfPackageArtifact.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"
# description: |
# 409 CONFLICT
# 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 "onboardingState" of the
# VNF package has a value different from "ONBOARDED".
# The response body shall contain a ProblemDetails structure,
# in which the "detail" attribute shall convey more information
# about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
# description: |
# 416 RANGE NOT SATISFIABLE
# Shall be returned upon the following error: The byte range passed in the
# "Range" header did not match any available byte range in the artifact file
# (e.g. "access after end of file").
# The response body may contain a ProblemDetails structure.
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
Giacomo Bernini
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
Giacomo Bernini
committed
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
Giacomo Bernini
committed
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
Giacomo Bernini
committed
/onboarded_vnf_packages/{vnfdId}/artifacts/{artifactPath}:
Giacomo Bernini
committed
parameters:
- $ref: '#/components/parameters/ArtifactPath'
- $ref: '#/components/parameters/VnfdId'
Giacomo Bernini
committed
get:
The GET method fetches the content of an artifact within a VNF package. See clause 10.4.6.3.2.
Giacomo Bernini
committed
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: '#/components/parameters/Range'
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: '#/components/parameters/include_signature'
Giacomo Bernini
committed
responses:
200:
$ref: '#/components/responses/IndividualOnboardedVnfPackageArtifact.Get.200'
Giacomo Bernini
committed
206:
$ref: '#/components/responses/IndividualOnboardedVnfPackageArtifact.Get.206'
Giacomo Bernini
committed
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
Giacomo Bernini
committed
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
Giacomo Bernini
committed
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
Giacomo Bernini
committed
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
Giacomo Bernini
committed
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
Giacomo Bernini
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
Giacomo Bernini
committed
409:
# description: |
# 409 CONFLICT
# 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 "onboardingState" of the
# VNF package has a value different from "ONBOARDED".
# The response body shall contain a ProblemDetails structure,
# in which the "detail" attribute shall convey more information
# about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
Giacomo Bernini
committed
416:
# description: |
# 416 RANGE NOT SATISFIABLE
# Shall be returned upon the following error: The byte range passed in the
# "Range" header did not match any available byte range in the artifact file
# (e.g. "access after end of file").
# The response body may contain a ProblemDetails structure.
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
###############################################################################
# Subscriptions #
###############################################################################
/subscriptions:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
The POST method creates a new subscription. See clause 10.4.7.3.1.
requestBody:
$ref: '#/components/requestBodies/PkgmSubscriptionRequest'
$ref: '#/components/responses/Subscriptions.Post.201'
# description: |
# 303 SEE OTHER
# Shall be returned when a subscription with the same callback URI and the same filter
# already exists and the policy of the NFVO is to not create redundant subscriptions.
# The HTTP response shall include a "Location" HTTP header that contains the resource
# URI of the existing "Individual subscription" resource.
# The response body shall be empty.
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303"
$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"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
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. See clause 10.4.7.3.2.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
$ref: '#/components/responses/Subscriptions.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"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
###############################################################################
# Individual subscription #
###############################################################################
/subscriptions/{subscriptionId}:
#SOL003 location: 10.4.8
parameters:
- $ref: '#/components/parameters/SubscriptionId'
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
The GET method reads an individual subscription. See clause 10.4.8.3.2.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
$ref: '#/components/responses/IndividualSubscription.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"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
The DELETE method terminates an individual subscription. See clause 10.4.8.3.5.
$ref: '#/components/responses/IndividualSubscription.Delete.204'
$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"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
504:
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
components:
parameters:
VnfPkgId:
name: vnfPkgId
in: path
description: |
Identifier of the VNF package. The identifier is allocated by the
NFVO.
This identifier can be retrieved from the "vnfPkgId" attribute in
the VnfPackageOnboardingNotification or
VnfPackageChangeNotification.
required: true
style: simple
explode: false
schema:
type: string
VnfdId:
name: vnfdId
in: path
description: |
Identifier of the VNFD and the VNF package.
The identifier is allocated by the VNF provider.
This identifier can be retrieved from the "vnfdId" attribute
in the VnfPackageOnboardingNotification or VnfPackageChangeNotification.
This identifier can be retrieved from the "vnfdId" attribute in the
VnfPackageOnboardingNotification or VnfPackageChangeNotification.
795
796
797
798
799
800
801
802
803
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
required: true
style: simple
explode: false
schema:
type: string
ArtifactPath:
name: artifactPath
in: path
description: |
SequenceFor an artifact contained as a file in the VNF package,
this variable shall contain a sequence of one or more path segments
representing the path of the artifact within the VNF package,
relative to the root of the package.
EXAMPLE: foo/bar/m%40ster.sh
For an external artifact represented as a URI in the VNF package
manifest, this variable shall contain a sequence of one or more path
segments as synthesized by the NFVO (see clause 10.5.3.3),
representing this artifact.
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
SubscriptionId:
name: subscriptionId
in: path
description: |
Identifier of this subscription.
This identifier can be retrieved from the resource referenced by
the "Location" HTTP header in the response to a POST request
creating a new "Individual subscription" resource. It can also be retrieved from
the "id" attribute in the payload body of that response.
required: true
style: simple
explode: false
schema:
type: string
include_signature:
name: include_signature
in: query
description: |
If this parameter is provided, the NFVO shall include in the ZIP
archive the security information as specified above.
This URI query parameter is a flag, i.e. it shall have no value.
The NFVO shall support this parameter.
required: false
schema:
type: string
Range:
name: Range
in: header
description: |
The request may contain a "Range" HTTP header to obtain single
range of bytes from the VNF package file. This can be used to
continue an aborted transmission.
If the "Range" header is present in the request and the NFVO
does not support responding to range requests with a 206 response,
it shall return a 200 OK response instead.
required: false
schema:
type: string
requestBodies:
PkgmSubscriptionRequest:
description: |
Representation of the created subscription resource.
The HTTP response shall include a "Location" HTTP header that
points to the created subscription resource.
content:
application/json:
schema:
$ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/PkgmSubscriptionRequest"
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
required: true
responses:
OnboardedVnfPackages.Get.200:
description: |
200 OK
Shall be returned when information about zero or more VNF packages has been queried successfully.
The response body shall contain in an array the VNF package info representations that match the
attribute filter, i.e. zero or more VNF package info representations as defined in clause 10.5.2.2.
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, respectively.
If the VNFM 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:
Content-Type:
description: The MIME type of the body of 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
Version:
description: The used API version.
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:
application/json:
schema:
type: array
items:
$ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo"
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
IndividualVnfPackage.Get.200:
description: |
200 OK
Shall be returned when information of the VNF package has been read successfully.
The response body shall contain the VNF package info representation defined in clause 10.5.2.2.
headers:
Content-Type:
description: The MIME type of the body of 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
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo"
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
IndividualOnboardedVnfPackage.Get.200:
description: |
200 OK
Shall be returned when information of the VNF package has been read successfully.
The response body shall contain the VNF package info representation defined in clause 10.5.2.2.
headers:
Content-Type:
description: The MIME type of the body of 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
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo"
VnfdInIndividualVnfPackage.Get.200:
description: |
200 OK
Shall be returned when the content of the VNFD has been read successfully.
The payload body shall contain a copy of the file representing the VNFD or