Commit 3e3591d6 authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

Merge branch '2.8.1-dev' into '2.8.1'

SOL005 OpenAPI representations for v2.8.1

See merge request !17
parents cbd289bb 6d117b49
Pipeline #6910 passed with stage
in 0 seconds
# NFV SOL005 APIs
This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation
for the APIs defined in ETSI NFV GSs [SOL005](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.pdf).
for the APIs defined in ETSI NFV GSs [SOL005](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.08.01_60/gs_NFV-SOL005v020801p.pdf).
The APIs described in this repository are defined for the `Os-Ma-nfvo` reference point.
......
......@@ -9,7 +9,7 @@ info:
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
Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
......@@ -17,8 +17,8 @@ info:
name: "NFV-SOL WG"
externalDocs:
description: ETSI GS NFV-SOL 005 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.pdf
description: ETSI GS NFV-SOL 005 V2.8.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.08.01_60/gs_NFV-SOL005v020801p.pdf
schemes:
- http
......
......@@ -9,7 +9,7 @@ info:
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
Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
......@@ -17,8 +17,8 @@ info:
name: "NFV-SOL WG"
externalDocs:
description: ETSI GS NFV-SOL 005 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.pdf
description: ETSI GS NFV-SOL 005 V2.8.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.08.01_60/gs_NFV-SOL005v020801p.pdf
basePath: /nsd/v2
......@@ -60,7 +60,6 @@ paths:
type: string
post:
summary: Create a new NS descriptor resource.
description: >
The POST method is used to create a new NS descriptor resource.
parameters:
......@@ -139,7 +138,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
get:
summary: Query information about multiple NS descriptor resources.
description: >
The GET method queries information about multiple NS descriptor resources.
parameters:
......@@ -181,7 +179,7 @@ paths:
description: >
Indicates to exclude the following complex attributes from the response.
See clause 5.3 of ETSI GS NFV SOL 013 for details.
The VNFM shall support this parameter.
The NFVO 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:
......@@ -293,7 +291,6 @@ paths:
type: string
get:
summary: Read information about an individual NS descriptor resource.
description: >
The GET method reads information about an individual NS descriptor.
parameters:
......@@ -356,7 +353,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
patch:
summary: Modify the operational state and/or the user defined data of 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:
......@@ -450,7 +446,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
delete:
summary: Delete 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 =
......@@ -551,7 +546,6 @@ paths:
type: string
get:
summary: Fetch the content of a NSD.
description: >
The GET method fetches the content of the NSD archive.
The NSD archive is implemented as a single zip file.
......@@ -685,7 +679,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
put:
summary: Upload the content of a NSD.
description: >
The PUT method is used to upload the content of an NSD archive.
The NSD to be uploaded is implemented as a single ZIP file as defined in clause 5.4.4.3.2.
......@@ -828,21 +821,27 @@ paths:
• 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.
The default format of the ZIP file shall be the one specified in ETSI GS NFV-SOL 007
where only the YAML files representing the NSD, and information necessary to navigate
the ZIP file and to identify the file that is the entry point for parsing the NSD and
(if requested) further security information are included. This means that the content
of the ZIP archive shall contain the following files from the NSD archive:
• TOSCA.meta (if available in the NSD archive);
• the main service template (either as referenced from TOSCA.meta or available as a
file with the extension ".yml" or ".yaml" from the root of the archive);
• every component of the NSD referenced (recursively) from the main service template;
• the related security information, if the "include_signatures" URI parameter is provided, as follows:
- the manifest file;
- the singleton certificate file in the root of the NSD archive (if available in the NSD archive);
- the signing certificates of the individual files included in the ZIP archive
(if available in the NSD archive);
- the signatures of the individual files (if available in the NSD archive).
The default format of the ZIP file shall comply with the CSAR format as specified in ETSI GS NFV-SOL 007
where only the YAML files representing the NSD, and information necessary to navigate the ZIP file and to
identify the file that is the entry point for parsing the NSD and (if requested) further security information
are included, and other artifacts referenced from the YAML files are excluded. This means that the content of
the ZIP archive shall contain the following files from the NSD archive:
- TOSCA.meta (if available in the NSD archive);
- the main TOSCA definitions YAML file (either as referenced from TOSCA.meta or available as a file with the
extension ".yml" or ".yaml" from the root of the archive);
- every component of the NSD referenced (recursively) from the main TOSCA definitions YAML file;
NOTE 1: For a NSD based on TOSCA, it includes all the imported type definition files as indicated in the top
level service template and in any of the lower level service template if it has any as described in ETSI GS NFV-SOL 001.
NOTE 2: For a NSD based on YANG, it includes the file as indicated by the "yang_definitions" keyname in the metadata
section of the main yaml file as described in ETSI GS NFV-SOL 007.
- the related security information, if the "include_signatures" URI parameter is provided, as follows:
- the manifest file;
- the singleton certificate file in the root of the NSD archive (if available in the NSD archive);
- the signing certificates of the individual files included in the ZIP archive
(if available in the NSD archive);
- the signatures of the individual files (if available in the NSD archive).
This method shall follow the provisions specified in the Tables 5.4.4a.3.2-1 and 5.4.4a.3.2-2 for
URI query parameters, request and response data structures, and response codes.
parameters:
......@@ -948,7 +947,6 @@ paths:
type: string
get:
summary: Fetch the content of the manifest in an NSD archive.
description: >
The GET method reads the content of the manifest file within an NSD archive.
This method shall follow the provisions specified in the Tables 5.4.4b.3.2-1
......@@ -1068,7 +1066,6 @@ paths:
type: string
post:
summary: Create a new PNF descriptor resource.
description: >
The POST method is used to create a new PNF descriptor resource
parameters:
......@@ -1148,7 +1145,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
get:
summary: Query information about multiple PNF descriptor resources.
description: >
"The GET method queries information about multiple PNF descriptor
resources."
......@@ -1197,7 +1193,7 @@ paths:
this parameter.
The following attributes shall be excluded from the PnfdInfo structure in
the response body if this parameter is provided, or none of the parameters
"all_fields," "fields", "exclude_fields", "exclude_default" are provided:
"all_fields"," "fields", "exclude_fields", "exclude_default" are provided:
- userDefinedData
- onboardingFailureDetails
- name: nextpage_opaque_marker
......@@ -1289,7 +1285,6 @@ paths:
type: string
get:
summary: Read an individual PNFD resource.
description: >
The GET method reads information about an individual PNF descriptor.
parameters:
......@@ -1365,7 +1360,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
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.
parameters:
......@@ -1448,7 +1442,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
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 t
......@@ -1535,7 +1528,6 @@ paths:
type: string
get:
summary: Fetch the content of a PNFD.
description: >
The GET method fetches the content of the PNFD archive.
The content of the PNFD archive is provided as onboarded,
......@@ -1671,11 +1663,8 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
put:
summary: Upload the content of a PNFD.
description: >
The PUT method is used to upload the content of a PNFD archive.
This resource represents the content of the individual PNF descriptor, i.e. PNFD content.
The client can use this resource to upload and download the content of the PNFD.
The PUT method is used to upload the content of a PNFD archive.
parameters:
- name: Accept
description: >
......@@ -2072,7 +2061,6 @@ paths:
type: string
post:
summary: Subscribe to NSD and PNFD change notifications.
description: >
The POST method creates a new subscription.
This method shall support the URI query parameters, request and
......@@ -2178,7 +2166,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
get:
summary: Query multiple subscriptions.
description: >
TThe GET method queries the list of active subscriptions of the
functional block that invokes the method. It can be used e.g.
......@@ -2314,17 +2301,9 @@ paths:
type: string
get:
summary: Read an individual subscription resource.
description: >
This resource represents an individual subscription.
It can be used by the client to read and to terminate a subscription to
notifications related to NSD management.
The GET method retrieves information about a subscription by reading
an individual subscription resource.
This resource represents an individual subscription.
It can be used by the client to read and to terminate a subscription to
notifications related to NSD management.
The GET method retrieves information about a subscription by reading an individual
subscription resource.
parameters:
- name: Accept
in: header
......@@ -2383,16 +2362,8 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/504"
delete:
summary: Terminate Subscription
description: >
This resource represents an individual subscription.
It can be used by the client to read and to terminate a subscription to
notifications related to NSD management.
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 Table 5.4.9.3.3-2.
The DELETE method terminates an individual subscription.
parameters:
- name: Authorization
in: header
......
......@@ -17,7 +17,7 @@ definitions:
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]).
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.
type: array
items:
......
......@@ -8,14 +8,14 @@ info:
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to. 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
Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
externalDocs:
description: ETSI GS NFV-SOL 005 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.pdf
description: ETSI GS NFV-SOL 005 V2.8.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.08.01_60/gs_NFV-SOL005v020801p.pdf
basePath: /callback/v2
......@@ -32,7 +32,7 @@ paths:
###############################################################################
# Notification endpoint NsdOnBoardingNotification #
###############################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingNotification':
'/URI_is_provided_by_the_client_when_creating_the_subscription-NsdOnBoardingNotification':
parameters:
- name: Authorization
description: >
......@@ -49,7 +49,6 @@ paths:
type: string
post:
summary: Notify about NSD and PNFD changes
description: >
The POST method delivers a notification from the API producer to the API consumer.
This method shall support the URI query parameters, request and
......@@ -116,7 +115,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
get:
summary: Test the notification endpoint
description: >
The GET method allows the API producer to test the notification endpoint
that is provided by the API consumer, e.g. during subscription.
......@@ -172,7 +170,7 @@ paths:
###############################################################################
# Notification endpoint NsdOnBoardingFailureNotification #
###############################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingFailureNotification':
'/URI_is_provided_by_the_client_when_creating_the_subscription-NsdOnBoardingFailureNotification':
parameters:
- name: Authorization
description: >
......@@ -189,7 +187,6 @@ paths:
type: string
post:
summary: Notify about NSD and PNFD changes
description: >
The POST method delivers a notification from the API producer to the API consumer.
This method shall support the URI query parameters, request and
......@@ -256,7 +253,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
get:
summary: Test the notification endpoint
description: >
The GET method allows the API producer to test the notification endpoint
that is provided by the API consumer, e.g. during subscription.
......@@ -312,7 +308,7 @@ paths:
###############################################################################
# Notification endpoint NsdChangeNotification #
###############################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription_NsdChangeNotification':
'/URI_is_provided_by_the_client_when_creating_the_subscription-NsdChangeNotification':
parameters:
- name: Authorization
description: >
......@@ -329,7 +325,6 @@ paths:
type: string
post:
summary: Notify about NSD and PNFD changes
description: >
The POST method delivers a notification from the API producer to the API consumer.
This method shall support the URI query parameters, request and
......@@ -396,7 +391,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
get:
summary: Test the notification endpoint
description: >
The GET method allows the API producer to test the notification endpoint
that is provided by the API consumer, e.g. during subscription.
......@@ -452,7 +446,7 @@ paths:
###############################################################################
# Notification endpoint NsdDeletionNotification #
###############################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription_NsdDeletionNotification':
'/URI_is_provided_by_the_client_when_creating_the_subscription-NsdDeletionNotification':
parameters:
- name: Authorization
description: >
......@@ -469,7 +463,6 @@ paths:
type: string
post:
summary: Notify about NSD and PNFD changes
description: >
The POST method delivers a notification from the API producer to the API consumer.
This method shall support the URI query parameters, request and
......@@ -536,7 +529,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
get:
summary: Test the notification endpoint
description: >
The GET method allows the API producer to test the notification endpoint
that is provided by the API consumer, e.g. during subscription.
......@@ -592,7 +584,7 @@ paths:
###############################################################################
# Notification endpoint PnfdOnBoardingNotification #
###############################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingNotification':
'/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingNotification':
parameters:
- name: Authorization
description: >
......@@ -609,7 +601,6 @@ paths:
type: string
post:
summary: Notify about NSD and PNFD changes
description: >
The POST method delivers a notification from the API producer to the API consumer.
This method shall support the URI query parameters, request and
......@@ -676,7 +667,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
get:
summary: Test the notification endpoint
description: >
The GET method allows the API producer to test the notification endpoint
that is provided by the API consumer, e.g. during subscription.
......@@ -732,7 +722,7 @@ paths:
###############################################################################
# Notification endpoint PnfdOnBoardingFailureNotification #
###############################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingFailureNotification':
'/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingFailureNotification':
parameters:
- name: Authorization
description: >
......@@ -749,7 +739,6 @@ paths:
type: string
post:
summary: Notify about NSD and PNFD changes
description: >
The POST method delivers a notification from the API producer to the API consumer.
This method shall support the URI query parameters, request and
......@@ -816,7 +805,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
get:
summary: Test the notification endpoint
description: >
The GET method allows the API producer to test the notification endpoint
that is provided by the API consumer, e.g. during subscription.
......@@ -872,7 +860,7 @@ paths:
###############################################################################
# Notification endpoint PnfdDeletionNotification #
###############################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription_PnfdDeletionNotification':
'/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdDeletionNotification':
parameters:
- name: Authorization
description: >
......@@ -889,7 +877,6 @@ paths:
type: string
post:
summary: Notify about NSD and PNFD changes
description: >
The POST method delivers a notification from the API producer to the API consumer.
This method shall support the URI query parameters, request and
......@@ -956,7 +943,6 @@ paths:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
get:
summary: Test the notification endpoint
description: >
The GET method allows the API producer to test the notification endpoint
that is provided by the API consumer, e.g. during subscription.
......
......@@ -9,15 +9,15 @@ info:
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
Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact:
name: "NFV-SOL WG"
externalDocs:
description: ETSI GS NFV-SOL 005 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020701p.pdf
description: ETSI GS NFV-SOL 005 V2.8.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.08.01_60/gs_NFV-SOL005v020801p.pdf
basePath: /nsfm/v1
schemes:
- http
......@@ -37,7 +37,7 @@ paths:
# Alarms #
###############################################################################
'/alarms':
#ETSI GS NFV-SOL 005 V2.7.1 location: 8.4.2
#ETSI GS NFV-SOL 005 V2.8.1 location: 8.4.2
parameters:
- name: Authorization
description: >
......@@ -53,7 +53,6 @@ paths:
required: true
type: string
get:
summary: Query alarms related to NS instances.
description: >
Get Alarm List.
......@@ -157,7 +156,7 @@ paths:
# Individual alarm #
###############################################################################
'/alarms/{alarmId}':
#ETSI GS NFV-SOL 005 V2.7.1 location: 8.4.3
#ETSI GS NFV-SOL 005 V2.8.1 location: 8.4.3
parameters:
- name: alarmId
description: >
......@@ -183,7 +182,6 @@ paths:
required: true
type: string
get:
summary: Read individual alarm.
description: >
The API consumer can use this method to read an individual alarm.
This method shall follow the provisions specified in the Tables 8.4.3.3.2-1 and 8.4.3.3.2-2 for URI query parameters,
......@@ -249,7 +247,6 @@ paths:
503:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
patch:
summary: Acknowledge individual alarm.
description: >
Acknowledge Alarm
......@@ -324,20 +321,20 @@ paths:
406:
$ref: "../responses/SOL005_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
#description: >
# 409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the "Individual alarm"
resource.
Typically, this is due to the fact that the alarm is
already in the state that is requested to be set (such
as trying to acknowledge an already-acknowledged
alarm).
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
# Shall be returned upon the following error: The
# operation cannot be executed currently, due to a
# conflict with the state of the "Individual alarm"
# resource.
# Typically, this is due to the fact that the alarm is
# already in the state that is requested to be set (such
# as trying to acknowledge an already-acknowledged
# alarm).
# The response body shall contain a ProblemDetails
# structure, in which the "detail" attribute shall convey
# more information about the error.
$ref: "../responses/SOL005_resp.yaml#/responses/409"
412:
$ref: "../responses/SOL005_resp.yaml#/responses/412"
......@@ -350,7 +347,7 @@ paths:
#Subscriptions #
##############################################################################
'/subscriptions':
#ETSI GS NFV-SOL 005 V2.7.1 location: 8.4.4
#ETSI GS NFV-SOL 005 V2.8.1 location: 8.4.4
parameters:
- name: Authorization
description: >
......@@ -366,13 +363,12 @@ paths:
required: true
type: string
post:
summary: Subscribe to alarms related to NSs.
description: >
The POST method creates a new subscription.
This method shall follow the provisions specified in the Tables 8.4.4.3.1-1 and 8.4.4.3.1-2 for URI query
parameters, request and response data structures, and response codes.
As the result of successfully executing this method, a new "Individual subscription" resource shall exist
as defined in clause 8.4.5. This method shall not trigger any notification.
As the result of successfully executing this method, a new "Individual subscription" resource as defined in
clause 8.4.5 shall have been created. This method shall not trigger any notification.
Creation of two subscription resources with the same callbackURI and the same filter can result in performance
degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare
use cases. Consequently, the NFVO may either allow creating a subscription resource if another subscription
......@@ -451,7 +447,6 @@ paths:
503:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
get:
summary: Query multiple subscriptions.
description: >
Query Subscription Information
......@@ -564,7 +559,7 @@ paths:
# Individual subscription #
###############################################################################
'/subscriptions/{subscriptionId}':
#ETSI GS NFV-SOL 005 V2.7.1 location: 8.4.5
#ETSI GS NFV-SOL 005 V2.8.1 location: 8.4.5
parameters:
- name: subscriptionId
description: >
......@@ -590,7 +585,6 @@ paths:
required: true
type: string
get:
summary: Read an individual subscription.
description: >
Query Subscription Information
......@@ -659,7 +653,6 @@ paths:
503:
$ref: "../responses/SOL005_resp.yaml#/responses/503"
delete:
summary: Terminate a subscription.
description: >
Terminate Subscription
......