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" ...@@ -2,9 +2,9 @@ swagger: "2.0"
info: info:
version: "2.4.1" version: "2.4.1"
title: DRAFT - SOL005 - NS Performance Management Interface title: SOL005 - NS Performance Management Interface
description: > 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 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 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 approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
...@@ -36,55 +36,78 @@ paths: ...@@ -36,55 +36,78 @@ paths:
'/pm_jobs': '/pm_jobs':
#ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2 #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2
post: post:
summary: "PM Jobs" summary: Create a PM job.
description: > description: >
"This resource represents PM jobs. The client can use this resource to create and query PM jobs. This resource represents PM jobs.
The POST method creates a PM job. This method shall follow the provisions specified in the The client can use this resource to create and query PM jobs.
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: parameters:
- name: CreatePmJobRequest - name: Accept
description: "The NS Instance creation parameters." description: >
in: body Content-Types that are acceptable for the response.
required: true Reference: IETF RFC 7231
schema: in: header
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest" required: true
- name: Accept type: string
description: > - name: Authorization
Content-Types that are acceptable for the response. description: >
Reference: IETF RFC 7231 The authorization token for the request.
in: header Reference: IETF RFC 7235
required: true in: header
type: string required: false
- name: Authorization type: string
description: > - name: Content-Type
The authorization token for the request. description: >
Reference: IETF RFC 7235 The MIME type of the body of the request.
in: header Reference: IETF RFC 7231
required: false in: header
type: string required: true
- name: Content-Type type: string
- name: "body"
in: "body"
required: true
schema:
type: "object"
required:
- "CreatePmJobRequest"
properties:
CreatePmJobRequest:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest"
description: > description: >
The MIME type of the body of the request. PM job creation request.
Reference: IETF RFC 7231 responses:
in: header
required: true
type: string
responses:
201: 201:
description: > description: "Status 201"
"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: schema:
type: "object"
description: > description: >
"Information of the selected VNF packages." 201 Created.
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
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: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
401: 401:
...@@ -105,7 +128,7 @@ paths: ...@@ -105,7 +128,7 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/503" $ref: "responses/SOL005_resp.yaml#/responses/503"
get: get:
summary: "PM Jobs" summary: Query PM jobs.
description: > description: >
"The client can use this method to retrieve information about PM jobs" "The client can use this method to retrieve information about PM jobs"
parameters: parameters:
...@@ -173,23 +196,33 @@ paths: ...@@ -173,23 +196,33 @@ paths:
required: true required: true
type: string type: string
responses: responses:
201: 200:
description: > description: >
"201 OK." 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 The response body shall contain representations of
zero or more PM jobs, as defined in clause 7.5.2.7." zero or more PM jobs, as defined in clause 7.5.2.7
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
headers: headers:
Location: Content-Type:
type: "string" description: The MIME type of the body of the response.
description: > type: string
"The HTTP response shall include a "Location" HTTP header maximum: 1
that contains the resource URI of the new NS descriptor resource." 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: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-based-filtering-error" $ref: "responses/SOL005_resp.yaml#/responses/400"
401: 401:
$ref: "responses/SOL005_resp.yaml#/responses/401" $ref: "responses/SOL005_resp.yaml#/responses/401"
403: 403:
...@@ -212,11 +245,14 @@ paths: ...@@ -212,11 +245,14 @@ paths:
- name: pmJobId - name: pmJobId
description: > description: >
Identifier of the PM job. 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 in: path
type: string type: string
required: true required: true
get: get:
summary: Individual PM job summary: Read a single PM job.
description: > description: >
The client can use this method for reading an individual PM job. The client can use this method for reading an individual PM job.
parameters: parameters:
...@@ -236,23 +272,33 @@ paths: ...@@ -236,23 +272,33 @@ paths:
type: string type: string
responses: responses:
200: 200:
description: > description: 200 OK.
200 OK. schema:
type: "object"
Information about an individual PM job was queried successfully. description: >
The response body shall contain a representation of the PM job Information about an individual PM job was queried successfully.
resource. 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: 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: WWW-Authenticate:
type: "string"
description: > description: >
Challenge if the corresponding HTTP request has not provided Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP authorization, or error details if the corresponding HTTP request
request has provided an invalid authorization token. has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob"
400: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
401: 401:
...@@ -268,7 +314,7 @@ paths: ...@@ -268,7 +314,7 @@ paths:
503: 503:
$ref: "responses/SOL005_resp.yaml#/responses/503" $ref: "responses/SOL005_resp.yaml#/responses/503"
delete: delete:
summary: Individual PM job summary: Delete a PM job.
description: > description: >
This method terminates an individual PM job. This method terminates an individual PM job.
parameters: parameters:
...@@ -329,7 +375,7 @@ paths: ...@@ -329,7 +375,7 @@ paths:
type: string type: string
required: true required: true
get: get:
summary: Individual performance report summary: Read an individual performance report.
description: > description: >
The client can use this method for reading an individual performance The client can use this method for reading an individual performance
report. report.
...@@ -350,22 +396,34 @@ paths: ...@@ -350,22 +396,34 @@ paths:
type: string type: string
responses: responses:
200: 200:
description: > description: 200 OK.
Information of an individual performance report was read schema:
successfully. type: "object"
The response body shall contain a representation of the description: >
performance report resource. 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: 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: WWW-Authenticate:
type: "string"
description: > description: >
Challenge if the corresponding HTTP request has not provided Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP authorization, or error details if the corresponding HTTP request
request has provided an invalid authorization token. has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/NSPerfomananceManagement_def.yaml#/definitions/PerformanceReport"
400: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
401: 401:
...@@ -387,67 +445,78 @@ paths: ...@@ -387,67 +445,78 @@ paths:
'/thresholds': '/thresholds':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5 #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5
post: post:
summary: Thresholds summary: Create a threshold.
description: > description: >
This resource represents thresholds. This resource represents thresholds.
The client can use this resource to create and query 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 The POST method can be used by the client to create a threshold
parameters: 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: > description: >
Request parameters to create a threshold resource. 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: responses:
201: 201:
description: > description: 201 - Created.
201 - Created. schema:
type: "object"
A threshold was created successfully. description: >
The response body shall contain a representation of A threshold was created successfully.
the created threshold resource, as defined in The response body shall contain a representation of
clause 7.5.2.9. the created threshold resource, as defined in clause 7.5.2.9.
The HTTP response shall include a "Location" HTTP The HTTP response shall include a "Location" HTTP
header that contains the resource URI of the created header that contains the resource URI of the created
threshold resource. threshold resource.
properties:
Threshold:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
headers: headers:
Location: Location:
description: The resource URI of the created threshold instance type: "string"
type: string description: >
format: url 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: WWW-Authenticate:
type: "string"
description: > description: >
Challenge if the corresponding HTTP request has not provided Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP authorization, or error details if the corresponding HTTP request
request has provided an invalid authorization token. has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
400: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
401: 401:
...@@ -463,7 +532,7 @@ paths: ...@@ -463,7 +532,7 @@ paths:
503: 503:
$ref: "responses/SOL005_resp.yaml#/responses/503" $ref: "responses/SOL005_resp.yaml#/responses/503"
get: get:
summary: Thresholds summary: Query thresholds.
description: > description: >
The client can use this method to query information about thresholds. The client can use this method to query information about thresholds.
parameters: parameters:
...@@ -472,11 +541,11 @@ paths: ...@@ -472,11 +541,11 @@ paths:
required: false required: false
type: "string" type: "string"
description: > 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 NFVO shall support receiving filtering parameters as part of the URI query string.
The OSS/BSS may supply filtering parameters. The OSS/BSS may supply filtering parameters.
All attribute names that appear in the Thresholds data type and in data types 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 - name: Accept
description: > description: >
Content-Types that are acceptable for the response. Content-Types that are acceptable for the response.
...@@ -491,32 +560,33 @@ paths: ...@@ -491,32 +560,33 @@ paths:
in: header in: header
required: true required: true
type: string type: string
responses: responses:
200: 200:
description: > description: >
200 - OK. 200 - OK.
Information about zero or more thresholds was queried Information about zero or more thresholds was queried successfully.
successfully.
The response body shall contain representations of 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: headers:
Location: Content-Type:
description: The resource URI of the created threshold instance description: The MIME type of the body of the response.
type: string type: string
format: url maximum: 1
minimum: 1
WWW-Authenticate: WWW-Authenticate:
type: string
description: > description: >
Challenge if the corresponding HTTP request has not provided Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token. request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema: schema:
type: array type: array
items: items:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold" properties:
Threshold:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
400: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
401: 401:
...@@ -549,10 +619,12 @@ paths: ...@@ -549,10 +619,12 @@ paths:
type: string type: string
required: true required: true
get: get:
summary: Individual threshold summary: Query a single threshold.
description: > description: >
This resource represents an individual threshold.
The client can use this method for reading 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: parameters:
- name: Accept - name: Accept
description: > description: >
...@@ -570,21 +642,33 @@ paths: ...@@ -570,21 +642,33 @@ paths:
type: string type: string
responses: responses:
200: 200:
description: > description: 200 OK.
Information about an individual threshold was queried schema:
successfully. The response body shall contain a type: "object"
representation of the threshold. 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: 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: WWW-Authenticate:
type: "string"
description: > description: >
Challenge if the corresponding HTTP request has not provided Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP authorization, or error details if the corresponding HTTP request
request has provided an invalid authorization token. has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold"
400: 400:
$ref: "responses/SOL005_resp.yaml#/responses/400" $ref: "responses/SOL005_resp.yaml#/responses/400"
401: 401:
...@@ -600,7 +684,7 @@ paths: ...@@ -600,7 +684,7 @@ paths:
503: 503:
$ref: "responses/SOL005_resp.yaml#/responses/503" $ref: "responses/SOL005_resp.yaml#/responses/503"
delete: delete:
summary: Individual threshold summary: Delete a threshold.
description: > description: >
This resource represents an individual threshold. This resource represents an individual threshold.
This method allows to delete a threshold. This method allows to delete a threshold.
...@@ -654,71 +738,87 @@ paths: ...@@ -654,71 +738,87 @@ paths:
'/subscriptions': '/subscriptions':
#ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7 #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7
post: post:
summary: Subscriptions summary: Subscribe to PM notifications.
description: > description: >
The POST method creates a new subscription. 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, 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. request and response data structures, and response codes.
Creation of two subscription resources with the same callbackURI and Creation of two subscription resources with the same callbackURI and the same filter can result in performance
the same filter can result in performance degradation and will provide degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases.
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 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), same filter and callbackUri already exists (in which case it shall return the "201 Created" response code), or may decide
or may decide to not create a duplicate subscription resource (in which case it shall return to not create a duplicate subscription resource (in which case it shall return a "303 See Other" response code referencing
a "303 See Other" response code referencing the existing subscription resource with the same filter and callbackUri). the existing subscription resource with the same filter and callbackUri)
parameters: parameters:
- name: PmSubscriptionRequest - name: Accept
description: > description: >
Details of the subscription to be created. Content-Types that are acceptable for the response.