Commit 35f30f0a authored by rameshnaraya's avatar rameshnaraya

Merge Request issue.

Re committing NSPM files.
parent 395d3b69
Pipeline #162 passed with stage
in 0 seconds
......@@ -2,9 +2,9 @@ swagger: "2.0"
info:
version: "2.4.1"
title: DRAFT - SOL005 - NS Performance Management Interface
title: SOL005 - NS Performance Management Interface
description: >
DRAFT - SOL005 - NS Performance Management Interface
SOL005 - NS Performance Management Interface
IMPORTANT: Please note that this file might be not aligned to the current
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
......@@ -36,55 +36,78 @@ paths:
'/pm_jobs':
#ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2
post:
summary: "PM Jobs"
summary: Create a PM job.
description: >
"This resource represents PM jobs. The client can use this resource to create and query PM jobs.
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."
This resource represents PM jobs.
The client can use this resource to create and query PM jobs.
parameters:
- name: CreatePmJobRequest
description: "The NS Instance creation parameters."
in: body
required: true
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest"
- 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
- 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: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "CreatePmJobRequest"
properties:
CreatePmJobRequest:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest"
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
responses:
PM job creation request.
responses:
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."
description: "Status 201"
schema:
type: "object"
description: >
"Information of the selected VNF packages."
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
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: >
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.
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -105,7 +128,7 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/503"
get:
summary: "PM Jobs"
summary: Query PM jobs.
description: >
"The client can use this method to retrieve information about PM jobs"
parameters:
......@@ -173,23 +196,33 @@ paths:
required: true
type: string
responses:
201:
description: >
"201 OK."
200:
description: >
200 OK.
"Information about zero or more PM jobs was queried successfully.
Information about zero or more PM jobs was queried successfully.
The response body shall contain representations of
zero or more PM jobs, as defined in clause 7.5.2.7."
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
zero or more PM jobs, as defined in clause 7.5.2.7
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:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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.
schema:
type: array
items:
properties:
PmJob:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-based-filtering-error"
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
......@@ -212,11 +245,14 @@ paths:
- name: pmJobId
description: >
Identifier of the PM job.
This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response
to a POST request creating a new PM job resource. It can also be retrieved from the "id" attribute in the
payload body of that response.
in: path
type: string
required: true
get:
summary: Individual PM job
summary: Read a single PM job.
description: >
The client can use this method for reading an individual PM job.
parameters:
......@@ -236,23 +272,33 @@ paths:
type: string
responses:
200:
description: >
200 OK.
Information about an individual PM job was queried successfully.
The response body shall contain a representation of the PM job
resource.
description: 200 OK.
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: >
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.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -268,7 +314,7 @@ paths:
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
delete:
summary: Individual PM job
summary: Delete a PM job.
description: >
This method terminates an individual PM job.
parameters:
......@@ -329,7 +375,7 @@ paths:
type: string
required: true
get:
summary: Individual performance report
summary: Read an individual performance report.
description: >
The client can use this method for reading an individual performance
report.
......@@ -350,22 +396,34 @@ paths:
type: string
responses:
200:
description: >
Information of an individual performance report was read
successfully.
The response body shall contain a representation of the
performance report resource.
description: 200 OK.
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.
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: >
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.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/NSPerfomananceManagement_def.yaml#/definitions/PerformanceReport"
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -387,67 +445,78 @@ paths:
'/thresholds':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5
post:
summary: Thresholds
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
parameters:
- name: CreateThresholdRequest
- 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: "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.
in: body
required: true
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreateThresholdRequest"
- 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: true
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:
201:
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.
description: 201 - Created.
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:
description: The resource URI of the created threshold instance
type: string
format: url
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.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.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -463,7 +532,7 @@ paths:
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
get:
summary: Thresholds
summary: Query thresholds.
description: >
The client can use this method to query information about thresholds.
parameters:
......@@ -472,11 +541,11 @@ paths:
required: false
type: "string"
description: >
"Attribute-based filtering parameters according to clause 4.3.2.
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 Thresholds data type and in data types
referenced from it shall be supported in attribute-based filtering parameters."
referenced from it shall be supported in attribute-based filtering parameters.
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -491,32 +560,33 @@ paths:
in: header
required: true
type: string
responses:
200:
description: >
description: >
200 - OK.
Information about zero or more thresholds was queried
successfully.
Information about zero or more thresholds was queried successfully.
The response body shall contain representations of
zero or more thresholds, as defined in clause 7.5.2.9
zero or more thresholds, as defined in clause 7.5.2.9.
headers:
Location:
description: The resource URI of the created threshold instance
Content-Type:
description: The MIME type of the body of the response.
type: string
format: url
maximum: 1
minimum: 1
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
maximum: 1
minimum: 0
request has provided an invalid authorization token.
schema:
type: array
items:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
items:
properties:
Threshold:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -549,10 +619,12 @@ paths:
type: string
required: true
get:
summary: Individual threshold
summary: Query a single threshold.
description: >
This resource represents an individual threshold.
The client can use this method for reading an individual threshold.
This method shall follow the provisions specified in the
Tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters,
request and response data structures, and response codes.
parameters:
- name: Accept
description: >
......@@ -570,21 +642,33 @@ paths:
type: string
responses:
200:
description: >
Information about an individual threshold was queried
successfully. The response body shall contain a
representation of the threshold.
description: 200 OK.
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: >
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.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -600,7 +684,7 @@ paths:
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
delete:
summary: Individual threshold
summary: Delete a threshold.
description: >
This resource represents an individual threshold.
This method allows to delete a threshold.
......@@ -654,71 +738,87 @@ paths:
'/subscriptions':
#ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7
post:
summary: Subscriptions
summary: Subscribe to PM notifications.
description: >
The POST method creates a new subscription.
This method shall follow the provisions specified in the Tables 7.4.7.3.1-1 and 7.4.7.3.1-2 for URI query parameters,
request and response data structures, and response codes.
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.
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 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).
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: PmSubscriptionRequest
description: >
Details of the subscription to be created.
in: body
required: true
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscriptionRequest"
- 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: true
type: string
- name: Content-Type
- 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: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "PmSubscriptionRequest"
properties:
PmSubscriptionRequest:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscriptionRequest"
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
Details of the subscription to be created.
responses:
201:
description: >
201 Created.
The subscription was created successfully.
A representation of the
created subscription resource shall be returned in the response body.
The HTTP response shall include a "Location" HTTP header that
contains the resource URI of the created subscription resource.
description: 201 Created.
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:
description: The resource URI of the created VNF instance
type: string
format: url
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.This header
field shall be present if the response has a non-empty message
body.
maximum: 1
minimum: 1
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
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription"
minimum: 0
303: