Commit 3e5073aa authored by Gergely Csatari's avatar Gergely Csatari
Browse files

Update to SOL003 2.4.1 and some bugfixes



Udating the definitions to the 2.4.1 version of SOL003.

  - All interfaces are ready for review
  - WWW-Authenticate was removed from responses except the 401-s and in places where
    it is explicitly mentioned in the description
  - vnfInstanceIds and vnfInstanceNames added to VnfInstanceSubscriptionFilter
  - Inline types of VnfInstance are move to the main definition
  - Description of GET of Individual VNF instance fixed

Change-Id: I06e16a69cc5338e39aef8d41699dea33171ed1d2
Signed-off-by: Gergely Csatari's avatarGergely Csatari <gergely.csatari@nokia.com>
parent 38ec5831
......@@ -10,13 +10,5 @@ responses:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
definitions:
SubscriptionAuthentication:
description: >
If an API consumer requires the API producer to authorize for sending notifications to that API consumer,
it shall include in the subscription request data according to the following structure.
type: object
required:
- authType
properties:
authType:
description: >
Defines the type of Authentication/Authorization to use when sending a notification.
Permitted values:
* BASIC
* In every POST request that sends a notification, use HTTP Basic authentication with
the client credentials.
* The API producer shall pass its client credentials in every POST request that sends a
notification, as defined in IETF RFC 7617.
* NOTE: The clientId and clientPassword passed in a subscription shall not be the same as the
clientId and clientPassword that are used to obtain authorization for API requests.
Client credentials may differ between subscriptions. The value of clientPassword should be
generated by a random process.
* OAUTH2_CLIENT_CREDENTIALS
* In every POST request that sends a notification, use an
OAuth 2.0 Bearer token, obtained using the client credentials grant type.
* The API producer shall, prior to sending any notification, obtain an access token from
the token endpoint using the OAuth 2.0 client credentials grant type as defined in
IETF RFC 6749. The API consumer should include expiry information with the token response.
* The API producer shall include that access token as a Bearer token in every POST request
that sends a notification (according to IETF RFC 6750).
* If the access token is expired, the API consumer shall reject the notification. In that case,
the API producer shall obtain a new access token, and repeat sending the notification.
* If the token expiry time is known to the API producer, it may obtain proactively a new access token.
type: string
enum:
- BASIC
- OAUTH2_CLIENT_CREDENTIALS
paramsBasic:
description: >
Parameters for authentication/authorization using BASIC. Shall be present if authType is "BASIC" and
the contained information has not been provisioned out of band. Shall be absent otherwise.
type: object
properties:
userName:
description: >
Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned
out of band.
type: string
password:
description: >
Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned
out of band.
type: string
paramsOauth2Client Credentials:
description: >
Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if
authType is "OAUTH2_CLIENT_CREDENTIALS" and the contained information has not been provisioned
out of band. Shall be absent otherwise.
type: object
properties:
clientId:
description: >
Client identifier to be used in the access token request of the OAuth 2.0 client credentials
grant type. Shall be present if it has not been provisioned out of band. See NOTE.
type: string
clientPassword:
description: >
Client password to be used in the access token request of the OAuth 2.0 client credentials
grant type. Shall be present if it has not been provisioned out of band. See NOTE.
type: string
tokenEndpoint:
description: >
The token endpoint from which the access token can be obtained. Shall be present if it has
not been provisioned out of band.
type: string
format: URI
......@@ -23,5 +23,5 @@ definitions:
Authentication parameters to configure the use of Authorization when sending notifications corresponding
to this subscription. This attribute shall only be present if the subscriber requires authorization of
notifications.
$ref: 'SubscriptionAuthentication_def.yaml#/definitions/SubscriptionAuthentication'
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication"
\ No newline at end of file
......@@ -10,13 +10,5 @@ responses:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
......@@ -10,13 +10,5 @@ responses:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
swagger: "2.0"
info:
version: "2.3.1"
version: "2.3.4"
title: DRAFT - SOL003 - VNF Fault Management interface
description: >
DRAFT - SOL003 - VNF Fault Management interface
......@@ -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&list_id=61&product=NFV&resolution=---
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
......@@ -69,14 +69,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL003_def.yaml#/definitions/Alarm"
400:
......@@ -149,14 +141,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL003_def.yaml#/definitions/Alarm"
400:
......@@ -192,11 +176,13 @@ paths:
type: string
- name: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
The Content-Type header shall be set to
"application/merge-patch+json" according to
IETF RFC 7396.
in: header
required: true
type: string
enum: ["application/merge-patch+json"]
- name: Authorization
description: >
The authorization token for the request.
......@@ -218,14 +204,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications"
400:
......@@ -249,11 +227,21 @@ paths:
###############################################################################
# Subscriptions #
###############################################################################
'/alarms/subscriptions':
'/subscriptions':
#SOL003 location: 7.4.4
post:
description: >
The POST method creates a new subscription.
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 NFVO, and might make sense
only in very rare use cases. Consequently, the VNFM may either allow
creating a subscription resource if another subscription resource with
the same filter and callbackUri already exists (in which case it shall
return the “201 Created” response code), or may decide to not create a
duplicate subscription resource (in which case it shall return a
“303 See Other” response code referencing the existing subscription
resource with the same filter and callbackUri).
parameters:
- name: FmSubscriptionRequest
description: The VNF creation parameters
......@@ -302,16 +290,10 @@ paths:
The resource URI of the created subscription resource.
type: string
format: url
WWW-Authenticate:
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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription"
303:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -367,14 +349,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription"
400:
......@@ -449,14 +423,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription"
400:
......@@ -497,14 +463,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......
......@@ -14,13 +14,5 @@ responses:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
swagger: "2.0"
info:
version: "2.3.1"
version: "2.3.4"
title: DRAFT - SOL003 - VNF Fault Management Notification interface
description: >
DRAFT - SOL003 - VNF Fault Management Notification interface
......@@ -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&list_id=61&product=NFV&resolution=---
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
......@@ -49,15 +49,6 @@ paths:
description: >
The notification was delivered successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
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
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -81,15 +72,6 @@ paths:
description: >
The notification endpoint was tested successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
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
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -126,15 +108,6 @@ paths:
description: >
The notification was delivered successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
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
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -158,15 +131,6 @@ paths:
description: >
The notification endpoint was tested successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
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
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -203,15 +167,6 @@ paths:
description: >
The notification was delivered successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
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
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -235,15 +190,6 @@ paths:
description: >
The notification endpoint was tested successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
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
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......
swagger: "2.0"
info:
version: "2.3.1"
version: "2.3.4"
title: DRAFT - SOL003 - VNF Indicator interface
description: >
DRAFT - SOL003 - VNF Indicator interface
......@@ -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&list_id=61&product=NFV&resolution=---
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
......@@ -69,14 +69,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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:
type: array
items:
......@@ -152,14 +144,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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:
type: array
items:
......@@ -242,14 +226,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator"
400:
......@@ -270,10 +246,19 @@ paths:
# Subscriptions #
###############################################################################
'/subscriptions':
#SOL003 location: 8.4.5
post:
description: >
The POST method creates a new subscription.
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 NFVO, and might make sense only in
very rare use cases. Consequently, the VNFM may either allow creating
a subscription resource if another subscription resource with the same
filter and callbackUri already exists (in which case it shall return
the “201 Created” response code), or may decide to not create a
duplicate subscription resource (in which case it shall return a
“303 See Other” response code referencing the existing subscription
resource with the same filter and callbackUri).
parameters:
- name: VnfIndicatorSubscriptionRequest
description: Details of the subscription to be created.
......@@ -322,18 +307,12 @@ paths:
description: The resource URI of the created VNF instance
type: string
format: url
WWW-Authenticate:
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:
type: array
items:
$ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription"
303:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -394,14 +373,6 @@ paths:
description: The resource URI of the created VNF instance
type: string
format: url
WWW-Authenticate:
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:
type: array
items:
......@@ -475,14 +446,6 @@ paths:
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
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/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription"
400:
......@@ -515,15 +478,6 @@ paths:
description: >
The subscription resource was deleted successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
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
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......
swagger: "2.0"
info:
version: "2.3.1"
version: "2.3.4"
title: DRAFT - SOL003 - VNF Indicator Notification interface
description: >
DRAFT - SOL003 - VNF Indicator Notification interface
......@@ -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&list_id=61&product=NFV&resolution=---
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
......@@ -49,15 +49,6 @@ paths:
description: >
The notification was delivered successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
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
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -81,15 +72,6 @@ paths:
description: >
The notification endpoint was tested successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided