Commit 5999d9a3 authored by Michele Carignani's avatar Michele Carignani

New version of NSD provided by EB.

Change-Id: I2daa1217c7fa8b17c6724ac84c1023d49f58a9d7
parent 40cd944f
Pipeline #112 passed with stage
in 0 seconds
......@@ -25,7 +25,19 @@ paths:
\ resources. This method shall follow the provisions specified in the Tables\
\ 5.4.2.3.2-1 and 5.4.2.3.2-2 of GS NFV-SOL 005 for URI query parameters,\
\ request and response data structures, and response codes."
parameters: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "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.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005."
responses:
200:
description: "Information about zero or more NS descriptors.\nThe response\
......@@ -33,6 +45,17 @@ paths:
\ as defined in clause 5.5.2.2 of GS NFV-SOL 005."
schema:
$ref: "#/definitions/NsdInfo"
headers:
Content-Type:
type: "string"
description: "The MIME type of the body of the response.\nThis header\
\ field shall be present if the\nresponse 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:
description: "There are two possible scenarios listed below.\n\nError: Invalid\
\ attribute-based filtering parameters. \n\nThe response body shall contain\
......@@ -49,6 +72,25 @@ paths:
\ response data structures, and response codes."
consumes: []
parameters:
- name: "Accept"
in: "header"
required: false
type: "string"
description: "Content-Types that are acceptable for the\nresponse. This header\
\ field shall be present if the\nresponse is expected to have a non-empty\n\
message body."
- name: "Content-Type"
in: "header"
required: false
type: "string"
description: "The MIME type of the body of the request.\nThis header field\
\ shall be present if the\nrequest has a non-empty message body."
- name: "Authorization"
in: "header"
required: false
type: "string"
description: "The authorization token for the request.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005"
- name: "body"
in: "body"
required: true
......@@ -79,6 +121,16 @@ paths:
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.\nThis header\
\ field shall be present if the\nresponse 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."
/ns_descriptors/{nsdInfoId}:
get:
summary: "Query NSD Info"
......@@ -86,7 +138,20 @@ paths:
\ This method shall follow the provisions specified in GS NFV-SOL 005 Tables\
\ 5.4.3.3.2-1 and 5.4.3.3.2-2 of GS NFV-SOL 005 for URI query parameters,\
\ request and response data structures, and response codes."
parameters: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "Content-Types that are acceptable for the\nresponse. This header\
\ field shall be present \nif 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.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005."
responses:
200:
description: "Information about the individual NS descriptor. The response\
......@@ -94,6 +159,16 @@ paths:
\ as defined in clause 5.5.2.2 of GS NFV-SOL 005."
schema:
$ref: "#/definitions/NsdInfo"
headers:
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."
delete:
summary: "Delete NSD"
description: "The DELETE method deletes an individual NS descriptor resource.\
......@@ -103,7 +178,13 @@ paths:
\ 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."
parameters: []
parameters:
- name: "Authorization"
in: "header"
required: false
type: "string"
description: "The authorization token for the request.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005."
responses:
204:
description: "The operation has completed successfully. The response body\
......@@ -112,6 +193,12 @@ paths:
type: "object"
description: "The operation has completed successfully. The response body\
\ shall be empty."
headers:
WWW-Authenticate:
type: "string"
description: "Challenge if the corresponding HTTP request\nhas not provided\
\ authorization, or error details if the corresponding HTTP request\
\ has provided an invalid authorization token."
409:
description: "Status 409"
schema:
......@@ -145,6 +232,25 @@ paths:
\ and response codes."
consumes: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "Content-Types that are acceptable for the\nresponse. 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.\nThis header field\
\ shall be present if the\nrequest has a non-empty message body."
- name: "Authorization"
in: "header"
required: false
type: "string"
description: "The authorization token for the request.\nDetails are specified\
\ in clause 4.5.3."
- name: "body"
in: "body"
required: true
......@@ -163,6 +269,16 @@ paths:
description: "Status 200"
schema:
$ref: "#/definitions/NsdInfoModifications"
headers:
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."
409:
description: "Status 409"
schema:
......@@ -185,22 +301,21 @@ paths:
\ 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.\n\n\
The selection of the format is controlled by the \"Accept\" HTTP header passed\
\ in the GET request:\n\n If the \"Accept\" header contains only \"text/plain\"\
\ and the NSD is implemented as a single file, the file shall be returned;\
\ otherwise, an error message shall be returned.\n\n If the \"Accept\" header\
\ contains only \"application/zip\", the single file or the multiple files\
\ that make up the NSD shall be returned embedded in a ZIP file.\n\n If the\
\ \"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.\n\nNOTE: The structure\
\ of the NSD zip file is outside the scope of the present document."
\ in the GET request.\n\nNOTE: The structure of the NSD zip file is outside\
\ the scope of the present document."
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "The request shall contain the appropriate entries in the \"\
Accept\" HTTP header as defined above."
description: "String Required\nIf the “Accept” header contains only “text/plain”\
\ and the NSD is implemented as a single file, the file shall be returned;\
\ otherwise, an error message shall be returned.\n\nIf the “Accept” header\
\ contains only “application/zip”, the single file or the multiple files\
\ that make up the NSD shall be returned embedded in a ZIP file.\n\nIf the\
\ “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."
- name: "Range"
in: "header"
required: false
......@@ -211,6 +326,12 @@ paths:
\ shall ignore the 'Range\" header, process the GET request, and return\
\ the whole NSD file with a 200 OK response (rather than returning a 4xx\
\ error status code)."
- 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: "On success, the content of the NSD is returned. The payload\
......@@ -224,6 +345,22 @@ paths:
headers:
Content-Type:
type: "string"
description: "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."
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."
Content-Range:
type: "string"
description: "Signals the byte range that is contained in the response,\
\ and the total length of the file."
Accept-Ranges:
type: "string"
description: "Used by the server to signal whether or ot it supports\
\ ranges for certain resources."
206:
description: "On success, if the NFVO supports range requests, a single\
\ consecutive byte range from the content of the NSD file is returned.\n\
......@@ -337,6 +474,19 @@ paths:
type: "string"
description: "Include all complex attributes in the response. See clause 4.3.3\
\ for details. The NFVO shall support this parameter."
- name: "Accept"
in: "header"
required: false
type: "string"
description: "Content-Types that are acceptable for the\nresponse. 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.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005."
responses:
200:
description: "Status 200"
......@@ -345,11 +495,34 @@ paths:
description: "Information about zero or more PNF descriptors. The response\
\ body shall contain a representation of zero or more PNF descriptors,\
\ as defined in clause 5.5.2.2."
headers:
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\nhas not provided\
\ authorization, or error details if the corresponding HTTP request\
\ has provided an invalid authorization token."
post:
summary: "Create PNFD Info"
description: "The POST method is used to create a new PNF descriptor resource."
consumes: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "Content-Types that are acceptable for the\nresponse. 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.\nDetails are specified\
\ in clause 4.5.3 of GS-NFV-SOL 005."
- name: "body"
in: "body"
required: true
......@@ -367,6 +540,17 @@ paths:
\ 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."
headers:
Content-Type:
type: "string"
description: "The MIME type of the body of the response.\nThis header\
\ field shall be present if the\nresponse has a non-empty message\
\ body."
WWW-Authenticate:
type: "string"
description: "Challenge if the corresponding HTTP request\nhas not provided\
\ authorization, or error details if the corresponding HTTP request\
\ has provided an invalid authorization token."
/pnf_descriptors/{pnfdInfoId}:
get:
summary: "Query PNFD Info"
......@@ -374,12 +558,36 @@ paths:
\ 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."
parameters: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "Content-Types that are acceptable for the\nresponse. 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."
responses:
200:
description: "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 of GS NFV-SOL 005."
headers:
Content-Type:
type: "string"
description: "The MIME type of the body of the response.\nThis header\
\ field shall be present if the\nresponse 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."
delete:
summary: "Delete PNFD"
description: "The DELETE method deletes an individual PNF descriptor resource.\
......@@ -392,11 +600,23 @@ paths:
\ 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."
parameters: []
parameters:
- name: "Authorization"
in: "header"
required: false
type: "string"
description: "The authorization token for the request. Details are specified\
\ in clause 4.5.3."
responses:
204:
description: "The operation has completed successfully. The response body\
\ shall be empty."
headers:
WWW-Authenticate:
type: "string"
description: "Challenge if the corresponding HTTP request\nhas not provided\
\ authorization, or error details if the corresponding HTTP request\
\ has provided an invalid authorization token."
patch:
summary: "Update PNFD Info"
description: "The PATCH method modifies the user defined data of an individual\
......@@ -405,6 +625,25 @@ paths:
\ and response data structures, and response codes."
consumes: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "Content-Types that are acceptable for the\nresponse. 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
......@@ -415,6 +654,17 @@ paths:
description: "Status 200"
schema:
$ref: "#/definitions/PnfdInfoModifications"
headers:
Content-Type:
type: "string"
description: "The MIME type of the body of the response.\nThis header\
\ field shall be present if the\nresponse 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."
412:
description: "Status 412"
schema:
......@@ -428,12 +678,35 @@ paths:
get:
summary: "Get PNFD Content"
description: "The GET method fetches the content of the PNFD."
parameters: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "Content-Types that are acceptable for the\nresponse. 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.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005."
responses:
200:
description: "On success, the content of the PNFD is returned. The payload\
\ body shall contain a copy of the file representing the PNFD. The \"\
Content-Type\" HTTP header shall be set to \"text/plain\"."
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."
Content-Type:
type: "string"
description: "The \"Content-Type\" HTTP header shall be set to \"text/plain\"\
."
put:
summary: "Upload PNFD"
description: "The PUT method is used to upload the content of a PNFD. This method\
......@@ -476,7 +749,20 @@ paths:
\ after error situations. This method shall support the URI query parameters,\
\ request and response data structures, and response codes, as specified in\
\ the Tables 5.4.8.3.2-1 and 5.4.8.3.2-2 of GS NFV-SOL 005."
parameters: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "Content-Types that are acceptable for the\nresponse. 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.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005."
responses:
200:
description: "Status 200"
......@@ -487,6 +773,16 @@ paths:
\ of the functional block that invokes the method."
items:
$ref: "#/definitions/NsdmSubscription"
headers:
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."
303:
description: "A subscription with the same callbackURI and the same filter\
\ already exits and the policy of the NFVO is to not create redundant\
......@@ -513,6 +809,25 @@ paths:
\ callbackUri)."
consumes: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "Content-Types that are acceptable for the\nresponse. 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.\nThis header field\
\ shall be present if the\nrequest has a non-empty message body."
- name: "Authorization"
in: "header"
required: false
type: "string"
description: "The authorization token for the request.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005."
- name: "body"
in: "body"
required: true
......@@ -528,6 +843,15 @@ paths:
type: "string"
description: "The HTTP response shall include a \"Location:\"\nHTTP\
\ header that points to the created subscription 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."
/subscriptions/{subscriptionId}:
get:
summary: "Query Subscription Information"
......@@ -535,23 +859,59 @@ paths:
\ an individual subscription resource. This method shall support the URI query\
\ parameters, request and response data structures, and response codes, as\
\ specified in the Tables 5.4.9.3.2-1 and 5.4.9.3.2-2."
parameters: []
parameters:
- name: "Accept"
in: "header"
required: true
type: "string"
description: "Content-Types that are acceptable for the\nresponse. 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.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005."
responses:
200:
description: "Status 200"
schema:
$ref: "#/definitions/NsdmSubscription"
headers:
Content-Type:
type: "string"
description: "The MIME type of the body of the response.\nThis header\
\ field shall be present if the\nresponse has a non-empty message\
\ body."
WWW-Authenticate:
type: "string"
description: "Challenge if the corresponding HTTP request\nhas not provided\
\ authorization, or error details if the corresponding HTTP request\
\ has provided an invalid authorization token."
delete:
summary: "Terminate Subscription"
description: "The DELETE method terminates an individual subscription. This\
\ method shall support the URI query parameters, request and response data\
\ structures, and response codes, as specified in the Tables 5.4.9.3.5-1 and\
\ 5.4.9.3.3-2 of GS NFV-SOL 005."
parameters: []
parameters:
- name: "Authorization"
in: "header"
required: false
type: "string"
description: "The authorization token for the request.\nDetails are specified\
\ in clause 4.5.3 of GS NFV-SOL 005."
responses:
204:
description: "The subscription resource was deleted successfully. The response\
\ body shall be empty."
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."
parameters:
- name: "subscriptionId"
in: "path"
......@@ -567,23 +927,14 @@ definitions:
type: "object"
description: "Modifications of the \"userDefinedData\" attribute in \"NsdInfo\"\
\ data type. See note. If present, these modifications shall be applied\
\ according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]).\n\
NOTE: At least one of the attributes - nsdOperationalState and userDefinedData\
\ according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). NOTE:\
\ At least one of the attributes - nsdOperationalState and userDefinedData\
\ - shall be present."
description: "This type represents attribute modifications for an individual NS\
\ descriptor resource based on the \"NsdInfo\" data type. The attributes of\
\ \"NsdInfo\" that can be modified are included in the \"NsdInfoModifications\"\
\ data type.\n\nNOTE: At least one of the attributes - nsdOperationalState and\
\ userDefinedData - shall be present."
nsdOperationalState:
type: "array"
description: "New value of the \"nsdOperationalState\" attribute in \"NsdInfo\"\
\ data type. See note.\nPermitted values: ENABLED, DISABLED\n\nHow do I add\
\ cardinality?"
items:
$ref: "#/definitions/NsdInfoModifications"
userDefinedData:
$ref: "#/definitions/NsdInfoModifications"
NsdmSubscription:
type: "object"
required:
......@@ -592,7 +943,8 @@ definitions:
- "id"
properties:
id:
$ref: "#/definitions/Identifier"
type: "string"
description: "Identifier of this subscription resource"
filter:
$ref: "#/definitions/NsdmNotificationsFilter"
callbackUri:
......@@ -619,19 +971,19 @@ definitions:
$ref: "#/definitions/SubscriptionAuthentication"
description: "This type represents a subscription request related to notifications\
\ about NSD management."
Identifier:
type: "object"
NsdmNotificationsFilter:
type: "object"