Commit 4ed27582 authored by rameshnaraya's avatar rameshnaraya
Browse files

Merge Request issue.

Re committing VNFPM files.
parent 35f30f0a
Pipeline #163 passed with stage
in 0 seconds
...@@ -2,9 +2,9 @@ swagger: "2.0" ...@@ -2,9 +2,9 @@ swagger: "2.0"
info: info:
version: "2.4.1" version: "2.4.1"
title: DRAFT - SOL005 - VNF Package Management Interface title: SOL005 - VNF Package Management Interface
description: > description: >
DRAFT - SOL005 - VNF Package Management Interface SOL005 - VNF Package Management Interface
IMPORTANT: Please note that this file might be not aligned to the current 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 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 approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
...@@ -35,59 +35,59 @@ paths: ...@@ -35,59 +35,59 @@ paths:
'/vnf_packages': '/vnf_packages':
#ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.2 #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.2
get: get:
summary: "VNF packages" summary: Query VNF packages information.
description: > description: >
"The GET method queries the information of the VNF packages matching the filter. The GET method queries the information of the VNF packages matching the filter.
This method shall follow the provisions specified in the This method shall follow the provisions specified in the
Tables 9.4.2.3.2-1 and 9.4.2.3.2-2 for URI query parameters, Tables 9.4.2.3.2-1 and 9.4.2.3.2-2 for URI query parameters,
request and response data structures, and response codes." request and response data structures, and response codes.
parameters: parameters:
- name: "filter" - name: "filter"
in: "query" in: "query"
required: false required: false
type: "string" type: "string"
description: > description: >
"Attribute-based filtering parameters according to clause 4.3.2. Attribute-based filtering parameters according to clause 4.3.2.
The NFVO shall support receiving filtering parameters as part of the URI query string. The The NFVO shall support receiving filtering parameters as part of the URI query string. The
OSS/BSS may supply filtering parameters. OSS/BSS may supply filtering parameters.
All attribute names that appear in the VnfPkgInfo and in data types referenced from it shall All attribute names that appear in the VnfPkgInfo and in data types referenced from it shall
be supported in attribute-based filtering parameters." be supported in attribute-based filtering parameters.
- name: "all_fields" - name: "all_fields"
in: "query" in: "query"
required: false required: false
type: "string" type: "string"
description: > description: >
"Include all complex attributes in the response. See clause 4.3.3 Include all complex attributes in the response. See clause 4.3.3 for details. The NFVO
for details. The NFVO shall support this parameter." shall support this parameter.
- name: "fields" - name: "fields"
in: "query" in: "query"
required: false required: false
type: "string" type: "string"
description: > description: >
"Complex attributes to be included into the response. See clause 4.3.3 for Complex attributes to be included into the response. See clause 4.3.3 for details. The
details. The NFVO should support this parameter." NFVO should support this parameter.
- name: "exclude_fields" - name: "exclude_fields"
in: "query" in: "query"
required: false required: false
type: "string" type: "string"
description: > description: >
"Complex attributes to be excluded from the response. See clause 4.3.3 for Complex attributes to be excluded from the response. See clause 4.3.3 for details. The
details. The NFVO should support this parameter." NFVO should support this parameter.
- name: "exclude_default" - name: "exclude_default"
in: "query" in: "query"
required: false required: false
type: "string" type: "string"
description: > description: >
"Indicates to exclude the following complex attributes from the response. See clause 4.3.3 Indicates to exclude the following complex attributes from the response. See clause 4.3.3
for details. The NFVO shall support this parameter. for details.
The NFVO shall support this parameter.
The following attributes shall be excluded from the VnfPkgInfo structure in the response The following attributes shall be excluded from the VnfPkgInfo structure in the response
body if this parameter is provided, or none of the parameters "all_fields," "fields", body if this parameter is provided, or none of the parameters "all_fields," "fields",
"exclude_fields", "exclude_default" are provided: "exclude_fields", "exclude_default" are provided:
- softwareImages - softwareImages
- additionalArtifacts - additionalArtifacts
- userDefinedData - userDefinedData
- checksum." - checksum
- name: Accept - name: Accept
description: > description: >
Content-Types that are acceptable for the response. Content-Types that are acceptable for the response.
...@@ -105,12 +105,25 @@ paths: ...@@ -105,12 +105,25 @@ paths:
responses: responses:
200: 200:
description: > description: >
"Status 200" 200 OK.
schema: Information of the selected VNF packages.
type: "array" headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
type: string
description: > description: >
"Information of the selected VNF packages." Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
schema:
type: array
items: items:
properties:
VnfPkgInfo:
$ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo" $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo"
400: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
...@@ -132,17 +145,10 @@ paths: ...@@ -132,17 +145,10 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/503" $ref: "responses/SOL005_resp.yaml#/responses/503"
post: post:
summary: "VNF packages" summary: Create a new individual VNF package resource.
description: > description: >
"The POST method creates a new individual VNF package resource." The POST method creates a new individual VNF package resource.
parameters: parameters:
- name: "CreateVnfPkgInfoRequest"
description: >
"IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2"
in: "body"
required: true
schema:
$ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/CreateVnfPkgInfoRequest"
- name: Accept - name: Accept
description: > description: >
Content-Types that are acceptable for the response. Content-Types that are acceptable for the response.
...@@ -164,6 +170,19 @@ paths: ...@@ -164,6 +170,19 @@ paths:
in: header in: header
required: true required: true
type: string type: string
- name: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "CreateVnfPkgInfoRequest"
properties:
CreateVnfPkgInfoRequest:
$ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/CreateVnfPkgInfoRequest"
description: >
IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2
responses: responses:
201: 201:
description: > description: >
...@@ -191,7 +210,7 @@ paths: ...@@ -191,7 +210,7 @@ paths:
'/vnf_packages/{vnfPkgId}': '/vnf_packages/{vnfPkgId}':
#ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.3 #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.3
get: get:
summary: "Individual VNF package" summary: Read information about an individual VNF package.
description: > description: >
"This resource represents an individual VNF package. "This resource represents an individual VNF package.
The client can use this resource to read information of the VNF The client can use this resource to read information of the VNF
...@@ -213,12 +232,31 @@ paths: ...@@ -213,12 +232,31 @@ paths:
type: string type: string
responses: responses:
200: 200:
description: > description: 200 OK.
"200 OK"
"Information of the VNF package."
schema: schema:
type: "object"
description: >
Information of the VNF package.
properties:
VnfPkgInfo:
$ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/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: >
The MIME type of the body of the response.This header
field shall be present if the response has a non-empty message body.
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: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
401: 401:
...@@ -238,7 +276,7 @@ paths: ...@@ -238,7 +276,7 @@ paths:
503: 503:
$ref: "responses/SOL005_resp.yaml#/responses/503" $ref: "responses/SOL005_resp.yaml#/responses/503"
delete: delete:
summary: "Individual VNF package" summary: Delete an individual VNF package.
description: > description: >
"The DELETE method deletes an individual NS descriptor resource. "The DELETE method deletes an individual NS descriptor resource.
parameters: parameters:
...@@ -252,14 +290,10 @@ paths: ...@@ -252,14 +290,10 @@ paths:
responses: responses:
204: 204:
description: > description: >
"204 No Content" 204 No Content.
"The operation has completed successfully. The response body
shall be empty." The VNF package was deleted successfully.
schema: The response body shall be empty.
type: "object"
description: >
"The operation has completed successfully. The response body
shall be empty."
409: 409:
$ref: "responses/VNFPackageManagement_resp.yaml#/responses/409" $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409"
400: 400:
...@@ -281,7 +315,7 @@ paths: ...@@ -281,7 +315,7 @@ paths:
503: 503:
$ref: "responses/SOL005_resp.yaml#/responses/503" $ref: "responses/SOL005_resp.yaml#/responses/503"
patch: patch:
summary: "Individual VNF package" summary: Update information about an individual VNF package.
description: > description: >
"The PATCH method updates the information of a VNF package." "The PATCH method updates the information of a VNF package."
...@@ -289,7 +323,7 @@ paths: ...@@ -289,7 +323,7 @@ paths:
Tables 9.4.3.3.4-1 and 9.4.3.3.4-2 for URI query parameters, Tables 9.4.3.3.4-1 and 9.4.3.3.4-2 for URI query parameters,
request and response data structures, and response codes." request and response data structures, and response codes."
parameters: parameters:
- name: "VnfPkgInfoModifications" - name: "body"
in: "body" in: "body"
required: true required: true
schema: schema:
...@@ -297,10 +331,10 @@ paths: ...@@ -297,10 +331,10 @@ paths:
required: required:
- "VnfPkgInfoModifications" - "VnfPkgInfoModifications"
properties: properties:
NsdInfoModifications: VnfPkgInfoModifications:
$ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfoModifications" $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfoModifications"
description: > description: >
"Parameters for VNF package information modifications." Parameters for VNF package information modifications.
- name: Authorization - name: Authorization
description: > description: >
The authorization token for the request. The authorization token for the request.
...@@ -315,14 +349,16 @@ paths: ...@@ -315,14 +349,16 @@ paths:
in: header in: header
required: true required: true
type: string type: string
responses: responses:
200: 200:
description: > description: >
"200 OK." 200 OK.
"The operation was completed successfully. The operation was completed successfully.
The response body shall contain attribute The response body shall contain attribute
modifications for an "Individual VNF package" resource." modifications for an "Individual VNF
package" resource
headers: headers:
Content-Type: Content-Type:
description: The MIME type of the body of the response. description: The MIME type of the body of the response.
...@@ -338,6 +374,8 @@ paths: ...@@ -338,6 +374,8 @@ paths:
maximum: 1 maximum: 1
minimum: 0 minimum: 0
schema: schema:
properties:
VnfPkgInfoModifications:
$ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfoModifications" $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfoModifications"
409: 409:
$ref: "responses/VNFPackageManagement_resp.yaml#/responses/409" $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409"
...@@ -363,7 +401,7 @@ paths: ...@@ -363,7 +401,7 @@ paths:
parameters: parameters:
- name: "vnfPkgId" - name: "vnfPkgId"
description: > description: >
"Identifier of the VNF package. The identifier is allocated by the NFVO". Identifier of the VNF package. The identifier is allocated by the NFVO.
in: "path" in: "path"
required: true required: true
type: "string" type: "string"
...@@ -376,16 +414,16 @@ paths: ...@@ -376,16 +414,16 @@ paths:
parameters: parameters:
- name: vnfPkgId - name: vnfPkgId
description: > description: >
"Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO." Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO.
in: path in: path
type: string type: string
required: true required: true
get: get:
summary: "VNFD of an individual VNF package" summary: Read VNFD of an on-boarded VNF package.
description: > description: >
"The GET method reads the content of the VNFD within a VNF package." The GET method reads the content of the VNFD within a VNF package.
"The VNFD can be implemented as a single file or as a collection of multiple files. If the VNFD is implemented in the The VNFD can be implemented as a single file or as a collection of multiple files. If the VNFD is implemented in the
form of multiple files, a ZIP file embedding these files shall be returned. If the VNFD is implemented as a single file, form of multiple files, a ZIP file embedding these files shall be returned. If the VNFD is implemented as a single file,
either that file or a ZIP file embedding that file shall be returned. either that file or a ZIP file embedding that file shall be returned.
The selection of the format is controlled by the "Accept" HTTP header passed in the GET request. The selection of the format is controlled by the "Accept" HTTP header passed in the GET request.
...@@ -399,7 +437,7 @@ paths: ...@@ -399,7 +437,7 @@ paths:
representing the VNFD, and information necessary to navigate the ZIP file and to identify the file that is the entry point representing the VNFD, and information necessary to navigate the ZIP file and to identify the file that is the entry point
for parsing the VNFD (such as TOSCA-meta or manifest files or naming conventions) are included. for parsing the VNFD (such as TOSCA-meta or manifest files or naming conventions) are included.
This method shall follow the provisions specified in the Tables 9.4.4.3.2-1 and 9.4.4.3.2-2 for URI query parameters, This method shall follow the provisions specified in the Tables 9.4.4.3.2-1 and 9.4.4.3.2-2 for URI query parameters,
request and response data structures, and response codes." request and response data structures, and response codes.
parameters: parameters:
- name: Accept - name: Accept
description: > description: >
...@@ -420,7 +458,7 @@ paths: ...@@ -420,7 +458,7 @@ paths:
responses: responses:
200: 200:
description: > description: >
OK 200 OK.
On success, the content of the VNFD is returned. On success, the content of the VNFD is returned.
The payload body shall contain a copy of the file The payload body shall contain a copy of the file
...@@ -444,8 +482,6 @@ paths: ...@@ -444,8 +482,6 @@ paths:
type: string type: string
maximum: 1 maximum: 1
minimum: 0 minimum: 0
400: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
401: 401:
...@@ -479,10 +515,11 @@ paths: ...@@ -479,10 +515,11 @@ paths:
'/vnf_packages/{vnfPkgId}/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
get: get:
summary: "VNF package content" summary: Fetch an on-boarded VNF package.
description: > description: >
"The GET method fetches the content of a VNF package identified The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO.
by the VNF package identifier allocated by the NFVO." This method shall follow the provisions specified in the Tables 9.4.5.3.2-1 and 9.4.5.3.2-2 for URI query parameters,
request and response data structures, and response codes.
parameters: parameters:
- name: Accept - name: Accept
description: > description: >
...@@ -506,15 +543,15 @@ paths: ...@@ -506,15 +543,15 @@ paths:
type: "string" type: "string"
description: > description: >
The request may contain a "Range" HTTP header to obtain single The request may contain a "Range" HTTP header to obtain single
ange of bytes from the VNF package file. This can be used to range of bytes from the VNF package file. This can be used to
ontinue an aborted transmission. continue an aborted transmission.
If the NFVO does not support range requests, it should return the If the NFVO does not support range requests, it should return the
whole file with a 200 OK response instead. whole file with a 200 OK response instead.
responses: responses:
200: 200:
description: > description: >
OK 200 OK.
On success, a copy of the VNF package file is returned. On success, a copy of the VNF package file is returned.
The response body shall include a copy of the VNF package file. The response body shall include a copy of the VNF package file.
...@@ -537,12 +574,9 @@ paths: ...@@ -537,12 +574,9 @@ paths:
maximum: 1 maximum: 1
minimum: 0 minimum: 0
206: 206:
description: >
"Partial Content"
$ref: "responses/SOL005_resp.yaml#/responses/206" $ref: "responses/SOL005_resp.yaml#/responses/206"
409: 409:
description: > description: >
"Conflict"
$ref: "responses/VNFPackageManagement_resp.yaml#/responses/409-state-conflict-ONBOARDING" $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409-state-conflict-ONBOARDING"
416: 416:
description: > description: >
...@@ -566,9 +600,12 @@ paths: ...@@ -566,9 +600,12 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/503" $ref: "responses/SOL005_resp.yaml#/responses/503"
put: put:
summary: "VNF package content." summary: Upload a VNF package by providing the content of the VNF package.
description: > description: >
"The PUT method uploads the content of a VNF package." The PUT method uploads the content of a VNF package.
This method shall follow the provisions specified in the
Tables 9.4.5.3.3-1 and 9.4.5.3.3-2 for URI query parameters,
request and response data structures, and response codes.
consumes: consumes:
- multipart/form-data - multipart/form-data
parameters: parameters:
...@@ -584,15 +621,14 @@ paths: ...@@ -584,15 +621,14 @@ paths:
responses: responses:
202: 202:
description: > description: >
"202 Accepted" 202 Accepted.
"The VNF package was accepted for uploading, but the The VNF package was accepted for uploading, but the
processing has not been completed. It is expected to processing has not been completed. It is expected to
take some time for processing. take some time for processing.
The response body shall be empty. See note." The response body shall be empty.
409: 409:
description: > description: >
"409 Conflict"
$ref: "responses/VNFPackageManagement_resp.yaml#/responses/409-state-conflict-ONBOARDING-NOT-CREATED" $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409-state-conflict-ONBOARDING-NOT-CREATED"
400: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
...@@ -612,6 +648,8 @@ paths: ...@@ -612,6 +648,8 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/503" $ref: "responses/SOL005_resp.yaml#/responses/503"
parameters: parameters:
- name: "vnfPkgId" - name: "vnfPkgId"
description: >
Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO.
in: "path" in: "path"
required: true required: true
type: "string" type: "string"
...@@ -622,26 +660,12 @@ paths: ...@@ -622,26 +660,12 @@ paths:
'/vnf_packages/{vnfPkgId}/package_content/upload_from_uri': '/vnf_packages/{vnfPkgId}/package_content/upload_from_uri':
#ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.6 #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.6
post: post:
summary: "Upload VNF package from URI task." summary: Upload a VNF package by providing the address information of the VNF package.
description: > description: >
"This task resource represents the "Upload VNF package from URI" operation. The client can use this resource to This task resource represents the "Upload VNF package from URI" operation. The client can use this resource to