Commit 54cd7123 authored by Samir Medjiah's avatar Samir Medjiah
Browse files

SOL005_84: Added new endpoint in NSDMgmt API -> "Individual PNFD archive artifact"

parent 593cfce8
......@@ -1185,9 +1185,9 @@ paths:
The response body shall contain the requested part of the artifact file from the NSD archive,
as defined by ETSI GS NFV-SOL 007.
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".
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".
The "Content-Range" HTTP header shall be provided according to IETF RFC 7233.
headers:
......@@ -2134,7 +2134,7 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/components/responses/504"
###############################################################################
# PNFD Archive Manifest #
# PNFD Archive Manifest #
###############################################################################
'/pnf_descriptors/{pnfdInfoId}/manifest':
#ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.7b
......@@ -2258,6 +2258,212 @@ paths:
504:
$ref: "../responses/SOL005_resp.yaml#/components/responses/504"
###############################################################################
# Individual PNFD Archive Artifact #
###############################################################################
'/pnf_descriptors/{pnfdInfoId}/artifacts/{artifactPath}':
#ETSI GS NFV-SOL 005 V3.3.1 location: 5.4.7c
parameters:
- name: pnfdInfoId
description: >
Identifier of the individual PNF descriptor.
This identifier can be retrieved from the resource referenced
by the "Location" HTTP header in the response to a POST request
creating a new PNF descriptor resource. It can also be retrieved
from the "id" attribute in the payload body of that response.
in: path
required: true
type: string
- name: artifactPath
description: >
For an artifact contained as a file in the PNFD archive, this variable shall contain
a sequence of one or path segments representing the path of the artifact within the
PNFD archive, relative to the root of the package.
EXAMPLE: foo/bar/m%40ster.sh
For an external artifact represented as a URI in the PNFD archive manifest, this variable
shall contain the URI as provided in the NS archive.
This identifier can be retrieved from the "artifactPath" attribute of the applicable
"artifacts" entry in the body of the response to a GET request querying the "Individual PNFD"
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.
in: path
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235.
in: header
required: false
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
get:
description: >
The GET method fetches the content of an individual artifact within a PNFD archive.
This method shall follow the provisions specified in the Tables 5.4.7c.3.2-1 and
5.4.7c.3.2-2 for URI query parameters, request and response data structures, and
response codes.
parameters:
- name : Range
description: >
The request may contain a "Range" HTTP header to obtain single
range of bytes from an artifact 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.
in: header
required: false
type: string
- name : include_signatures
description: >
If this parameter is provided, the NFVO shall return the artifact
and related security information (such as signature and optional
certificate) in a ZIP archive.
If this parameter is not given, the NFVO shall provide only a copy
of the artifact file. This URI query parameter is a flag, i.e.
it shall have no value.
The NFVO shall support this parameter.
in: query
required: false
type: string
responses:
200:
description: >
200 OK
Shall be returned when the content of the artifact file has been read successfully.
If the "include_signatures" request URI parameter was not provided in the related request,
the payload body shall contain a copy of the artifact file from the PNFD archive, as defined
by ETSI GS NFV-SOL 004, and the "Content-Type" HTTP header shall be set according to the
content type of the artifact file. If the artifact is encrypted, the header shall be set to
the value "application/cms" (IETF RFC 7193).
If the content type cannot be determined, the header shall be set to the value
"application/octetstream". If the "include_signatures" request URI parameter was provided
in the related request, the "Content-Type" HTTP header shall be set to "application/zip"
and the payload body shall contain a ZIP archive which includes:
- a copy of the artifact file from the VNF package, as defined by ETSI GS NFVSOL 004
- the related security information (individual signature file and optional related individual
certificate file).
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
type: string
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.
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
206:
description: >
206 PARTIAL CONTENT
If the NFVO supports range requests and the "include_signatures" request URI parameter was
not present in the related request, 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.
The response body shall contain the requested part of the artifact file from the PNFD archive,
as defined by ETSI GS NFV-SOL 004.
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".
The "Content-Range" HTTP header shall be provided according to IETF RFC 7233.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
type: string
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.
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
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"
406:
# description: >
# If the related request contained an "Accept" header not compatible with the Content type
# "application/zip" but the "include_signatures" flag was provided, the NFVO shall respond
# with this response code.
# The "ProblemDetails" structure may be included with the "detail" attribute providing more
# information about the error.
$ref: "../responses/SOL005_resp.yaml#/components/responses/405"
405:
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
409:
# description: >
# 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 "pnfdOnboardingState" 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/SOL005_resp.yaml#/components/responses/409"
416:
# description: >
# 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/SOL005_resp.yaml#/components/responses/416"
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"
###############################################################################
# Subscriptions #
###############################################################################
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment