Commit fcc3b122 authored by moscatelli's avatar moscatelli

SOL005: OpenAPI version updated to 1.0.0 for all interfaces + Notification interfaces created

parent 5267857f
Pipeline #765 failed with stage
in 0 seconds
......@@ -24,7 +24,8 @@
Uri:
description: >
String formatted according to IETF RFC 3986.
type: string
type: string
Link:
description: >
This type represents a link to a resource.
......@@ -36,7 +37,8 @@
description: >
URI of the referenced resource.
type: string
format: url
format: url
DateTime:
description: >
Date-time stamp.
......
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
AlarmNotification:
description: >
This type represents an alarm notification about NS faults.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- alarm
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent
multiple times due to multiple subscriptions, the "id"
attribute of all these notifications shall have the same value.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types.
Shall be set to "AlarmNotification" for this notification type.
type: string
enum:
- AlarmClearedNotification
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
alarm:
description: >
Information about an alarm including AlarmId, affected
NS identifier, and FaultDetails.
$ref: "../../NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm"
alarmClearedTime:
description: >
The time stamp indicating when the alarm was cleared.
_links:
description: >
Links to resources related to this notification.
type: object
required:
- subscription
- alarm
properties:
subscription:
description: >
Link to the related subscription.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link"
alarm:
description: >
Link to the resource that represents the related alarm.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link"
AlarmClearedNotification:
description: >
This type represents an alarm cleared notification about VNF faults.
The notification shall be triggered by the VNFM when an alarm has been
cleared.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- alarmId
- alarmClearedTime
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent multiple
times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"AlarmClearedNotification" for this notification type.
type: string
enum:
- AlarmClearedNotification
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
alarmId:
description: >
Alarm identifier.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
alarmClearedTime:
description: >
The time stamp indicating when the alarm was cleared.
_links:
description: >
Links to resources related to this notification.
type: object
required:
- subscription
- alarm
properties:
subscription:
description: >
Link to the related subscription.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link"
alarm:
description: >
Link to the resource that represents the related alarm.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link"
AlarmListRebuiltNotification:
description: >
This type represents a notification that the alarm list has been
rebuilt, e.g. if the VNFM detects its storage holding the alarm
list is corrupted.
The notification shall be triggered by the VNFM when the alarm list has
been rebuilt.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent multiple
times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"AlarmListRebuiltNotification" for this notification type.
type: string
enum:
- AlarmListRebuiltNotification
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
_links:
description: >
Links to resources related to this notification.
type: object
required:
- subscription
- alarms
properties:
subscription:
description: >
Link to the related subscription.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link"
alarms:
description: >
Link to the alarm list, i.e. the "Alarms" resource.
$ref: "../../NSFaultManagement/definitions/SOL005_def.yaml#/definitions/Link"
\ No newline at end of file
......@@ -332,6 +332,33 @@
minimum: 1
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409:
description: >
409 CONFLICT
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: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
412:
description: >
Precondition Failed
......
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
NsLcmOperationOccurrenceNotification:
type: object
required:
- id
- nsInstanceId
- nsLcmOpOccId
- subscriptionId
properties:
id:
description: >
Identifier of this notification. If a notification is sent
multiple times due to multiple subscriptions, the "id"
attribute of all these notifications shall have the same value.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
nsInstanceId:
description: >
The identifier of the NS instance affected.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
nsLcmOpOccId:
description: >
The identifier of the NS lifecycle operation occurrence
associated to the notification.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
operation:
description: >
The lifecycle operation.
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpType"
notificationType:
description: >
Discriminator for the different notification types. Shall be
set to "NsLcmOperationOccurrenceNotification" for this
notification type.
type: string
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
timestamp:
description: >
Date-time of the generation of the notification.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
notificationStatus:
description: >
Indicates whether this notification reports about the start
of a NS lifecycle operation or the result of a NS lifecycle
operation.
Permitted values:
- START: Informs about the start of the NS LCM
operation occurrence.
- RESULT: Informs about the final or intermediate
result of the NS LCM operation occurrence.
type: string
enum:
- START
- RESULT
operationState:
description: >
The state of the NS lifecycle operation occurrence.
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOperationStateType"
isAutomaticInvocation:
description: >
Set to true if this NS LCM operation occurrence has
been automatically triggered by the NFVO. This occurs
in case of auto-scaling, auto-healing and when a nested
NS is modified as a result of an operation on its
composite NS. Set to false otherwise.
type: boolean
affectedVnf:
description: >
Information about the VNF instances that were affected
during the lifecycle operation.
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf"
affectedPnf:
description: >
Information about the PNF instances that were affected
during the lifecycle operation.
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf"
affectedVl:
description: >
Information about the VL instances that were affected
during the lifecycle operation.
type: array
items:
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink"
affectedVnffg:
description: >
Information about the VNFFG instances that were
affected during the lifecycle operation.
type: array
items:
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg"
affectedNs:
description: >
Information about the SAP instances that were affected
during the lifecycle operation. See note.
type: array
items:
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap"
affectedSap:
description: >
The lifecycle operation.
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpType"
error:
description: >
Details of the latest error, if one has occurred during
executing the LCM operation (see clause 4.3.5). Shall
be present if operationState is "FAILED_TEMP" or
"FAILED", and shall be absent otherwise.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/ProblemDetails"
_links:
description: >
Links to resources related to this notification.
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks"
NsIdentifierCreationNotification:
type: object
required:
- subscriptionId
- nsInstanceId
properties:
notificationType:
description: >
Discriminator for the different notification types.
Shall be set to "NsIdentifierDeletionNotification" for this
notification type.
type: string
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
timestamp:
description: >
Date-time of the generation of the notification.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
nsInstanceId:
description: >
The created NS instance identifier
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
_links:
description: >
Links to resources related to this notification.
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks"
NsIdentifierDeletionNotification:
type: object
required:
- subscriptionId
- nsInstanceId
properties:
notificationType:
description: >
Discriminator for the different notification types.
Shall be set to "NsIdentifierDeletionNotification" for this
notification type.
type: string
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
timestamp:
description: >
Date-time of the generation of the notification.
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
nsInstanceId:
description: >
The created NS instance identifier
$ref: "../../NSLifecycleManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
_links:
description: >
Links to resources related to this notification.
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks"
\ No newline at end of file
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
PerformanceInformationAvailableNotification:
description: >
This notification informs the receiver that performance information is available.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- objectInstanceId
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is
sent multiple times due to multiple
subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types.
Shall be set to
"PerformanceInformationAvailableNotification"
for this notification type.
type: string
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date and time of the generation of the notification.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
objectInstanceId:
description: >
Identifier that identifies a NS instance.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
_links:
description: >
Links to resources related to this notification.
type: object
required:
- subscription
- pmJob
- performanceReport
properties:
subscription:
description: >
Link to the related subscription.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link"
objectInstance:
description: >
Link to the resource representing the NS
instance to which the notified change applies.
Shall be present if the NS instance information
is accessible as a resource.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link"
pmJob:
description: >
Link to the resource that represents the PM job
for which performance information is available.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link"
performanceReport:
description: >
Link from which the available performance
information of data type "PerformanceReport"
(see clause 7.5.2.10) can be obtained.
This link should point to an "Individual
performance report" resource as defined in
clause 6.4.3a.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link"
ThresholdCrossedNotification:
description: >
This type represents a notification that is sent when a threshold has been crossed.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- thresholdId
- crossingDirection
- objectInstanceId
- performanceMetric
- performanceValue
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is
sent multiple times due to multiple
subscriptions, the "id" attribute of all these
notifications shall have the same value..
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types.
Shall be set to "ThresholdCrossedNotification "
for this notification type.
type: string
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date and time of the generation of the notification.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
thresholdId:
description: >
Identifier of the threshold which has been crossed.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
crossingDirection:
description: >
An indication of whether the threshold was crossed in upward or downward direction.
$ref: "#/definitions/CrossingDirectionType"
objectInstanceId:
description: >
Identifier that identifies a NS instance.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
performanceMetric:
description: >
Performance metric associated with the threshold.
This attribute shall contain the related "Measurement Name" value
as defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
performanceValue:
description: >
Value of the metric that resulted in threshold crossing.
The type of this attribute shall correspond to the related
"Measurement Unit" as defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: object
_links:
description: >
Links to resources related to this notification.
type: object
required:
- subscription
- objectInstance
- threshold
properties:
subscription:
description: >
Link to the related subscription.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link"
objectInstance:
description: >
Link to the resource representing the NS
instance to which the notified change applies.
Shall be present if the NS instance information
is accessible as a resource..
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link"
threshold:
description: >
Link to the resource that represents the
threshold that was crossed.
$ref: "../../NSPerformanceManagement/definitions/SOL005_def.yaml#/definitions/Link"
CrossingDirectionType:
description: >
The enumeration CrossingDirectionType shall comply with the provisions.
Acceptable Values are:
UP - The threshold was crossed in upward direction.
DOWN - The threshold was crossed in downward direction.
type: string
enum:
- UP
- DOWN
\ No newline at end of file
swagger: "2.0"
info:
version: "1.0.0"
title: "SOL005 - VNF Package Management Notification interface"
description: >
SOL005 - VNF Package Management Notification interface
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to. In case of
discrepancies the published ETSI Group Specification takes precedence.
In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based
filtering mechanism is defined. This mechanism is currently not
included in the corresponding OpenAPI design for this GS version. Changes
to the attribute-based filtering mechanism are being considered in v2.5.1
of this GS for inclusion in the corresponding future ETSI NFV OpenAPI
design.
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
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
basePath: /callback/v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
paths:
##################################################################################
# Notification endpoint NS Performance Management #
##################################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageOnboardingNotification':
post:
summary: Notify about VNF package onboarding or change
description: >
The POST method delivers a notification from the server to the client.
This method shall follow the provisions specified in the
Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters,
request and response data structures, and response codes.
parameters:
- name: VnfPackageOnboardingNotification
description: >
A notification about on-boarding of a VNF package.
in: body
required: true
schema:
properties:
VnfPackageOnboardingNotification:
$ref: "definitions/SOL005VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageOnboardingNotification"
- 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