Commit 875bd4d7 authored by moscatelli's avatar moscatelli
Browse files

SOL005_8: Link and nextpage_opaque_marker added in NS mgmt and NS performarce...

SOL005_8: Link and nextpage_opaque_marker added in NS mgmt and NS performarce mgmt GET requests + code formatting
parent c2da30f6
Pipeline #512 failed with stage
in 0 seconds
......@@ -13,74 +13,81 @@ info:
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact:
contact:
name: "NFV-SOL WG"
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: "/nsd/v1"
schemes:
- https
- https
consumes:
- "application/json"
- "application/json"
produces:
- "application/json"
- "application/json"
paths:
###############################################################################
# NS Descriptors #
###############################################################################
###############################################################################
# NS Descriptors #
###############################################################################
'/ns_descriptors':
#ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.2
get:
summary: Query information about multiple NS descriptor resources.
description: >
"The GET method queries information about multiple NS descriptor resources.
description: >
The GET method queries information about multiple NS descriptor resources.
This method shall follow the provisions specified in the
Tables 5.4.2.3.2-1 and 5.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:
- name: "filter"
in: "query"
- name: filter
in: query
required: false
type: "string"
description: >
"Attribute-based filtering parameters according to clause 4.3.2.
type: string
description: >
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 OSS/BSS may supply filtering parameters.
All attribute names that appear in the NsdInfo and in data types referenced from
it shall be supported in attribute-based filtering parameters."
- name: "all_fields"
in: "query"
it shall be supported in attribute-based filtering parameters.
- name: all_fields
in: query
required: false
type: "string"
description: >
"Include all complex attributes in the response. See clause 4.3.3 for details.
The NFVO shall support this parameter."
- name: "fields"
in: "query"
type: string
description: >
Include all complex attributes in the response. See clause 4.3.3 for details.
The NFVO shall support this parameter.
- name: fields
in: query
required: false
type: "string"
description: >
"Complex attributes to be included into the response. See clause 4.3.3 for
details. The NFVO should support this parameter."
- name: "exclude_fields"
in: "query"
type: string
description: >
Complex attributes to be included into the response. See clause 4.3.3 for
details. The NFVO should support this parameter.
- name: exclude_fields
in: query
required: false
type: "string"
description: >
"Complex attributes to be excluded from the response. See clause 4.3.3 for
details. The NFVO should support this parameter."
- name: "exclude_default"
in: "query"
type: string
description: >
Complex attributes to be excluded from the response. See clause 4.3.3 for
details. The NFVO should support this parameter.
- name: exclude_default
in: query
required: false
type: "string"
description: >
"Indicates to exclude the following complex attributes from the response. See
type: string
description: >
Indicates to exclude the following complex attributes from the response. See
clause 4.3.3 for details. The VNFM shall support this parameter.
The following attributes shall be excluded from the NsdInfo structure in the
response body if this parameter is provided, or none of the parameters
"all_fields," "fields", "exclude_fields", "exclude_default" are provided:
userDefinedData."
userDefinedData.
- name: nextpage_opaque_marker
in: query
description: >
Marker to obtain the next page of a paged response. Shall be supported by the NFVO
if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
required: false
type: string
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -105,7 +112,7 @@ paths:
200:
description: >
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
......@@ -117,7 +124,7 @@ paths:
maximum: 1
minimum: 1
WWW-Authenticate:
type: "string"
type: string
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
......@@ -130,12 +137,18 @@ paths:
type: string
maximum: 1
minimum: 1
Link:
description: >
Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
type: string
maximum: 1
minimum: 0
schema:
type: array
items:
properties:
NsdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -151,62 +164,62 @@ paths:
409:
$ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
412:
$ref: "responses/SOL005_resp.yaml#/responses/412"
$ref: "responses/SOL005_resp.yaml#/responses/412"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
$ref: "responses/SOL005_resp.yaml#/responses/503"
post:
summary: Create a new NS descriptor resource.
description: >
description: >
The POST method is used to create a new NS descriptor resource or a new version of an on-boarded NS descriptor.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
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: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
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: >
Parameters of creating an NS descriptor resource, as defined in clause 5.5.2.3
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
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: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
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: >
Parameters of creating an NS descriptor resource, as defined in clause 5.5.2.3
responses:
201:
description: >
Status 201
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.3 of GS NFV-SOL 005.
......@@ -214,19 +227,19 @@ paths:
HTTP header that contains the resource URI of the
new NS descriptor resource.
schema:
type: "object"
type: object
properties:
NsdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
headers:
Content-Type:
type: "string"
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"
type: string
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
......@@ -254,45 +267,45 @@ paths:
409:
$ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
412:
$ref: "responses/SOL005_resp.yaml#/responses/412"
$ref: "responses/SOL005_resp.yaml#/responses/412"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Individual NS Descriptor #
###############################################################################
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Individual NS Descriptor #
###############################################################################
'/ns_descriptors/{nsdInfoId}':
#ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.3
parameters:
- name: "nsdInfoId"
- name: nsdInfoId
description: >
Identifier of the individual NS descriptor resource.
in: "path"
in: path
required: true
type: "string"
type: string
get:
summary: Read information about an individual NS descriptor resource.
description: >
"The GET method reads information about an individual NS descriptor.
description: >
The GET method reads information about an individual NS descriptor.
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."
request and response data structures, and response codes.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
Reference: IETF RFC 7231.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
Reference: IETF RFC 7235.
in: header
required: false
type: string
......@@ -306,23 +319,23 @@ paths:
200:
description: >
200 OK
Information about the individual NS descriptor.
The response body shall contain a representation of
the individual NS descriptor.
schema:
type: "object"
type: object
properties:
NsdInfo:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
headers:
Content-Type:
type: "string"
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"
type: string
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
......@@ -350,7 +363,7 @@ paths:
409:
$ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
412:
$ref: "responses/SOL005_resp.yaml#/responses/412"
$ref: "responses/SOL005_resp.yaml#/responses/412"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
......@@ -359,7 +372,7 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/503"
patch:
summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource.
description: >
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
......@@ -370,43 +383,43 @@ paths:
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.
Reference: IETF RFC 7235
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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
responses:
- 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.
Reference: IETF RFC 7235.
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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
responses:
200:
description: >
200 OK
The operation was completed successfully.
The response body shall contain attribute
modifications for an 'Individual NS Descriptor'
......@@ -418,7 +431,7 @@ paths:
maximum: 1
minimum: 1
WWW-Authenticate:
type: "string"
type: string
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
......@@ -435,7 +448,7 @@ paths:
type: array
items:
properties:
NsdInfoModifications:
NsdInfoModifications:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
......@@ -452,17 +465,17 @@ paths:
409:
$ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
412:
$ref: "responses/SOL005_resp.yaml#/responses/412"
$ref: "responses/SOL005_resp.yaml#/responses/412"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
$ref: "responses/SOL005_resp.yaml#/responses/503"
delete:
summary: Delete an individual NS descriptor resource.
description: >
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
......@@ -483,14 +496,14 @@ paths:
type: string
responses:
204:
description: >
description: >
204 No Content
The operation has completed successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
type: "string"
type: string
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
......@@ -518,28 +531,28 @@ paths:
409:
$ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
412:
$ref: "responses/SOL005_resp.yaml#/responses/412"
$ref: "responses/SOL005_resp.yaml#/responses/412"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# NSD Content #
###############################################################################
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# NSD Content #
###############################################################################
'/ns_descriptors/{nsdInfoId}/nsd_content':
#ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.4
parameters:
- name: "nsdInfoId"
in: "path"
- name: nsdInfoId
in: path
required: true
type: "string"
type: string
get:
summary: Fetch the content of a NSD.
description: >
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
......@@ -556,44 +569,44 @@ paths:
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.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
enum:
- text/plain
- application/zip
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: "Range"
in: "header"
required: false
type: "string"
description: >
"The request may contain a "Range" HTTP header to obtain single
range of bytes from the NSD file. This can be used to continue an aborted
transmission.If the NFVO does not support range requests, the NFVO
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: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
enum: