Commit 1f887009 authored by rameshnaraya's avatar rameshnaraya

Merge Request Issue. Re committing NSD Files.

parent 7a10c8d8
Pipeline #159 passed with stage
in 0 seconds
......@@ -2,13 +2,13 @@ swagger: "2.0"
info:
description: >
"DRAFT - SOL005 - NSD Management Interface IMPORTANT: Please note that
"SOL005 - NSD Management Interface 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 approved by the ETSI NFV ISG. In case of discrepancies
the published ETSI Group Specification takes precedence. Please report bugs
to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis"
version: "2.4.1"
title: "DRAFT - SOL005 - NSD Management Interface"
title: "SOL005 - NSD Management Interface"
contact:
name: "NFV-SOL WG"
license:
......@@ -100,22 +100,30 @@ paths:
responses:
200:
description: >
"Information about zero or more NS descriptors.
200 OK.
Information about zero or more NS descriptors.
The response body shall contain a representation of
zero or more NS descriptors, as defined in
clause 5.5.2.2"
schema:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
clause 5.5.2.2
headers:
Content-Type:
type: string
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.
schema:
type: array
items:
properties:
NsdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -141,19 +149,8 @@ paths:
post:
summary: "Create a new NS descriptor resource."
description: >
"The POST method is used to create a new NS descriptor resource or a new version of an on-boarded NS descriptor
resource. This method shall follow the provisions specified in the
Tables 5.4.2.3.1-1 and 5.4.2.3.1-2 for URI query parameters,
request and response data structures, and response codes."
The POST method is used to create a new NS descriptor resource or a new version of an on-boarded NS descriptor.
parameters:
- name: "createNsdInfoRequest"
description: >
"The CreateNsdInfoRequest contains parameters for creating
an NS descriptor resource, as defined in clause 5.5.2.4 of GS NFV-SOL 005."
in: "body"
required: true
schema:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreateNsdInfoRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -175,19 +172,55 @@ paths:
in: header
required: true
type: string
- name: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "CreateNsdInfoRequest"
properties:
CreateNsdInfoRequest:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreateNsdInfoRequest"
description: >
The CreateNsdInfoRequest contains parameters for creating
an NS descriptor resource, as defined in clause 5.5.2.4 of GS NFV-SOL 005.
responses:
201:
description: "Status 201"
schema:
type: "object"
description: >
Status 201
201 Created.
An NS descriptor resource was created
successfully, as a new NS descriptor resource.
The response body shall contain a representation of
the new NS descriptor resource, as defined in
clause 5.5.2.2.
An NS descriptor resource was created successfully, as a
new NS descriptor resource. The response body shall contain a representation
of the new NS descriptor resource, as defined in clause 5.5.2.2 of
GS NFV-SOL 005.
The HTTP response shall include a "Location"
HTTP header that contains the resource URI of the
new NS descriptor resource.
properties:
NsdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
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:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -210,22 +243,7 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
schema:
type: "object"
description: >
"An NS descriptor resource was created successfully, as a
new NS descriptor resource. The response body shall contain a representation
of the new NS descriptor resource, as defined in clause 5.5.2.2 of
GS NFV-SOL 005."
properties:
NsdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
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."
###############################################################################
# Individual NS Descriptor #
###############################################################################
......@@ -254,15 +272,36 @@ paths:
type: string
responses:
200:
description: "Status 201"
schema:
type: "object"
description: >
200 OK
200 OK.
Information about the individual NS descriptor.
The response body shall contain a representation of
the individual NS descriptor, as defined in
clause 5.5.2.2.
schema:
properties:
NsdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
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:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
401:
......@@ -285,17 +324,31 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
delete:
summary: "Delete an individual NS descriptor resource."
patch:
summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource.
description: >
"The DELETE method deletes an individual NS descriptor resource.
An individual NS descriptor resource can only be deleted when there is no
NS instance using it (i.e. usageState = NOT_IN_USE) and has been disabled
already (i.e. operationalState = DISABLED). Otherwise, the DELETE method
shall fail. This method shall follow the provisions specified in the Tables
5.4.3.3.5-1 and 5.4.3.3.5-2 of GS NFV-SOL 005 for URI query parameters,
request and response data structures, and response codes."
The PATCH method modifies the operational state and/or user defined
data of an individual NS descriptor resource. This method can be used to:
1) Enable a previously disabled individual NS descriptor resource, allowing
again its use for instantiation of new network service with this descriptor.
The usage state (i.e. "IN_USE/NOT_IN_USE") shall not change as result.
2) Disable a previously enabled individual NS descriptor resource, preventing
any further use for instantiation of new network service(s) with this descriptor.
The usage state (i.e. "IN_USE/NOT_IN_USE") shall not changes a result.
3) Modify the user defined data of an individual NS descriptor resource.
parameters:
- name: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "NsdInfoModifications"
properties:
NsdInfoModifications:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications"
description: >
Parameters for the modification of an individual NS descriptor resource.
- name: Authorization
description: >
The authorization token for the request.
......@@ -303,14 +356,27 @@ paths:
in: header
required: false
type: string
- name: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
responses:
204:
200:
description: >
204 No Content
The operation has completed successfully.
The response body shall be empty.
200 OK.
The operation was completed successfully.
The response body shall contain attribute
modifications for an 'Individual NS Descriptor'
resource.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
......@@ -319,6 +385,12 @@ paths:
type: string
maximum: 1
minimum: 0
schema:
type: array
items:
properties:
NsdInfoModifications:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
401:
......@@ -341,36 +413,15 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
patch:
summary: "Update NSD Info"
delete:
summary: "Delete an individual NS descriptor resource."
description: >
"The PATCH method modifies the operational state and/or user defined
data of an individual NS descriptor resource. This method can be used to:
1) Enable a previously disabled individual NS descriptor resource, allowing
again its use for instantiation of new network service with this descriptor.
The usage state (i.e. "IN_USE/NOT_IN_USE") shall not change as result.
2) Disable a previously enabled individual NS descriptor resource, preventing
any further use for instantiation of new network service(s) with this descriptor.
The usage state (i.e. "IN_USE/NOT_IN_USE") shall not changes a result.
3) Modify the user defined data of an individual NS descriptor resource.
This method shall follow the provisions specified in the Tables 5.4.3.3.4-1
and 5.4.3.3.4-2 for URI query parameters,request and response data structures,
and response codes."
The DELETE method deletes an individual NS descriptor resource.
An individual NS descriptor resource can only be deleted when there is no NS instance using it (i.e. usageState =
NOT_IN_USE) and has been disabled already (i.e. operationalState = DISABLED). Otherwise, the DELETE method
shall fail.
parameters:
- name: "NsdInfoModifications"
in: "body"
required: true
schema:
type: "object"
required:
- "NsdInfoModifications"
properties:
NsdInfoModifications:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications"
description: >
"The operation was completed successfully. The response body
shall contain attribute modifications for an 'Individual NS Descriptor'
resource (see clause 5.5.2.6 of GS NFV SOL-005)."
- name: Authorization
description: >
The authorization token for the request.
......@@ -378,26 +429,14 @@ paths:
in: header
required: false
type: string
- name: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
responses:
200:
204:
description: >
Information about the individual NS descriptor.
The response body shall contain a representation of
the individual NS descriptor, as defined in
clause 5.5.2.2.
204 No Content
The operation has completed successfully.
The response body shall be empty.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
......@@ -406,10 +445,6 @@ paths:
type: string
maximum: 1
minimum: 0
schema:
type: array
items:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
401:
......@@ -440,6 +475,7 @@ paths:
in: "path"
required: true
type: "string"
###############################################################################
# NSD Content #
###############################################################################
......@@ -447,9 +483,9 @@ paths:
get:
summary: "Fetch the content of a NSD."
description: >
"The GET method fetches the content of the NSD.The NSD can
be implemented as a single file or as a collection of multiple files. If
the NSD is implemented in the form of multiple files, a ZIP file embedding
The GET method fetches the content of the NSD.
The NSD can be implemented as a single file or as a collection of multiple files.
If the NSD is implemented in the form of multiple files, a ZIP file embedding
these files shall be returned. If the NSD is implemented as a single file,
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
......@@ -461,7 +497,7 @@ paths:
"Accept" header contains both "text/plain" and "application/zip",
it is up to the NFVO to choose the format to return for a single-file NSD;
for a multi-file NSD, a ZIP file shall be returned.NOTE: The structure
of the NSD zip file is outside the scope of the present document."
of the NSD zip file is outside the scope of the present document.
parameters:
- name: Accept
description: >
......@@ -493,12 +529,16 @@ paths:
responses:
200:
description: >
"On success, the content of the NSD is returned. The payload
body shall contain a copy of the file representing the NSD or a ZIP
file that contains the file or multiple files representing the NSD,
as specified above. The "Content-Type" HTTP header shall be set according
to the format of the returned file, i.e. to "text/plain" for a YAML
file or to "application/zip" for a ZIP file."
OK.
On success, the content of the NSD is returned.
The payload body shall contain a copy of the file
representing the NSD or a ZIP file that contains the file
or multiple files representing the NSD, as specified
above.
The "Content-Type" HTTP header shall be set
according to the format of the returned file, i.e. to
"text/plain" for a YAML file or to "application/zip" for a
ZIP file.
headers:
Content-Type:
description: The MIME type of the body of the response.
......@@ -513,7 +553,6 @@ paths:
type: string
maximum: 1
minimum: 0
206:
$ref: "responses/SOL005_resp.yaml#/responses/206"
400:
......@@ -529,7 +568,7 @@ paths:
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
$ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409-nsd-onboarding-state-NOT-ONBOARDED"
412:
$ref: "responses/SOL005_resp.yaml#/responses/412"
416:
......@@ -544,21 +583,26 @@ paths:
description: >
"The PUT method is used to upload the content of a NSD. The NSD
to be uploaded can be implemented as a single file or as a collection of
multiple files, as defined in clause 5.4.4.3.2 of GS NFV-SOL 005. If the
NSD is implemented in the form of multiple files, a ZIP file embedding these
files shall be uploaded. If the NSD is implemented as a single file, either
that file or a ZIP file embedding that file shall be uploaded. The "Content-Type"
multiple files, as defined in clause 5.4.4.3.2 of GS NFV-SOL 005.
If the NSD is implemented in the form of multiple files, a ZIP file embedding these
files shall be uploaded.
If the NSD is implemented as a single file, either that file or a ZIP file
embedding that file shall be uploaded. The "Content-Type"
HTTP header in the PUT request shall be set accordingly based on the format
selection of the NSD. If the NSD to be uploaded is a text file, the "Content-Type"
header is set to "text/plain". If the NSD to be uploaded is a zip file,
the "Content-Type" header is set to "application/zip". This method shall
follow the provisions specified in the Tables 5.4.4.3.3-1 and 5.4.4.3.3-2
selection of the NSD.
If the NSD to be uploaded is a text file, the "Content-Type"
header is set to "text/plain".
If the NSD to be uploaded is a zip file,
the "Content-Type" header is set to "application/zip".
This method shall follow the provisions specified in the Tables 5.4.4.3.3-1 and 5.4.4.3.3-2
of GS-NFV-SOL 005 for URI query parameters, request and response data structures,
and response codes."
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
The payload body contains a copy of the file representing the NSD
or a ZIP file that contains the file or multiple files representing the NSD.
in: header
required: true
type: string
......@@ -575,7 +619,7 @@ paths:
responses:
202:
description: >
"Status 202"
202 Accepted
headers:
Content-Type:
description: The MIME type of the body of the response.
......@@ -592,8 +636,10 @@ paths:
minimum: 0
204:
description: >
"The NSD content was successfully uploaded and validated (synchronous
mode). The response body shall be empty."
204 No Content
The NSD content was successfully uploaded and validated (synchronous mode).
The response body shall be empty.
206:
$ref: "responses/SOL005_resp.yaml#/responses/206"
400:
......@@ -609,7 +655,7 @@ paths:
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
$ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409-nsd-onboarding-state-NOT-ONBOARDED"
412:
$ref: "responses/SOL005_resp.yaml#/responses/412"
416:
......@@ -624,6 +670,7 @@ paths:
in: "path"
required: true
type: "string"
###############################################################################
# PNF Descriptors #
###############################################################################
......@@ -700,8 +747,10 @@ paths:
maximum: 1
minimum: 0
schema:
type: array
type: "array"
items:
properties:
PnfdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
......@@ -728,15 +777,8 @@ paths:
post:
summary: "Create a new PNF descriptor resource."
description: >
"The POST method is used to create a new PNF descriptor resource."
The POST method is used to create a new PNF descriptor resource
parameters:
- name: "CreatePnfdInfoRequest"
description: >
"Parameters of creating a PNF descriptor resource, as defined in clause 5.5.2.6."
in: "body"
required: true
schema:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreatePnfdInfoRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -758,32 +800,52 @@ paths:
in: header
required: true
type: string
- name: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "CreatePnfdInfoRequest"
properties:
CreatePnfdInfoRequest:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreatePnfdInfoRequest"
description: >
Parameters of creating a PNF descriptor resource.
responses:
201:
description: 201 Created.
schema:
type: "object"
description: >
Status 201
A PNF descriptor resource was created successfully, as a
new PNF descriptor resource. The response body shall contain a representation
of the new PNF descriptor resource, as defined in clause 5.5.2.5.
The HTTP response shall include a "Location" HTTP header that contains
the resource URI of the new PNF descriptor resource.
A PNF descriptor resource was created successfully,
as a new PNF descriptor resource.
The response body shall contain a representation of
the new PNF descriptor resource.
The HTTP response shall include a "Location" HTTP
header that contains the resource URI of the new
PNF descriptor resource
properties:
PnfdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
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:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
206:
$ref: "responses/SOL005_resp.yaml#/responses/206"
400:
......@@ -815,18 +877,34 @@ paths:
get:
summary: "Read an individual PNFD resource."
description: >
"The GET method reads information about an individual PNF descriptor.
The GET method reads information about an individual PNF descriptor.
This method shall follow the provisions specified in the Tables 5.4.6.3.2-1
and 5.4.6.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and
response data structures, and response codes."
response data structures, and response codes.
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: >
Content-Types that are acceptable for the response. This header
field shall be present if the response is expected to have a non-empty
message body.
- name: "Authorization"
in: "header"
required: false
type: "string"
description: >
The authorization token for the request. Details are specified
in clause 4.5.3 of GS NFV-SOL 005.
responses:
200:
description: >
Information about the individual PNFD descriptor.
200 OK
Information about the individual PNFD descriptor.
The response body shall contain a representation of
the individual PNF descriptor, as defined in
clause 5.5.2.5.
the individual PNF descriptor.
headers:
Content-Type:
description: The MIME type of the body of the response.
......@@ -842,6 +920,9 @@ paths:
maximum: 1
minimum: 0
schema:
type: "object"
properties:
PnfdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
......@@ -868,16 +949,12 @@ paths:
delete:
summary: "Delete an individual PNF descriptor resource."
description: >
"The DELETE method deletes an individual PNF descriptor resource.
An individual PNF descriptor resource can only be deleted when there is
no NS instance using it or there is NSD referencing it. To delete all PNFD
versions identified by a particular value of the "pnfdInvariantId" attribute,
the procedure is to first use the GET method with filter "pnfdInvariantId"
towards the PNF descriptors resource to find all versions of the PNFD. Then,
the client uses the DELETE method described in this clause to delete each
PNFD version individually. This method shall follow the provisions specified
in the Tables 5.4.6.3.5-1 and 5.4.6.3.5-2 of GS NFV-SOL 005 for URI query
parameters, request and response data structures, and response codes."
The DELETE method deletes an individual PNF descriptor resource.
An individual PNF descriptor resource can only be deleted when there is no NS instance using it or there is NSD
referencing it.
To delete all PNFD versions identified by a particular value of the "pnfdInvariantId" attribute, the procedure is to first
use the GET method with filter "pnfdInvariantId" towards the PNF descriptors resource to find all versions of the
PNFD. Then, the client uses the DELETE method described in this clause to delete each PNFD version individually.
responses:
204:
description: >
......@@ -912,42 +989,69 @@ paths:
patch:
summary: "Modify the user defined data of an individual PNF descriptor resource."
description: >
"The PATCH method modifies the user defined data of an individual
PNF descriptor resource. This method shall follow the provisions specified
in the Tables 5.4.6.3.4-1 and 5.4.6.3.4-2 for URI query parameters, request
and response data structures, and response codes."
The PATCH method modifies the user defined data of an individual PNF descriptor resource.
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: >
Content-Types that are acceptable for the response. This header
field shall be present if the response is expected to have a non-empty
message body.
- name: "Content-Type"
in: "header"
required: true
type: "string"
description: >
The MIME type of the body of the request. This header field
shall be present if the request has a non-empty message body.
- name: "Authorization"
in: "header"
required: false
type: "string"
description: >
The authorization token for the request. Details are specified in clause 4.5.3.
- name: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "PnfdInfoModifications"
properties:
PnfdInfoModifications:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications"
description: >
The PATCH method modifies the user defined data of an individual PNF descriptor resource.
responses:
200:
description: >
200 OK
The operation was completed successfully.
The response body shall contain attribute
modifications for an 'Individual PNF Descriptor'
resource (see clause 5.5.2.4).
200 OK.
schema:
type: "object"
properties:
PnfdInfoModifications: