Commit dd664a3b authored by rameshnaraya's avatar rameshnaraya

Fixed SOL005 v2.4.1 Review issues.

parent 98b69292
Pipeline #318 passed with stage
in 0 seconds
swagger: "2.0"
info:
version: "2.4.1"
version: "1.0.0"
title: SOL005 - NS Performance Management Interface
description: >
SOL005 - NS Performance Management Interface
......@@ -17,18 +17,14 @@ info:
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
url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf
basePath: "/nspm/v1"
schemes:
- https
consumes:
- "application/json"
produces:
- "application/json"
- "application/json"
paths:
###############################################################################
# PM Jobs #
......@@ -37,10 +33,24 @@ paths:
#ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2
post:
summary: Create a PM job.
description: >
This resource represents PM jobs.
The client can use this resource to create and query PM jobs.
description: >
The POST method creates a PM job.
This method shall follow the provisions specified in the
Tables 7.4.2.3.1-1 and 7.4.2.3.1-2 for URI query parameters,
request and response data structures, and response codes.
parameters:
- name: "CreatePmJobRequest"
in: "body"
required: true
schema:
type: "object"
required:
- "CreatePmJobRequest"
properties:
CreatePmJobRequest:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest"
description: >
The VNF creation parameters.
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -61,41 +71,23 @@ paths:
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "CreatePmJobRequest"
properties:
CreatePmJobRequest:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest"
description: >
PM job creation request.
type: string
responses:
201:
description: "Status 201"
description: >
201 Created
The PM job was created successfully.
The response body shall contain a representation of
the created PM job resource, as defined in clause 7.5.2.7.
The HTTP response shall include a "Location" HTTP
header that points to the created PM job resource.
schema:
type: "object"
description: >
201 Created.
The PM job was created successfully.
The response body shall contain a representation of
the created PM job resource, as defined in clause 7.5.2.7.
The HTTP response shall include a "Location" HTTP
header that points to the created PM job resource.
properties:
PmJob:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
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: >
......@@ -107,7 +99,9 @@ paths:
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.
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -198,7 +192,7 @@ paths:
responses:
200:
description: >
200 OK.
200 OK
Information about zero or more PM jobs was queried successfully.
The response body shall contain representations of
......@@ -210,11 +204,13 @@ 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 has provided an invalid authorization token.
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
type: array
items:
......@@ -272,22 +268,18 @@ paths:
type: string
responses:
200:
description: 200 OK.
description: >
200 OK
Information about an individual PM job was queried successfully.
The response body shall contain a representation of
the PM job resource, as defined in clause 7.5.2.7.
schema:
type: "object"
description: >
Information about an individual PM job was queried successfully.
The response body shall contain a representation of
the PM job resource, as defined in clause 7.5.2.7.
properties:
PmJob:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
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: >
......@@ -299,6 +291,8 @@ paths:
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -328,17 +322,17 @@ paths:
responses:
204:
description: >
204 No Content.
204 No Content
The PM job 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.
type: string
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
......@@ -396,23 +390,19 @@ paths:
type: string
responses:
200:
description: 200 OK.
description: >
200 OK
Information of an individual performance report was read successfully.
The response body shall contain a representation of
the performance report resource, as defined in
clause 7.5.2.10.
schema:
type: "object"
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.
type: "object"
properties:
PerformanceReport:
$ref: "definitions/NSPerfomananceManagement_def.yaml#/definitions/PerformanceReport"
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: >
......@@ -424,6 +414,8 @@ paths:
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -443,14 +435,28 @@ paths:
# Thresholds #
###############################################################################
'/thresholds':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5
#ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5
post:
summary: Create a threshold.
description: >
This resource represents thresholds.
The client can use this resource to create and query thresholds.
The POST method can be used by the client to create a threshold
description: >
The POST method can be used by the client to create a threshold.
This method shall follow the provisions specified in the
table 7.4.5.3.1-2 for URI query parameters,
request and response data structures, and response codes.
parameters:
- name: "CreateThresholdRequest"
in: "body"
required: true
schema:
type: "object"
required:
- "CreateThresholdRequest"
properties:
CreateThresholdRequest:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreateThresholdRequest"
description: >
Request parameters to create a threshold resource.
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -471,40 +477,24 @@ paths:
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "CreateThresholdRequest"
properties:
CreateThresholdRequest:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreateThresholdRequest"
description: >
Request parameters to create a threshold resource.
type: string
responses:
201:
description: 201 - Created.
description: >
201 Created
A threshold was created successfully.
The response body shall contain a representation of
the created threshold resource, as defined in clause 7.5.2.9.
The HTTP response shall include a "Location" HTTP
header that contains the resource URI of the created
threshold resource.
schema:
type: "object"
description: >
A threshold was created successfully.
The response body shall contain a representation of
the created threshold resource, as defined in clause 7.5.2.9.
The HTTP response shall include a "Location" HTTP
header that contains the resource URI of the created
threshold resource.
properties:
Threshold:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
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: >
......@@ -517,6 +507,8 @@ paths:
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -564,7 +556,7 @@ paths:
responses:
200:
description: >
200 - OK.
200 OK
Information about zero or more thresholds was queried successfully.
The response body shall contain representations of
......@@ -576,11 +568,13 @@ 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 has provided an invalid authorization token.
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
type: array
items:
......@@ -642,22 +636,18 @@ paths:
type: string
responses:
200:
description: 200 OK.
description: >
200 OK
Information about an individual threshold was queried successfully.
The response body shall contain a representation of
the threshold, as defined in clause 7.5.2.9.
schema:
type: "object"
description: >
Information about an individual threshold was queried successfully.
The response body shall contain a representation of
the threshold, as defined in clause 7.5.2.9.
properties:
Threshold:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
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: >
......@@ -669,6 +659,8 @@ paths:
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -686,7 +678,6 @@ paths:
delete:
summary: Delete a threshold.
description: >
This resource represents an individual threshold.
This method allows to delete a threshold.
parameters:
- name: Accept
......@@ -706,16 +697,17 @@ paths:
responses:
204:
description: >
204 No Content.
204 No Content
The threshold 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.
type: string
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
......@@ -785,24 +777,20 @@ paths:
Details of the subscription to be created.
responses:
201:
description: 201 Created.
description: >
201 Created
The subscription was created successfully.
A representation of the created subscription resource
shall be returned in the response body, as defined in clause 7.5.2.3.
The HTTP response shall include a "Location" HTTP
header that contains the resource URI of the created subscription resource.
schema:
type: "object"
description: >
The subscription was created successfully.
A representation of the created subscription resource
shall be returned in the response body, as defined in clause 7.5.2.3.
The HTTP response shall include a "Location" HTTP
header that contains the resource URI of the created subscription resource.
properties:
PmSubscription:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription"
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: >
......@@ -818,7 +806,7 @@ paths:
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
minimum: 0
303:
$ref: "responses/SOL005_resp.yaml#/responses/303"
400:
......@@ -871,7 +859,7 @@ paths:
responses:
200:
description: >
200 OK.
200 OK
The list of subscriptions was queried successfully.
The response body shall contain the representations of
......@@ -884,11 +872,13 @@ 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 has provided an invalid authorization token.
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
type: array
items:
......@@ -947,23 +937,19 @@ paths:
required: true
type: string
responses:
201:
description: 200 OK.
200:
description: >
200 OK
The subscription was read successfully.
The response body shall contain a representation of
the subscription resource, as defined in clause 7.5.2.3.
schema:
type: "object"
description: >
The subscription was read successfully.
The response body shall contain a representation of
the subscription resource, as defined in clause 7.5.2.3.
properties:
PmSubscription:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription"
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: >
......@@ -976,6 +962,8 @@ paths:
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -1015,15 +1003,17 @@ paths:
responses:
204:
description: >
204 No Content
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.
type: string
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
......@@ -1041,25 +1031,20 @@ paths:
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Notification endpoint #
# "/notification_endpoint" is the #
# is the dummy URI used for testing, in real case endpoint URI has to #
# provided by client. #
###############################################################################
'/notification_endpoint':
#SOL005 location: 8.2-1
##################################################################################
# Notification endpoint #
# Dummy URI is used for testing. #
# In real, resource URI is provided by the client when creating the subscription.#
##################################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification':
#ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.9
post:
summary: >
Notification endpoint
summary: Notify about PM related events
description: >
The POST method delivers a notification regarding a performance management event from the server to the client.
This method shall follow the provisions specified in the
Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters,
request and response data structures, and response codes.
# Don't know how to pass multiple body parameters.
# Jenkin build is failing if enable more than one body parameters, So commented body parameters.
parameters:
- name: PerformanceInformationAvailableNotification
description: >
......@@ -1069,16 +1054,73 @@ paths:
schema:
properties:
PerformanceInformationAvailableNotification:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification"
#- name: ThresholdCrossedNotification
# description: >
# Notification about threshold crossing.
# in: body
# required: true
# schema:
# properties:
# ThresholdCrossedNotification:
# $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/ThresholdCrossedNotification"
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification"
- 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
responses:
204:
description: >
204 No Content
The notification was delivered successfully.
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.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
'/URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification':
#ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.9
post:
summary: Notify about PM related events
description: >
The POST method delivers a notification regarding a performance management event from the server to the client.
This method shall follow the provisions specified in the
Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters,
parameters:
- name: ThresholdCrossedNotification
description: >
Notification about threshold crossing.
in: body
required: true
schema:
properties:
ThresholdCrossedNotification:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/ThresholdCrossedNotification"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -1103,9 +1145,18 @@ paths:
responses:
204:
description: >
204 - No Content.
204 No Content
The notification was delivered successfully.
The notification was delivered successfully.
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.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -1116,8 +1167,9 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
get:
summary: Notification endpoint.
summary: Test the notification endpoint
description: >
The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during
subscription.
......@@ -1142,8 +1194,19 @@ paths:
responses:
204:
description: >
204 No Content
The notification endpoint was tested 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.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......