Commit 0338b777 authored by Gergely Csatari's avatar Gergely Csatari Committed by Michele Carignani
Browse files

VNF Performance Management interface



Change-Id: Ie44a72a9e9ded5acf6014dcf8018224149bb7e3c
Signed-off-by: Gergely Csatari's avatarGergely Csatari <gergely.csatari@nokia.com>
parent c1d1ce0c
......@@ -322,63 +322,63 @@ definitions:
properties:
self:
description: URI of this resource.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
indicators:
description: Indicators related to this VNF instance, if applicable.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
instantiate:
description: >
Link to the "instantiate" task resource, if the related operation
is possible based on the current status of this VNF instance
resource (i.e. VNF instance in NOT_INSTANTIATED state).
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
terminate:
description: >
Link to the "terminate" task resource, if the related operation
is possible based on the current status of this VNF instance
resource (i.e. VNF instance is in INSTANTIATED state).
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
scale:
description: >
Link to the "scale" task resource, if the related operation is
supported for this VNF instance, and is possible based on the
current status of this VNF instance resource (i.e. VNF instance
is in INSTANTIATED state).
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
scaleToLevel:
description: >
Link to the "scale_to_level" task resource, if the related
operation is supported for this VNF instance, and is possible
based on the current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
changeFlavour:
description: >
Link to the "change_flavour" task resource, if the related
operation is supported for this VNF instance, and is possible
based on the current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
heal:
description: >
Link to the "heal" task resource, if the related operation is
supported for this VNF instance, and is possible based on the
current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
operate:
description: >
Link to the "operate" task resource, if the related operation is
supported for this VNF instance, and is possible based on the
current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
changeExtConn:
description: >
Link to the "change_ext_conn" task resource, if the related
operation is possible based on the current status of this VNF
instance resource (i.e. VNF instance is in INSTANTIATED state).
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
MonitoringParameter:
type: object
......@@ -928,39 +928,39 @@ definitions:
self:
description: >
URI of this resource.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
vnfInstance:
description: >
Link to the VNF instance that the operation applies to.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
grant:
description: >
Link to the grant for this operation, if one exists.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
cancel:
description: >
Link to the task resource that represents the "cancel" operation
for this VNF LCM operation occurrence, if cancelling is
currently allowed.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
retry:
description: >
Link to the task resource that represents the "retry" operation
for this VNF LCM operation occurrence, if retrying is currently
allowed.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
rollback:
description: >
Link to the task resource that represents the "rollback"
operation for this VNF LCM operation occurrence, if rolling back
is currently allowed.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
fail:
description: >
Link to the task resource that represents the "fail" operation
for this VNF LCM operation occurrence, if declaring as failed is
currently allowed.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Link"
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
VnfLinkPort:
type: object
......
swagger: "2.0"
info:
version: "2.3.0"
title: SOL003
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
basePath: "/vnfpm/v1"
schemes:
- https
consumes:
- "application/json"
produces:
- "application/json"
paths:
###############################################################################
# PM jobs #
###############################################################################
'/pm_jobs':
#SOL003 location: 6.4.2
post:
description: >
The POST method creates a PM job.
parameters:
- name: CreatePmJobRequest
description: The VNF creation parameters
in: body
required: true
schema:
$ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_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: Content-Type
description: >
The MIME type of the body of the request.
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
responses:
201:
description: >
The PM job was created successfully. The response body shall
contain a representation of the created PM job resource.
The HTTP response shall include a "Location" HTTP header that
points to the created PM job resource.
headers:
Location:
description: The resource URI of the created PM Job
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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
get:
description: >
The client can use this method to retrieve information about PM jobs.
parameters:
- 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:
200:
description: >
Information about zero or more PM jobs was queried successfully.
The response body shall contain representations of zero or more PM
jobs.
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
schema:
type: array
items:
$ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Individual PM job #
###############################################################################
'/pm_jobs/{pmJobId}':
#SOL003 location: 6.4.3
parameters:
- 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:
description: >
The client can use this method for reading an individual PM job.
parameters:
- 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
responses:
200:
description: >
Information about an individual PM job was queried successfully.
The response body shall contain a representation of the PM job
resource.
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
schema:
$ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
delete:
description: >
This method terminates an individual PM job.
parameters:
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: true
type: string
responses:
204:
description: >
The PM job 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:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Individual performance report #
###############################################################################
'/pm_jobs/{pmJobId}/reports/{reportId}':
#SOL003 location: 6.4.4
parameters:
- name: pmJobId
description: >
Identifier of the PM job.
in: path
type: string
required: true
- name: reportId
description: >
Identifier of the performance report.
in: path
type: string
required: true
get:
description: >
The client can use this method for reading an individual performance
report.
parameters:
- 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
responses:
200:
description: >
Information of an individual performance report was read
successfully.
The response body shall contain a representation of the
performance report resource.
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
schema:
$ref: "definitions/VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Thresholds #
###############################################################################
'/thresholds':
#SOL003 location: 6.4.5
post:
description: >
The POST method can be used by the client to create a threshold.
parameters:
- name: CreateThresholdRequest
description: >
Request parameters to create a threshold resource.
in: body
required: true
schema:
$ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_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: >
A threshold was created successfully. The response body shall
contain a representation of the created threshold resource.
The HTTP response shall include a "Location" HTTP header that
contains the resource URI of the created threshold resource.
headers:
Location:
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:
$ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
get:
description: >
The client can use this method to query information about thresholds.
parameters:
- 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
responses:
200:
description: >
Information about zero or more thresholds was queried
successfully.
The response body shall contain representations of zero
or more thresholds.
headers:
Location:
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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Individual threshold #
###############################################################################
'/thresholds/{thresholdId}':
#SOL003 location: 6.4.6
parameters:
- name: thresholdId
description: >
Identifier of the threshold.
This identifier can be retrieved from the resource referenced by the
"Location" HTTP header in the response to a POST request creating a
new threshold resource. It can also be retrieved from the "id"
attribute in the payload body of that response.
in: path
type: string
required: true
get:
description: >
The client can use this method for reading an individual threshold.
parameters: