Commit cd558f07 authored by moscatelli's avatar moscatelli

SOL002 overall data types consolidation

parent 988ba144
Pipeline #893 passed with stage
in 0 seconds
......@@ -68,7 +68,7 @@ paths:
Configuration information about a VNF instance was read successfully.
The response body shall contain a representation of the configuration resource.
schema:
$ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfiguration'
$ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration'
headers:
Content-Type:
description: The MIME type of the body of the response.
......
definitions:
VnfConfiguration:
description: >
This type represents configuration parameters of a VNF instance and its VNFC instances.
type: object
required:
- vnfConfigurationData
properties:
vnfConfigurationData:
description: >
Configuration parameters of the VNF instance.
$ref: '#/definitions/VnfConfigurationData'
vnfcConfigurationData:
description: >
Configuration parameters of the VNFC instances.
type: array
items:
$ref: '#/definitions/VnfcConfigurationData'
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
VnfConfigModifications:
description: >
This type represents request parameters for the "Set Configuration" operation.
......@@ -33,29 +16,29 @@ definitions:
Modifications to configuration data for the VNF instance. See NOTE 1.
If present, the modifications of the "vnfConfigurationData" attribute shall
be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396).
$ref: '#/definitions/VnfConfigurationData'
$ref: '#/definitions/VnfConfigurationData'
vnfcConfigurationData:
description: >
Modifications to configuration data for certain VNFC instances. See NOTE 1 and NOTE 2.
If present, the modifications of the "vnfcConfigurationData" attribute shall follow these
If present, the modifications of the "vnfcConfigurationData" attribute shall follow these
provisions:
Modifying an attribute that is an array of objects of type "VnfcConfigurationData".
Assumptions:
1) "oldList" is the "VnfcConfigurationData" array to be modified and "newList"
is the "VnfcConfigurationData" array that contains the changes.
2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList".
3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that
has the same content of the "vnfcInstanceId" attribute as the "newEntry";
a "newEntry" has no corresponding entry if no such "oldEntry" exists.
4) In any array of "VnfcConfigurationData" structures, the content of "vnfcInstanceId"
is unique (i.e. there shall be no two entries with the same content of "vnfcInstanceId").
1) "oldList" is the "VnfcConfigurationData" array to be modified and "newList"
is the "VnfcConfigurationData" array that contains the changes.
2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList".
3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that
has the same content of the "vnfcInstanceId" attribute as the "newEntry";
a "newEntry" has no corresponding entry if no such "oldEntry" exists.
4) In any array of "VnfcConfigurationData" structures, the content of "vnfcInstanceId"
is unique (i.e. there shall be no two entries with the same content of "vnfcInstanceId").
Provisions:
1) For each "newEntry" in "newList" that has no corresponding entry in "oldList",
the "oldList" array shall be modified by adding that "newEntry".
1) For each "newEntry" in "newList" that has no corresponding entry in "oldList",
the "oldList" array shall be modified by adding that "newEntry".
2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList",
the value of "oldEntry" shall be updated with the value of "newEntry" according to
the rules of JSON Merge PATCH (see IETF RFC 7396 ).
2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList",
the value of "oldEntry" shall be updated with the value of "newEntry" according to
the rules of JSON Merge PATCH (see IETF RFC 7396 ).
type: array
items:
$ref: '#/definitions/VnfcConfigurationData'
......@@ -67,6 +50,23 @@ definitions:
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
VnfConfiguration:
description: >
This type represents configuration parameters of a VNF instance and its VNFC instances.
type: object
required:
- vnfConfigurationData
properties:
vnfConfigurationData:
description: >
Configuration parameters of the VNF instance.
$ref: '#/definitions/VnfConfigurationData'
vnfcConfigurationData:
description: >
Configuration parameters of the VNFC instances.
type: array
items:
$ref: '#/definitions/VnfcConfigurationData'
VnfConfigurationData:
description: >
......@@ -76,18 +76,17 @@ definitions:
extCpConfig:
description: >
Configuration parameters for the external CPs of the VNF instance.
$ref: '#/definitions/CpConfiguration'
$ref: '#/definitions/CpConfiguration'
dhcpServer:
description: >
IP address of the DHCP server that the VNF instance can use to obtain
IP addresses to be assigned to its external CPs.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
vnfSpecificData:
description: >
Additional configurable properties of the VNF instance declared in the
VNFD as "VnfConfigurableProperties".
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
VnfcConfigurationData:
description: >
......@@ -99,22 +98,21 @@ definitions:
vnfcInstanceId:
description: >
Identifier of a VNFC instance to which this set of configuration data applies.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf'
extCpConfig:
description: >
Configuration parameters for the external CPs of the VNFC instance.
$ref: '#/definitions/CpConfiguration'
$ref: '#/definitions/CpConfiguration'
dhcpServer:
description: >
IP address of the DHCP server that the VNF instance can use to obtain
IP addresses to be assigned to its external CPs.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
vnfcSpecificData:
description: >
Additional configurable properties of the VNFC instance declared in the
VNFD as "VnfcConfigurableProperties".
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
CpConfiguration:
description: >
......@@ -128,17 +126,17 @@ definitions:
cpId:
description: >
Identifier of a CP instance within the namespace of a specific VNF instance or a VNFC instance.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf'
cpdId:
description: >
Identifier of the CPD in the VNFD.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd'
addresses:
description: >
Network address and port assigned to the CP.
type: array
items:
$ref: '#/definitions/CpAddress'
$ref: '#/definitions/CpAddress'
CpAddress:
description: >
......@@ -155,11 +153,11 @@ definitions:
macAddress:
description: >
Mac address. See NOTE 2.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/MacAddress'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/MacAddress'
ipAddress:
description: >
IP address. See NOTE 2.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
useDynamicAddress:
description: >
Set to true if an address shall be assigned dynamically. Otherwise set to false.
......@@ -168,8 +166,4 @@ definitions:
port:
description: >
The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.).
type: integer
type: integer
\ No newline at end of file
responses:
409:
description: >
Conflict
Another request is in progress that prohibits the fulfilment of
the current request, or the current resource state is inconsistent
with the request.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Version:
description: The used API version.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
swagger: "2.0"
info:
info:
version: "1.2.0"
title: SOL002 - VNF Fault Management interface
description: >
......@@ -22,14 +22,14 @@ externalDocs:
basePath: /vnffm/v1
schemes:
schemes:
- http
- https
consumes:
consumes:
- application/json
produces:
produces:
- application/json
paths:
......@@ -43,7 +43,7 @@ paths:
# Alarms #
###############################################################################
'/alarms':
#SOL003 location: 7.4.2
#SOL003 location: 7.4.2
parameters:
- name: Version
description: >
......@@ -122,7 +122,7 @@ paths:
type: string
responses:
200:
description: >
description: >
200 OK
Information about zero or more alarms was queried successfully.
......@@ -156,7 +156,7 @@ paths:
maximum: 1
minimum: 0
schema:
$ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/Alarm"
$ref: "./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -186,7 +186,7 @@ paths:
# Individual alarm #
###############################################################################
'/alarms/{alarmId}':
#SOL003 location: 7.4.3
#SOL003 location: 7.4.3
parameters:
- name: alarmId
description: >
......@@ -232,7 +232,7 @@ paths:
type: string
responses:
200:
description: >
description: >
200 OK
Information about an individual alarm was read successfully.
......@@ -258,7 +258,7 @@ paths:
maximum: 1
minimum: 0
schema:
$ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/Alarm"
$ref: "./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -309,7 +309,7 @@ paths:
type: string
responses:
200:
description: >
description: >
200 OK
The request was accepted and completed. The response body shall
......@@ -413,7 +413,7 @@ paths:
description: The proposed "escalated perceived severity" value
in: body
schema:
$ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest"
$ref: "./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest"
responses:
200:
description: >
......@@ -456,7 +456,7 @@ paths:
# Subscriptions #
###############################################################################
'/subscriptions':
#SOL003 location: 7.4.4
#SOL003 location: 7.4.4
parameters:
- name: Version
description: >
......@@ -497,7 +497,7 @@ paths:
type: string
responses:
201:
description: >
description: >
201 CREATED
The subscription was created successfully. The response body shall
......@@ -627,7 +627,7 @@ paths:
type: string
responses:
200:
description: >
description: >
200 OK
The list of subscriptions was queried successfully. The response
......@@ -692,7 +692,7 @@ paths:
# Individual subscription #
###############################################################################
'/subscriptions/{subscriptionId}':
#SOL003 location: 7.4.5
#SOL003 location: 7.4.5
parameters:
- name: subscriptionId
description: >
......@@ -738,7 +738,7 @@ paths:
type: string
responses:
200:
description: >
description: >
200 OK
The operation has completed successfully.
......@@ -794,7 +794,7 @@ paths:
This method terminates an individual subscription.
responses:
204:
description: >
description: >
204 NO CONTENT
The subscription resource was deleted successfully.
......
......@@ -9,6 +9,7 @@ definitions:
required:
- id
- managedObjectId
- vnfcInstanceIds
- rootCauseFaultyResource
- alarmRaisedTime
- ackState
......@@ -19,7 +20,7 @@ definitions:
- isRootCause
- _links
properties:
id:
id:
description: >
Identifier of this Alarm information element.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
......@@ -27,6 +28,12 @@ definitions:
description: >
Identifier of the affected VNF instance.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
vnfcInstanceIds:
description: >
Identifiers of the affected VNFC instances.
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
rootCauseFaultyResource:
description: >
The virtualised resources that are causing the VNF fault.
......@@ -53,23 +60,21 @@ definitions:
* UNACKNOWLEDGED
* ACKNOWLEDGED.
type: string
enum:
enum:
- UNACKNOWLEDGED
- ACKNOWLEDGED
perceivedSeverity:
#description: >
# Perceived severity of the managed object failure.
# $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType"
type: string
eventTime:
description: >
Perceived severity of the managed object failure.
$ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType"
eventTime:
description: >
Time stamp indicating when the fault was observed.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
eventType:
#description: >
# Type of event.
# todo: Fix
#$ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/EventType"
description: >
Type of event.
$ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/EventType"
type: string
faultType:
description: >
......@@ -84,12 +89,12 @@ definitions:
Attribute indicating if this fault is the root for other correlated
alarms. If TRUE, then the alarms listed in the attribute
CorrelatedAlarmId are caused by this fault.
type: boolean
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean"
correlatedAlarmIds:
description: >
List of identifiers of other alarms correlated to this fault.
type: array
items:
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
faultDetails:
description: >
......@@ -105,15 +110,12 @@ definitions:
- self
properties:
self:
#description: >
# URI of this resource.
description: >
URI of this resource.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
objectInstance:
#description: >
# Link to the resource representing the VNF instance to which the
# notified alarm is correlated. Shall be present if the VNF
# instance information is accessible as a resource.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
PerceivedSeverityRequest:
type: string
\ No newline at end of file
description: >
Link to the resource representing the VNF instance to which the
notified alarm is correlated. Shall be present if the VNF
instance information is accessible as a resource.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
\ No newline at end of file
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
responses:
409-alarm-state-conflict:
description: >
Conflict
The operation cannot be executed currently, due to a conflict with the
state of the "Individual alarm" resource.
Typically, this is due to the fact that the alarm is already in the
state that is requested to be set (such as trying to acknowledge an
already-acknowledged alarm).
The response body shall contain a ProblemDetails structure, in which the
"detail" attribute should convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
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
Version:
description: The used API version.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
......@@ -33,9 +33,9 @@ produces:
- application/json
paths:
###############################################################################
# Notification endpoint AlarmNotification #
###############################################################################
###############################################################################
# Notification endpoint AlarmNotification #
###############################################################################
'/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification':
post:
description: >
......@@ -75,7 +75,7 @@ paths:
type: string
responses:
204:
description: >
description: >
No Content
The notification was delivered successfully.
......@@ -129,7 +129,7 @@ paths:
type: string
responses:
204:
description: >
description: >
No Content
The notification endpoint was tested successfully.
......@@ -163,9 +163,9 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Notification endpoint AlarmClearedNotification #
###############################################################################
###############################################################################
# Notification endpoint AlarmClearedNotification #
###############################################################################
'/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification':
post:
description: >
......@@ -205,7 +205,7 @@ paths:
type: string
responses:
204:
description: >
description: >
No Content
The notification was delivered successfully.
......@@ -259,7 +259,7 @@ paths:
type: string
responses:
204:
description: >
description: >
No Content
The notification endpoint was tested successfully.
......@@ -293,15 +293,15 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Notification endpoint AlarmListRebuiltNotification #
###############################################################################
###############################################################################
# Notification endpoint AlarmListRebuiltNotification #
###############################################################################
'/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification':
post:
description: >
Notify
The POST method notifies a VNF alarm or that the alarm list has been
rebuilt.
parameters:
......@@ -335,7 +335,7 @@ paths:
type: string
responses:
204:
description: >
description: >
No Content
The notification was delivered successfully.
......@@ -389,7 +389,7 @@ paths:
type: string
responses:
204:
description: >
description: >
No Content
The notification endpoint was tested successfully.
......
......@@ -13,7 +13,7 @@ definitions:
description: >
Filter criteria to select VNF instances about which to notify. This attribute shall not be included
when the VNFM sends a subscription request to a particular VNF instance.
$ref: 'VnfInstanceSubscriptionFilter_def.yaml#/definitions/VnfInstanceSubscriptionFilter'
$ref: 'VnfInstanceSubscriptionFilter_def.yaml#/definitions/VnfInstanceSubscriptionFilter'
indicatorIds:
description: >
Match particular VNF indicator identifiers.
......
......@@ -12,7 +12,7 @@ definitions:
Filter settings for this subscription, to define the subset of all notifications this
subscription relates to. A particular notification is sent to the subscriber if the filter
matches, or if there is no filter.
$ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter'
$ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter'
callbackUri:
description: >
The URI of the endpoint to send the notification to.
......
......@@ -12,13 +12,13 @@ definitions:
id:
description: >
Identifier of this subscription resource.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
filter:
description: >
Filter settings for this subscription, to define the subset of all notifications this subscription
relates to. A particular notification is sent to the subscriber if the filter matches, or if there
is no filter.
$ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter'
$ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter'
callbackUri:
description: >
The URI of the endpoint to send the notification to.
......
definitions:
VnfIndicator:
VnfIndicator:
type: object
required:
- id
......@@ -11,7 +11,7 @@ definitions:
id:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd'
name:
type: string
type: string
value:
type: object
vnfInstanceId:
......
......@@ -18,7 +18,7 @@ definitions:
If present, match VNF instances that were created based on a VNFD identified by one of the
vnfdId values listed in this attribute. See NOTE 1.
type: array
items:
items:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
vnfProductsFromProviders:
description: >
......@@ -47,7 +47,7 @@ definitions:
description: >
Name of the VNF product to match.
type: string
versions:
versions:
description: >
If present, match VNF instances that belong to VNF products with certain versions
and a certain product name, from one particular provider.
......@@ -72,7 +72,7 @@ definitions:
description: >
If present, match VNF instances with an instance identifier listed in this attribute. See NOTE 2.
type: array
items:
items:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
vnfInstanceNames:
description: >
......
swagger: "2.0"
info:
info:
version: "1.2.0"
title: SOL002 - VNF Indicator Notification Endpoint interface
description: >
......@@ -24,87 +24,87 @@ schemes:
- http
- https
consumes:
consumes:
- application/json
produces:
produces:
- application/json
paths:
/notificationendpoint: