Commit c2d197ef authored by rameshnaraya's avatar rameshnaraya
Browse files

Fixed SOL005 v2.4.1 Review issues.

parent f8fedac8
Pipeline #323 pending with stage
swagger: "2.0"
info:
version: "2.4.1"
version: "1.0.0"
title: SOL005 - VNF Package Management Interface
description: >
SOL005 - VNF Package Management Interface
......@@ -19,15 +19,12 @@ externalDocs:
description: ETSI GS NFV-SOL 005 V2.4.1
url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf
basePath: "/vnfpkgm/v1"
schemes:
- https
consumes:
- "application/json"
produces:
- "application/json"
- "application/json"
paths:
###############################################################################
# VNF Packages #
......@@ -101,11 +98,12 @@ paths:
Reference: IETF RFC 7235
in: header
required: false
type: string
type: string
responses:
200:
description: >
200 OK.
200 OK
Information of the selected VNF packages.
headers:
Content-Type:
......@@ -113,12 +111,14 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
type: string
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.
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
type: array
items:
......@@ -186,35 +186,52 @@ paths:
responses:
201:
description: >
"Status 201 - Created"
201 Created
"An individual VNF package resource has been created successfully.
An individual VNF package resource has been created successfully.
The response body shall contain a representation of
the new individual VNF package resource, as defined
in clause 9.5.2.4.
The HTTP response shall include a "Location" HTTP
header that contains the resource URI of the individual
VNF package resource."
VNF package resource.
schema:
$ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo"
properties:
VnfPkgInfo:
$ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo"
headers:
Location:
Content-Type:
type: "string"
description: >
"The HTTP response shall include a "Location" HTTP header
that contains the resource URI of the new NS descriptor resource."
description: >
The MIME type of the body of the response.This header
field shall be present if the response has a non-empty message
body.
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
###############################################################################
# Individual VNF Package #
###############################################################################
'/vnf_packages/{vnfPkgId}':
#ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.3
parameters:
- name: "vnfPkgId"
description: >
Identifier of the VNF package. The identifier is allocated by the NFVO.
in: "path"
type: "string"
required: true
get:
summary: Read information about an individual VNF package.
description: >
"This resource represents an individual VNF package.
The client can use this resource to read information of the VNF
package, update information of the VNF package, or delete a VNF package."
The GET method reads the information of a VNF package.
parameters:
- name: Accept
description: >
......@@ -232,20 +249,16 @@ paths:
type: string
responses:
200:
description: 200 OK.
description: >
200 OK
Information of the VNF package.
schema:
type: "object"
description: >
Information of the VNF package.
type: "object"
properties:
VnfPkgInfo:
$ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo"
headers:
Location:
type: "string"
description: >
The HTTP response shall include a Location HTTP header
that contains the resource URI of the new NS descriptor resource.
Content-Type:
type: "string"
description: >
......@@ -257,6 +270,8 @@ paths:
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
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -278,7 +293,7 @@ paths:
delete:
summary: Delete an individual VNF package.
description: >
"The DELETE method deletes an individual NS descriptor resource.
The DELETE method deletes an individual VNF Package resource.
parameters:
- name: Authorization
description: >
......@@ -290,7 +305,7 @@ paths:
responses:
204:
description: >
204 No Content.
204 No Content
The VNF package was deleted successfully.
The response body shall be empty.
......@@ -348,12 +363,11 @@ paths:
Reference: IETF RFC 7231
in: header
required: true
type: string
type: string
responses:
200:
description: >
200 OK.
200 OK
The operation was completed successfully.
The response body shall contain attribute
......@@ -366,11 +380,11 @@ paths:
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.
type: string
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
......@@ -398,14 +412,6 @@ paths:
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
parameters:
- name: "vnfPkgId"
description: >
Identifier of the VNF package. The identifier is allocated by the NFVO.
in: "path"
required: true
type: "string"
###############################################################################
# VNFD in an individual VNF package #
###############################################################################
......@@ -458,7 +464,7 @@ paths:
responses:
200:
description: >
200 OK.
200 OK
On success, the content of the VNFD is returned.
The payload body shall contain a copy of the file
......@@ -475,11 +481,11 @@ paths:
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.
type: string
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
......@@ -513,7 +519,14 @@ paths:
# VNF Package Content #
###############################################################################
'/vnf_packages/{vnfPkgId}/package_content':
#ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.5
#ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.5
parameters:
- name: "vnfPkgId"
description: >
Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO.
in: "path"
required: true
type: "string"
get:
summary: Fetch an on-boarded VNF package.
description: >
......@@ -528,7 +541,6 @@ paths:
required: true
type: string
enum:
- text/plain
- application/zip
- name: Authorization
description: >
......@@ -551,7 +563,7 @@ paths:
responses:
200:
description: >
200 OK.
200 OK
On success, a copy of the VNF package file is returned.
The response body shall include a copy of the VNF package file.
......@@ -566,11 +578,11 @@ paths:
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.
type: string
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
206:
......@@ -579,9 +591,7 @@ paths:
description: >
$ref: "responses/VNFPackageManagement_resp.yaml#/responses/409-state-conflict-ONBOARDING"
416:
description: >
"416 Range Not Satisfiable"
$ref: "responses/SOL005_resp.yaml#/responses/416-range-not-satisfiable"
$ref: "responses/SOL005_resp.yaml#/responses/416"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -608,7 +618,22 @@ paths:
request and response data structures, and response codes.
consumes:
- multipart/form-data
parameters:
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
enum:
- application/zip
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- in: formData
name: file
required: false
......@@ -621,7 +646,7 @@ paths:
responses:
202:
description: >
202 Accepted.
202 Accepted
The VNF package was accepted for uploading, but the
processing has not been completed. It is expected to
......@@ -645,14 +670,7 @@ paths:
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
parameters:
- name: "vnfPkgId"
description: >
Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO.
in: "path"
required: true
type: "string"
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Upload VNF package from URI task #
......@@ -661,10 +679,11 @@ paths:
#ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.6
post:
summary: Upload a VNF package by providing the address information of the VNF package.
description: >
This task resource represents the "Upload VNF package from URI" operation. The client can use this resource to
request the uploading of a VNF package by providing address information to the NFVO for retrieving the content of the
VNF package.
description: >
The POST method provides the information for the NFVO to get the content of a VNF package.
This method shall follow the provisions specified in the
Tables 9.4.6.3.1-1 and 9.4.6.3.1-2 for URI query parameters,
request and response data structures, and response codes.
parameters:
- name: Accept
description: >
......@@ -712,7 +731,7 @@ paths:
responses:
202:
description: >
202 Accepted.
202 Accepted
The information about the VNF package was received
successfully, but the on-boarding has not been
......@@ -741,119 +760,138 @@ paths:
# Individual VNF package artifact #
###############################################################################
'/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
#ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.6
parameters:
- name: vnfPkgId
description: >
Identifier of the on-boarded VNF package.
This identifier can be retrieved from the "vnfPkgId" attribute in the VnfPackageOnboardingNotification or
VnfPackageChangeNotification.
in: path
type: string
required: true
- name: artifactPath
description: >
Path of the artifact within the VNF package.
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 package" or the "VNF packages"
resource.
in: path
type: string
required: true
get:
summary: Fetch individual VNF package artifact.
description: >
The GET method fetches the content of an artifact within a VNF package.
This method shall follow the provisions specified in the
Tables 9.4.7.3.2-1 and 9.4.7.3.2-2 for URI query parameters,
request and response data structures, and response codes.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Range
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 NFVO does not support range requests, it should return the
whole file with a 200 OK response instead.
in: header
type: string
responses:
200:
description: >
200 OK.
#ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.7
parameters:
- name: vnfPkgId
description: >
Identifier of the on-boarded VNF package.
The identifier is allocated by the NFVO.
This identifier can be retrieved from the "vnfPkgId" attribute in the VnfPackageOnboardingNotification or
VnfPackageChangeNotification.
in: path
type: string
required: true
- name: artifactPath
description: >
Path of the artifact within the VNF package.
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 package" or the "VNF packages"
resource.
in: path
type: string
required: true
get:
summary: Fetch individual VNF package artifact.
description: >
The GET method fetches the content of an artifact within a VNF package.
This method shall follow the provisions specified in the
Tables 9.4.7.3.2-1 and 9.4.7.3.2-2 for URI query parameters,
request and response data structures, and response codes.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Range
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 NFVO does not support range requests, it should return the
whole file with a 200 OK response instead.
in: header
type: string
responses:
200:
description: >
200 OK
On success, the content of the artifact is returned.
The payload body shall contain a copy of the artifact file from
the VNF package, 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".
headers:
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.
206:
description: >
Partial Content.
On success, if the NFVO supports range requests, a single
consecutive byte range from the content of the VNF package file is
returned.
The response body shall contain the requested part of the VNF
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:
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.
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
404:
$ref: "responses/SOL005_resp.yaml#/responses/404"
405:
$ref: "responses/SOL005_resp.yaml#/responses/405"
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/VNFPackageManagement_resp.yaml#/responses/409"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
The payload body shall contain a copy of the artifact file from
the VNF package, 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".
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
206:
description: >
Partial Content.
On success, if the NFVO supports range requests, a single
consecutive byte range from the content of the VNF package file is
returned.
The response body shall contain the requested part of the VNF
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:
Content-Range:
type: string
maximum: 1
minimum: 1
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
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
404:
$ref: "responses/SOL005_resp.yaml#/responses/404"
405:
$ref: "responses/SOL005_resp.yaml#/responses/405"
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/VNFPackageManagement_resp.yaml#/responses/409"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"