From 8ba978e544cbf7de4ddb50479f7e7854ae04ed30 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 29 Jun 2020 10:31:23 +0200 Subject: [PATCH] SOL002 modifications according to v03006 --- .../SOL002VNFConfiguration_def.yaml | 1 + .../VNFFaultManagement.yaml | 13 ++-- .../SOL002VNFFaultManagement_def.yaml | 2 + .../VNFIndicatorNotification.yaml | 66 +++++++++++++++++ .../SOL002VNFIndicatorNotification_def.yaml | 72 ++++++++++++++++++- .../SOL002SOL003VNFIndicator_def.yaml | 13 ++++ ...002SOL003VNFPerformanceManagement_def.yaml | 5 ++ 7 files changed, 165 insertions(+), 7 deletions(-) diff --git a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml index 761f41b8..d56c1edc 100644 --- a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml +++ b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml @@ -105,6 +105,7 @@ definitions: vnfcInstanceId: description: > Identifier of a VNFC instance to which this set of configuration data applies. + The identifier references the "id" attribute in a "VnfcInfo" structure. $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' intCpConfig: description: > diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index f0f8cb5f..89b3e833 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -515,12 +515,13 @@ components: Subscriptions.Get: description: | 200 OK - The list of subscriptions has been queried successfully. The response body shall contain the representations of - all active subscriptions of the functional block that invokes the method. If the "filter" URI parameter was - supplied in the request, the data in the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the VNFM supports alternative 2 (paging) according to - clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. + Shall be returned when the list of subscriptions has been queried successfully. + The response body shall contain the representations of all active subscriptions of the functional block that + invokes the method. If the "filter" URI parameter was supplied in the request, the data in the response body + shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of + ETSI GS NFV-SOL 013. headers: Version: description: The used API version. diff --git a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml index e2b4c336..20f70fe3 100644 --- a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml @@ -29,6 +29,8 @@ definitions: vnfcInstanceIds: description: > Identifiers of the affected VNFC instances. + Each identifier references the "id" attribute in a "VnfcInfo" structure. + Shall be present if the alarm affects at least one VNFC instance. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 923a15a8..e0075af3 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -80,6 +80,63 @@ paths: "503": $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + '/URI-is-provided-by-the-client-when-creating-the-subscription_SupportedIndicatorsChangeNotification': + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + summary: Test notification endpoint. + description: | + Service Unavailable + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. + responses: + "204": + $ref: '#/components/responses/VNFInNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + + post: + summary: Notification endpoint + description: | + The API producer can use this resource to send notifications related to VNF indicator value changes to a + subscribed API consumer, which has provided the URI of this resource during the subscription process. + The POST method delivers a notification from API producer to an API consumer. The API consumer shall have + previously created an "Individual subscription" resource with a matching filter. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/SupportedIndicatorsChangeNotification' + responses: + "204": + $ref: '#/components/responses/VNFInNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + components: requestBodies: VnfIndicatorValueChangeNotification: @@ -91,6 +148,15 @@ components: $ref: ./definitions/SOL002VNFIndicatorNotification_def.yaml#/definitions/VnfIndicatorValueChangeNotification required: true + SupportedIndicatorsChangeNotification: + description: | + A notification about changes of the set of supported indicators. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFIndicatorNotification_def.yaml#/definitions/SupportedIndicatorsChangeNotification + required: true + responses: VNFInNotification.Get: description: | diff --git a/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml b/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml index 8c042ff3..8b90980c 100644 --- a/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml +++ b/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml @@ -67,4 +67,74 @@ definitions: subscription: description: > Link to the related subscription. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Link' \ No newline at end of file + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Link' + + SupportedIndicatorsChangeNotification: + description: | + This type represents a notification to inform the receiver that the set of indicators supported by a VNF instance + has changed. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - vnfInstanceId + properties: + id: + descriptions: | + 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: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' + notificationType: + description: | + Discriminator for the different notification types. Shall be set to "SupportedIndicatorsChangeNotification" + for this notification type. + type: string + subscriptionId: + description: | + Identifier of the subscription that this notification relates to. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' + timeStamp: + description: | + Date-time of the generation of the notification. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime' + vnfInstanceId: + description: | + Identifier of the VNF instance which provides the indicator value. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' + supportedIndicators: + description: | + Set of VNF indicators supported by the VNF instance. + type: array + items: + type: object + required: + - vnfIndicatorId + properties: + vnfIndicatorId: + description: | + Identifier of the VNF indicator whose value has changed. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' + name: + description: | + Human readable name of the VNF indicator. Shall be present if defined in the VNFD. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + type: string + _links: + description: | + Links for this resource. + type: object + required: + - subscription + properties: + vnfInstance: + description: | + Link to the related "Individual VNF instance" resource. Shall be present if the VNF instance information + is accessible as a resource. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink' + subscription: + description: | + Link to the related subscription. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink' \ No newline at end of file diff --git a/src/definitions/SOL002SOL003VNFIndicator_def.yaml b/src/definitions/SOL002SOL003VNFIndicator_def.yaml index 36baa383..7dc38d5e 100644 --- a/src/definitions/SOL002SOL003VNFIndicator_def.yaml +++ b/src/definitions/SOL002SOL003VNFIndicator_def.yaml @@ -64,6 +64,19 @@ definitions: description: > Filter criteria to select VNF instances about which to notify. $ref: "SOL002SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter" + notificationTypes: + description: > + Match particular notification types. + Permitted values: + * VnfIndicatorValueChangeNotification + * SupportedIndicatorsChangeNotification + The permitted values of the "notificationTypes" attribute are spelled exactly + as the names of the notification types to facilitate automated code generation + systems. + type: string + enum: + - VnfIndicatorValueChangeNotification + - SupportedIndicatorsChangeNotification indicatorIds: description: > Match particular VNF indicator identifiers. diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index e153cc77..9b9f3976 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -125,6 +125,7 @@ definitions: - id - notificationType - timeStamp + - pmJobId - objectType - objectInstanceId - _links @@ -147,6 +148,10 @@ definitions: description: > Date and time of the generation of the notification. $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + pmJobId: + description: > + Identifier of the PM job for which performance information is available. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" objectType: description: > Type of the measured object. -- GitLab