Commits (69)
# NFV SOL002 and SOL003 APIs
This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation
for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v3.3.1.
for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v3.5.1.
The APIs described in this repository are defined for the following reference points:
* `Or-Vnfm`
* `Ve-vnfm`
**IMPORTANT: In case of discrepancies the published ETSI Group Specification takes precedence.**
**IMPORTANT: These [OpenAPI](https://www.openapis.org/) specifications are in development phase. In case of discrepancies the published ETSI Group Specification takes precedence.**
More information at [NFV Solutions wiki](https://nfvwiki.etsi.org/index.php?title=NFV_Solutions).
......
......@@ -3,20 +3,24 @@ openapi: 3.0.2
info:
title: SOL002 - API version interface
description: |
SOL002 - API version Interface 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 approved by the ETSI NFV ISG. In case of discrepancies
the published ETSI Group Specification takes precedence.
SOL002 - API version 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.
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
description: ETSI GS NFV-SOL 002 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf
paths:
/vnfconfig/api_versions:
......@@ -28,4 +32,6 @@ paths:
/vnflcm/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
/vnfpm/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
/lcmcoord/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
\ No newline at end of file
......@@ -3,10 +3,14 @@ openapi: 3.0.2
info:
title: SOL002 - VNF Configuration interface
description: |
SOL002 - VNF Configuration Interface 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 approved by the ETSI NFV ISG. In case of
SOL002 - VNF Configuration 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.
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
......@@ -15,8 +19,8 @@ info:
version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
description: ETSI GS NFV-SOL 002 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf
servers:
- url: http://127.0.0.1/vnfconfig/v1
......@@ -31,12 +35,12 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
summary: Read VNF/VNFC configuration from VNF
description: |
The client can use this method to read configuration information about a VNF instance and/or its VNFC instances.
The API consumer can use this method to read configuration information about a VNF instance and/or its VNFC instances.
See clause 9.4.2.3.2.
responses:
"200":
$ref: '#/components/responses/Configuration.Get'
$ref: '#/components/responses/Configuration.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -61,13 +65,13 @@ paths:
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
patch:
summary: Modify VNF/VNFC configuration.
description: This method sets or modifies a configuration resource.
description: |
This method sets or modifies a configuration resource. See clause 9.4.2.3.4.
requestBody:
$ref: '#/components/requestBodies/ConfigurationRequest'
responses:
"200":
$ref: '#/components/responses/Configuration.Patch'
$ref: '#/components/responses/Configuration.Patch.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -107,7 +111,7 @@ components:
required: true
responses:
Configuration.Get:
Configuration.Get.200:
description: |
200 OK
Shall be returned when configuration information about a VNF instance has been read successfully. The response
......@@ -138,7 +142,7 @@ components:
schema:
$ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration
Configuration.Patch:
Configuration.Patch.200:
description: |
200 OK
Shall be returned when the request has been accepted and completed. The response body shall contain the
......
......@@ -76,6 +76,8 @@ definitions:
VnfConfigurationData:
description: >
This type represents configuration parameters of a VNF instance.
* NOTE: ETSI GS NFV-SOL 001 specifies the structure and format of
the VNFD based on TOSCA specifications.
type: object
properties:
extCpConfig:
......@@ -92,12 +94,14 @@ definitions:
vnfSpecificData:
description: >
Additional configurable properties of the VNF instance declared in the
VNFD as "VnfConfigurableProperties".
VNFD as "VnfConfigurableProperties". see note.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
VnfcConfigurationData:
description: >
This type represents configuration parameters of a VNFC instance.
* NOTE: ETSI GS NFV-SOL 001 specifies the structure and format
of the VNFD based on TOSCA specifications.
type: object
required:
- vnfcInstanceId
......@@ -121,7 +125,7 @@ definitions:
vnfcSpecificData:
description: >
Additional configurable properties of the VNFC instance declared in the
VNFD as "VnfcConfigurableProperties".
VNFD as "VnfcConfigurableProperties". See note.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
CpConfiguration:
......
......@@ -3,10 +3,14 @@ openapi: 3.0.2
info:
title: SOL002 - VNF Fault Management interface
description: |
SOL002 - VNF Fault Management interface 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 approved by the ETSI NFV ISG.
In case of discrepancies the published ETSI Group Specification takes precedence.
SOL002 - VNF Fault Management 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.
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
......@@ -15,8 +19,8 @@ info:
version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
description: ETSI GS NFV-SOL 002 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf
servers:
- url: http://127.0.0.1/vnffm/v1
......@@ -32,7 +36,7 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The client can use this method to retrieve information about the alarm list.
The API consumer can use this method to retrieve information about the alarm list. See clause 7.4.2.3.2.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
......@@ -40,7 +44,7 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
"200":
$ref: '#/components/responses/Alarms.Get'
$ref: '#/components/responses/Alarms.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -73,13 +77,13 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The client can use this method to read an individual alarm.
The API consumer can use this method to read an individual alarm. See clause 7.4.3.3.2.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
responses:
"200":
$ref: '#/components/responses/IndividualAlarm.Get'
$ref: '#/components/responses/IndividualAlarm.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -107,7 +111,7 @@ paths:
patch:
description: |
This method modifies an individual alarm resource.
This method modifies an individual alarm resource. See clause 7.4.3.3.4.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
......@@ -115,7 +119,9 @@ paths:
$ref: '#/components/requestBodies/IndividualAlarmRequest'
responses:
"200":
$ref: '#/components/responses/IndividualAlarm.Patch'
$ref: '#/components/responses/IndividualAlarm.Patch.200'
"409":
$ref: '#/components/responses/IndividualAlarm.Patch.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -128,8 +134,6 @@ paths:
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"409":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409
"412":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412
"416":
......@@ -152,14 +156,13 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method enables the consumer to escalate the perceived severity of an alarm that is represented by an
individual alarm resource. As the result of successfully executing this method, a new "Individual subscription"
resource as defined in clause 7.4.5 shall have been created. This method shall not trigger any notification.
The POST method enables the API consumer to escalate the perceived severity of an alarm that is represented
by an individual alarm resource. See clause 7.4.4.3.1.
requestBody:
$ref: '#/components/requestBodies/IndividualAlarmEscalateRequest'
responses:
"200":
$ref: '#/components/responses/IndividualAlarmEscalate.Post'
"204":
$ref: '#/components/responses/IndividualAlarmEscalate.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -191,8 +194,8 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The client can use this method to retrieve the list of active subscriptions for VNF alarms subscribed by the
client. It can be used e.g. for resynchronization after error situations.
The API consumer can use this method to retrieve the list of active subscriptions for VNF alarms subscribed
by the API consumer. It can be used e.g. for resynchronization after error situations. See clause 7.4.5.3.2.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
......@@ -200,7 +203,7 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
"200":
$ref: '#/components/responses/Subscriptions.Get'
$ref: '#/components/responses/Subscriptions.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -228,7 +231,7 @@ paths:
post:
description: |
The POST method creates a new subscription.
The POST method creates a new subscription. See clause 7.4.5.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
......@@ -236,7 +239,7 @@ paths:
$ref: '#/components/requestBodies/FmSubscriptionRequest'
responses:
"201":
$ref: '#/components/responses/Subscriptions.Post'
$ref: '#/components/responses/Subscriptions.Post.201'
"303":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303
"400":
......@@ -271,13 +274,14 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The client can use this method for reading an individual subscription for VNF alarms subscribed by the client.
The API consumer can use this method for reading an individual subscription for VNF alarms subscribed
by the API consumer. See clause 7.4.6.3.2.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
responses:
"200":
$ref: '#/components/responses/IndividualSubscription.Get'
$ref: '#/components/responses/IndividualSubscription.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -305,16 +309,10 @@ paths:
delete:
description: |
This method terminates an individual subscription. As the result
of successfully executing this method, the "Individual subscription"
resource shall not exist any longer. This means that no notifications for
that subscription shall be sent to the formerly-subscribed API consumer.
NOTE: Due to race conditions, some notifications might still be received
by the formerly-subscribed API consumer for a certain time period after
the deletion.
This method terminates an individual subscription. See clause 7.4.6.3.5.
responses:
"204":
$ref: '#/components/responses/IndividualSubscription.Delete'
$ref: '#/components/responses/IndividualSubscription.Delete.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -394,7 +392,7 @@ components:
required: true
responses:
Alarms.Get:
Alarms.Get.200:
description: |
200 OK
Shall be returned when information about zero or more alarms was queried successfully. The response body shall
......@@ -436,7 +434,7 @@ components:
schema:
$ref: ./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm
IndividualAlarm.Get:
IndividualAlarm.Get.200:
description: |
200 OK
Shall be returned when information about an individual alarm read successfully. The response body shall contain
......@@ -467,7 +465,7 @@ components:
schema:
$ref: ./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm
IndividualAlarm.Patch:
IndividualAlarm.Patch.200:
description: |
200 OK
Shall be returned when the request was accepted and completed. The response body shall contain attribute
......@@ -498,7 +496,49 @@ components:
schema:
$ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications
IndividualAlarmEscalate.Post:
IndividualAlarm.Patch.409:
description: |
409 CONFLICT
Shall be returned upon the following error: 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 shall convey
more information about the error.
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.
style: simple
explode: false
schema:
type: string
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
Content-Type:
description: |
The MIME type of the body of the response. Reference: IETF RFC 7231
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
IndividualAlarmEscalate.Post.204:
description: |
204 No Content
Shall be returned when the VNFM has received the proposed "escalated perceived severity" value successfully.
......@@ -512,7 +552,7 @@ components:
type: string
content: {}
Subscriptions.Get:
Subscriptions.Get.200:
description: |
200 OK
Shall be returned when the list of subscriptions has been queried successfully.
......@@ -555,7 +595,7 @@ components:
schema:
$ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription
Subscriptions.Post:
Subscriptions.Post.201:
description: |
201 CREATED
The subscription was created successfully. The response body shall contain a representation of the created
......@@ -595,10 +635,11 @@ components:
schema:
$ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription
IndividualSubscription.Get:
IndividualSubscription.Get.200:
description: |
200 OK
Shall be returned when information about an individual subscription has been read successfully. The response body shall contain a representation of the "Individual subscription" resource.
Shall be returned when information about an individual subscription has been read successfully.
The response body shall contain a representation of the "Individual subscription" resource.
headers:
Version:
description: The used API version.
......@@ -608,7 +649,8 @@ components:
type: string
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.
Challenge if the corresponding HTTP request has not provided authorization, or error
details if the corresponding HTTP request has provided an invalid authorization token.
style: simple
explode: false
schema:
......@@ -624,7 +666,7 @@ components:
schema:
$ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription
IndividualSubscription.Delete:
IndividualSubscription.Delete.204:
description: |
204 NO CONTENT
Shall be returned when the "Individual subscription" resource has been deleted successfully.
......
......@@ -28,9 +28,9 @@ definitions:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
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.
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"
......
......@@ -3,10 +3,14 @@ openapi: 3.0.2
info:
title: SOL002 - VNF Fault Management Notification interface
description: |
SOL002 - VNF Fault 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 and has not been approved by the ETSI NFV ISG.
In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to
SOL002 - VNF Fault 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.
https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
......@@ -15,25 +19,25 @@ info:
version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
description: ETSI GS NFV-SOL 002 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf
servers:
- url: http://127.0.0.1/callback/v1
- url: https://127.0.0.1/callback/v1
paths:
/URI-is-provided-by-the-client-when-creating-the-subscription_AlarmNotification:
/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmNotification:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the client,
e.g. during subscription.
The GET method allows the API producer to test the notification endpoint that is provided by the API consumer,
e.g. during subscription. See clause 7.4.7.3.2.
responses:
"204":
$ref: '#/components/responses/VNFFMNotification.Get'
$ref: '#/components/responses/VNFFMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -51,16 +55,15 @@ paths:
post:
description: |
Notify
The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter.
previously created an "Individual subscription" resource with a matching filter. See clause 7.4.7.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/AlarmNotification'
responses:
"204":
$ref: '#/components/responses/VNFFMNotification.Post'
$ref: '#/components/responses/VNFFMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -76,17 +79,17 @@ paths:
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
/URI-is-provided-by-the-client-when-creating-the-subscription_AlarmClearedNotification:
/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmClearedNotification:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the client,
e.g. during subscription.
The GET method allows the API producer to test the notification endpoint that is provided by the API consumer,
e.g. during subscription. See clause 7.4.7.3.2.
responses:
"204":
$ref: '#/components/responses/VNFFMNotification.Get'
$ref: '#/components/responses/VNFFMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -104,16 +107,15 @@ paths:
post:
description: |
Notify
The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter.
previously created an "Individual subscription" resource with a matching filter. See clause 7.4.7.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/AlarmClearedNotification'
responses:
"204":
$ref: '#/components/responses/VNFFMNotification.Post'
$ref: '#/components/responses/VNFFMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -129,17 +131,17 @@ paths:
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
/URI-is-provided-by-the-client-when-creating-the-subscription_AlarmListRebuiltNotification:
/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmListRebuiltNotification:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the client,
e.g. during subscription.
The GET method allows the API producer to test the notification endpoint that is provided by the API consumer,
e.g. during subscription. See clause 7.4.7.3.2.
responses:
"204":
$ref: '#/components/responses/VNFFMNotification.Get'
$ref: '#/components/responses/VNFFMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -157,16 +159,15 @@ paths:
post:
description: |
Notify
The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter.
previously created an "Individual subscription" resource with a matching filter. See clause 7.4.7.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/AlarmListRebuiltNotification'
responses:
"204":
$ref: '#/components/responses/VNFFMNotification.Post'
$ref: '#/components/responses/VNFFMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -212,9 +213,9 @@ components:
required: true
responses:
VNFFMNotification.Get:
VNFFMNotification.Get.204:
description: |
201 NO CONTENT
204 NO CONTENT
Shall be returned to indicate the notification endpoint has been tested successfully. The response body
shall be empty.
headers:
......@@ -235,7 +236,7 @@ components:
type: string
content: {}
VNFFMNotification.Post:
VNFFMNotification.Post.204:
description: |
204 NO CONTENT
Shall be returned when the notification has been delivered successfully. The response body shall be empty.
......
......@@ -5,11 +5,12 @@ info:
description: |
SOL002 - VNF Indicator interface
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 approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification
takes precedence.
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.
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
......@@ -18,8 +19,8 @@ info:
version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
description: ETSI GS NFV-SOL 002 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf
servers:
- url: http://127.0.0.1/vnfind/v1
......@@ -34,15 +35,14 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
summary: Query multiple indicators
description: Get a list of indicators. Support of attribute based filtering
via query parameters.
description: |
The GET method queries multiple VNF indicators. See clause 8.4.2.3.2.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
"200":
$ref: '#/components/responses/Indicators.Get'
$ref: '#/components/responses/Indicators.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -74,16 +74,14 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
summary: Query multiple indicators related to a VNF instance.
description: |
Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query
parameters.
The GET method queries multiple VNF indicators related to a VNF instance. See clause 8.4.3.3.2.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
"200":
$ref: '#/components/responses/VnfIndicators.Get'
$ref: '#/components/responses/VnfIndicators.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -116,14 +114,11 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
summary: Read an inidividual VNF indicator related to a VNF instance.
description: |
Read an individual VNF indicator related to a specific VNF instance. NOTE: This identifier can be retrieved
from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF
instance resource. It can also be retrieved from the "id" attribute in the payload body of that response.
The GET method reads a VNF indicator. See clause 8.4.4.3.2.
responses:
"200":
$ref: '#/components/responses/VnfIndividualIndicator.Get'
$ref: '#/components/responses/VnfIndividualIndicator.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -154,16 +149,15 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
summary: Query multiple subscriptions.
description: |
Service Unavailable
The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.
The GET method queries the list of active subscriptions of the functional block that invokes the method.
It can be used e.g. for resynchronization after error situations. See clause 8.4.5.3.2.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
"200":
$ref: '#/components/responses/VnfIndicatorSubscriptions.Get'
$ref: '#/components/responses/VnfIndicatorSubscriptions.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -190,19 +184,8 @@ paths:
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
post:
summary: Create a new subscription to VNF indicator change notifications
description: |
This method creates a new subscription. As the result of successfully executing this method, a new "Individual
subscription" resource as defined in clause 8.4.6 shall have been created. This method shall not trigger any
notification. Creation of two "Individual subscription" resources with the same callbackURI and the same filter
can result in performance degradation and will provide duplicates of notifications to the VNFM, and might make
sense only in very rare use cases. Consequently, the API producer may either allow creating a new "Individual
subscription" resource if another "Individual subscription" resource with the same filter and callbackUri already
exists (in which case it shall return the "201 Created" response code), or may decide to not create a duplicate
"Individual subscription" resource (in which case it shall return a "303 See Other" response code referencing
the existing "Individual subscription" resource with the same filter and callbackUri). This method shall follow
the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2 for URI query parameters, request and response
data structures, and response codes
The POST method creates a new subscription. See clause 8.4.5.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
......@@ -210,7 +193,7 @@ paths:
$ref: '#/components/requestBodies/VnfIndicatorSubscriptionRequest'
responses:
"201":
$ref: '#/components/responses/VnfIndicatorSubscription.Post'
$ref: '#/components/responses/VnfIndicatorSubscription.Post.201'
"303":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303
"400":
......@@ -244,13 +227,11 @@ paths:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
summary: Read an individual subscription.
description: |
Service Unavailable
This resource represents an individual subscription. The client can use this resource to read and to terminate a subscription to notifications related to VNF indicator value changes.
The GET method reads an individual subscription. See clause 8.4.6.3.2.
responses:
"200":
$ref: '#/components/responses/VnfIndicatorSubscription.Get'
$ref: '#/components/responses/VnfIndicatorSubscription.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -277,18 +258,11 @@ paths:
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
delete:
summary: Delete a subscription
description: |
This method terminates an individual subscription. As the result
of successfully executing this method, the "Individual subscription"
resource shall not exist any longer. This means that no notifications for
that subscription shall be sent to the formerly-subscribed API consumer.
NOTE:\tDue to race conditions, some notifications might still be received
by the formerly-subscribed API consumer for a certain time period after
the deletion.
The DELETE method terminates an individual subscription. See clause 8.4.6.3.5.
responses:
"204":
$ref: '#/components/responses/VnfIndicatorSubscription.Delete'
$ref: '#/components/responses/VnfIndicatorSubscription.Delete.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -366,7 +340,7 @@ components:
required: true
responses:
Indicators.Get:
Indicators.Get.200:
description: |
200 OK
Shall be returned when information about zero or more VNF indicators was queried successfully.
......@@ -404,7 +378,7 @@ components:
items:
$ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator
VnfIndicators.Get:
VnfIndicators.Get.200:
description: |
200 OK
Shall be returned when information about zero or more VNF indicators was queried successfully.
......@@ -442,7 +416,7 @@ components:
items:
$ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator
VnfIndividualIndicator.Get:
VnfIndividualIndicator.Get.200:
description: |
200 OK
Shall be returned when the VNF indicator has been read successfully. The response body shall contain the
......@@ -465,7 +439,7 @@ components:
schema:
$ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator
VnfIndicatorSubscriptions.Get:
VnfIndicatorSubscriptions.Get.200:
description: |
200 OK
Shall be returned when the list of subscriptions was queried successfully.
......@@ -503,7 +477,7 @@ components:
items:
$ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription
VnfIndicatorSubscription.Post:
VnfIndicatorSubscription.Post.201:
description: |
201 CREATED
Shall be returned when the subscription has been created successfully. The response body shall contain a
......@@ -544,10 +518,11 @@ components:
items:
$ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription
VnfIndicatorSubscription.Get:
VnfIndicatorSubscription.Get.200:
description: |
200 OK
Shall be returned when information about an individual subscription has been read successfully. The response body shall contain the representation of the "Individual subscription" resource.
Shall be returned when information about an individual subscription has been read successfully.
The response body shall contain the representation of the "Individual subscription" resource.
headers:
Version:
description: The used API version.
......@@ -566,7 +541,7 @@ components:
schema:
$ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription
VnfIndicatorSubscription.Delete:
VnfIndicatorSubscription.Delete.204:
description: |
204 NO CONTENT
Shall be returned when the subscription has been deleted successfully. The response body shall be empty.
......
......@@ -5,11 +5,12 @@ info:
description: |
SOL002 - VNF Indicator Notification interface
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 approved by the ETSI NFV ISG.
In case of discrepancies the published ETSI Group Specification takes precedence.
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.
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
......@@ -18,27 +19,25 @@ info:
version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
description: ETSI GS NFV-SOL 002 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf
servers:
- url: http://127.0.0.1/callback/v1
- url: https://127.0.0.1/callback/v1
paths:
'/URI-is-provided-by-the-client-when-creating-the-subscription_VnfIndicatorValueChangeNotification':
'/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIndicatorValueChangeNotification':
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.
The GET method allows the API producer to test the notification endpoint that is provided by the
API consumer, e.g. during subscription. See clause 8.4.7.3.2.
responses:
"204":
$ref: '#/components/responses/VNFInNotification.Get'
$ref: '#/components/responses/VNFInNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -55,19 +54,16 @@ paths:
$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.
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter. See clause 8.4.7.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/VnfIndicatorValueChangeNotification'
responses:
"204":
$ref: '#/components/responses/VNFInNotification.Post'
$ref: '#/components/responses/VNFInNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -83,19 +79,17 @@ paths:
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
'/URI-is-provided-by-the-client-when-creating-the-subscription_SupportedIndicatorsChangeNotification':
'/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.
The GET method allows the API producer to test the notification endpoint that is provided by the
API consumer, e.g. during subscription. See clause 8.4.7.3.2.
responses:
"204":
$ref: '#/components/responses/VNFInNotification.Get'
$ref: '#/components/responses/VNFInNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -112,19 +106,16 @@ paths:
$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.
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter. See clause 8.4.7.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/SupportedIndicatorsChangeNotification'
responses:
"204":
$ref: '#/components/responses/VNFInNotification.Post'
$ref: '#/components/responses/VNFInNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -161,9 +152,9 @@ components:
required: true
responses:
VNFInNotification.Get:
VNFInNotification.Get.204:
description: |
201 NO CONTENT
204 NO CONTENT
Shall be returned to indicate the notification endpoint has been tested successfully. The response body
shall be empty.
headers:
......@@ -184,7 +175,7 @@ components:
type: string
content: {}
VNFInNotification.Post:
VNFInNotification.Post.204:
description: |
204 NO CONTENT
Shall be returned when the notification has been delivered successfully. The response body shall be empty.
......
......@@ -5,6 +5,8 @@ definitions:
VnfIndicatorValueChangeNotification:
description: >
This type represents a VNF indicator value change notification.
* NOTE: ETSI GS NFV-SOL 001 specifies the structure and
format of the VNFD based on TOSCA specifications.
type: object
required:
- id
......@@ -45,7 +47,8 @@ definitions:
type: string
value:
description: >
Provides the value of the VNF indicator. The value format is defined in the VNFD.
Provides the value of the VNF indicator. The value format is defined in the VNFD.
See note.
type: object
vnfInstanceId:
description: >
......@@ -71,8 +74,10 @@ definitions:
SupportedIndicatorsChangeNotification:
description: |
This type represents a notification to inform the receiver that the set of indicators supported by a VNF instance
has changed.
This type represents a notification to inform the receiver that the set of indicators
supported by a VNF instance has changed.
* NOTE: ETSI GS NFV-SOL 001 specifies the structure and
format of the VNFD based on TOSCA specifications.
type: object
required:
- id
......@@ -120,7 +125,7 @@ definitions:
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.
See note.
type: string
_links:
description: |
......
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
LcmCoord:
description: >
This type represents an LCM coordination result.
type: object
required:
- id
- coordinationResult
- vnfInstanceId
- vnfLcmOpOccId
- lcmOperationType
- coordinationActionName
- _links
properties:
id:
description: >
Identifier of this coordination result.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
coordinationResult:
description: >
The result of executing the coordination action which also implies
the action to be performed by the VNFM as the result of this coordination.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmCoordResultType"
vnfInstanceId:
description: >
Identifier of the VNF instance which this coordination request is related to.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
vnfLcmOpOccId:
description: >
The identifier of the VNF lifecycle management operation occurrence related to the coordination.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
lcmOperationType:
description: >
Indicates the type of the LCM operation with which coordination is requested.
Shall be the same as the value of the "operation" attribute in the LcmOpOcc
structure that is referenced by the "vnfLcmOpOccId".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationForCoordType"
coordinationActionName:
description: >
Indicates the actual LCM coordination action.
The coordination actions that a VNF supports are declared in the VNFD.
type: string
outputParams:
description: >
Additional parameters returned by the coordination action,
e.g. on the reason for the indicated coordinationResult.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
warnings:
description: >
Warning messages that were generated while the operation was executing.
type: string
error:
description: >
Error information related to the coordination.
This attribute shall be present if "coordinationResult" is "ABORT" and may be
present if "coordinationResult" is "CANCELLED".
If provided, the error information should be represented in the "error" attribute
of the related VnfLcmOpOcc data structure.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
- vnfLcmOpOcc
- vnfInstance
properties:
self:
description: >
URI of this resource
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
vnfLcmOpOcc:
description: >
Related lifecycle management operation occurrence.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
vnfInstance:
description: >
Related VNF instance.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
LcmCoordRequest:
type: object
required:
- vnfInstanceId
- vnfLcmOpOccId
- lcmOperationType
- coordinationActionName
- _links
properties:
vnfInstanceId:
description: >
Identifier of the VNF instance which this coordination request is related to.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
vnfLcmOpOccId:
description: >
The identifier of the VNF lifecycle management operation occurrence related to the coordination.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
lcmOperationType:
description: >
Indicates the type of the LCM operation with which coordination is requested.
Shall be the same as the value of the "operation" attribute in the LcmOpOcc
structure that is referenced by the "vnfLcmOpOccId".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationForCoordType"
coordinationActionName:
description: >
Indicates the LCM coordination action.
The coordination actions that a VNF supports are declared in the VNFD.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
inputParams:
description: >
Additional parameters passed as input to the coordination action.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
_links:
description: >
Links to resources related to this request.
type: object
required:
- vnfLcmOpOcc
- vnfInstance
properties:
vnfLcmOpOcc:
description: >
Related lifecycle management operation occurrence.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
vnfInstance:
description: >
Related VNF instance.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
inputParams:
type: object
required:
- vnfcInstanceIds
properties:
vnfcInstanceIds:
description: >
Identifier of the VNF instance which this coordination request is related to.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
......@@ -4,37 +4,40 @@ info:
title: SOL002 - VNF Lifecycle Management Notification interface
description: |
SOL002 - VNF Lifecycle 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 and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group
Specification takes precedence.
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.
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
description: ETSI GS NFV-SOL 002 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf
servers:
- url: http://127.0.0.1/callback/v1
- url: https://127.0.0.1/callback/v1
- url: http://127.0.0.1/callback/v2
- url: https://127.0.0.1/callback/v2
paths:
/URI-is-provided-by-the-client-when-creating-the-subscription_VnfLcmOperationOccurrenceNotification:
/URI_is_provided_by_the_client_when_creating_the_subscription-VnfLcmOperationOccurrenceNotification:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the API consumer,
e.g. during subscription.
e.g. during subscription. See clause 5.4.20.3.2.
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Get'
$ref: '#/components/responses/VNFLCMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -52,16 +55,15 @@ paths:
post:
description: |
Notify
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter.
previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/VnfLcmOperationOccurrenceNotification'
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Post'
$ref: '#/components/responses/VNFLCMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -77,17 +79,17 @@ paths:
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
/URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierCreationNotification:
/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierCreationNotification:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the API consumer,
e.g. during subscription.
e.g. during subscription. See clause 5.4.20.3.2.
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Get'
$ref: '#/components/responses/VNFLCMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -105,16 +107,15 @@ paths:
post:
description: |
Notify
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter.
previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/VnfIdentifierCreationNotification'
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Post'
$ref: '#/components/responses/VNFLCMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -130,17 +131,17 @@ paths:
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
/URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierDeletionNotification:
/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierDeletionNotification:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the API consumer,
e.g. during subscription.
e.g. during subscription. See clause 5.4.20.3.2.
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Get'
$ref: '#/components/responses/VNFLCMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -158,16 +159,15 @@ paths:
post:
description: |
Notify
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter.
previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/VnfIdentifierDeletionNotification'
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Post'
$ref: '#/components/responses/VNFLCMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -213,9 +213,9 @@ components:
required: true
responses:
VNFLCMNotification.Get:
VNFLCMNotification.Get.204:
description: |
201 NO CONTENT
204 NO CONTENT
Shall be returned to indicate the notification endpoint has been tested successfully. The response body
shall be empty.
headers:
......@@ -236,7 +236,7 @@ components:
type: string
content: {}
VNFLCMNotification.Post:
VNFLCMNotification.Post.204:
description: |
204 NO CONTENT
Shall be returned when the notification has been delivered successfully. The response body shall be empty.
......
......@@ -34,6 +34,18 @@ definitions:
been executed.
The new state shall be set in the "Individual VNF LCM operation occurrence"
resource before the notification about the state change is sent.
* NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set
to "FULL" and the operation has performed any resource modification. Shall be absent otherwise.
This attribute contains information about the cumulative changes to virtualised resources that
were performed so far by the VNF LCM operation occurrence and by any of the error handling
procedures for that operation occurrence.
NOTE 2: For a particular affected VL, there shall be as many "AffectedVirtualLink" entries as needed
for signalling the different types of changes, i.e. one per virtual link and change type.
For instance, in the case of signaling affected VL instances involving the addition of a particular
VL instance with links ports, one "AffectedVirtualLink" entry signals the addition of the VL by using
the "changeType" attribute of "AffectedVirtualLink" structure equal to "ADDED", and another
"AffectedVirtualLink" entry signals the addition of VNF link ports of the VL by using the
"changeType" equal to "LINK_PORT_ADDED".
type: object
required:
- id
......@@ -116,49 +128,28 @@ definitions:
affectedVnfcs:
description: >
Information about VNFC instances that were affected during the
lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" and
the operation has performed any resource modification. Shall be
absent otherwise. This attribute contains information about the
cumulative changes to virtualised resources that were performed so
far by the VNF LCM operation occurrence and by any of the error
handling procedures for that operation occurrence.
lifecycle operation. See note 1.
type: array
items:
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVnfc"
affectedVirtualLinks:
description: >
Information about VL instances that were affected during the
lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" and
the operation has performed any resource modification. Shall be
absent otherwise. This attribute contains information about the
cumulative changes to virtualised resources that were performed so
far by the VNF LCM operation occurrence and by any of the error
handling procedures for that operation occurrence.
lifecycle operation. See note 1 and note 2.
type: array
items:
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink"
affectedExtLinkPorts:
description: >
Information about external VNF link ports that were affected during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL"
and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains
information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM
operation occurrence and by any of the error handling procedures for that operation occurrence.
See note 1.
type: array
items:
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort"
affectedVirtualStorages:
description: >
Information about virtualised storage instances that were affected
during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" and
the operation has performed any resource modification. Shall be
absent otherwise. This attribute contains information about the
cumulative changes to virtualised resources that were performed so
far by the VNF LCM operation occurrence and by any of the error
handling procedures for that operation occurrence.
during the lifecycle operation. See note 1.
type: array
items:
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage"
......@@ -171,6 +162,18 @@ definitions:
including VNF configurable properties.
Shall be absent otherwise.
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications"
affectedVipCps:
description: >
Information about virtual IP CP instances that were affected during the execution
of the lifecycle management operation, if this notification represents the result
of a lifecycle management operation occurrence.
Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity"
attribute is set to "FULL" and the operation has made any changes to the VIP CP
instances of the VNF instance. Shall be absent otherwise. Only information about
VIP CP instances that have been added, deleted or modified shall be provided.
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVipCp"
changedExtConnectivity:
description: >
Information about changed external connectivity, if this
......
......@@ -4,10 +4,13 @@ info:
title: SOL002 - VNF Performance Management Notification interface
description: |
SOL002 - VNF Performance 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 and has not been approved by the
ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence.
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.
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
......@@ -16,25 +19,25 @@ info:
version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
description: ETSI GS NFV-SOL 002 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf
servers:
- url: http://127.0.0.1/callback/v1
- url: https://127.0.0.1/callback/v1
- url: http://127.0.0.1/callback/v2
- url: https://127.0.0.1/callback/v2
paths:
'/URI-is-provided-by-the-client-when-creating-the-subscription_PerformanceInformationAvailableNotification':
'/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification':
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the client,
e.g. during subscription.
e.g. during subscription. See clause 6.4.9.3.2.
responses:
"204":
$ref: '#/components/responses/VNFPMNotification.Get'
$ref: '#/components/responses/VNFPMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -52,16 +55,15 @@ paths:
post:
description: |
Notify
The POST method delivers a notification regarding a performance management event from API producer to an API
consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter.
consumer. See clause 6.4.9.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/PerformanceInformationAvailableNotification'
responses:
"204":
$ref: '#/components/responses/VNFPMNotification.Post'
$ref: '#/components/responses/VNFPMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -77,17 +79,17 @@ paths:
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
/URI-is-provided-by-the-client-when-creating-the-subscription_ThresholdCrossedNotification:
/URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification:
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the client,
e.g. during subscription.
e.g. during subscription. See clause 6.4.9.3.2.
responses:
"204":
$ref: '#/components/responses/VNFPMNotification.Get'
$ref: '#/components/responses/VNFPMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -105,17 +107,15 @@ paths:
post:
description: |
Notify
The POST method delivers a notification regarding a performance management event from API producer to an API
consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching
filter.
consumer. See clause 6.4.9.3.1.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/ThresholdCrossedNotification'
responses:
"204":
$ref: '#/components/responses/VNFPMNotification.Post'
$ref: '#/components/responses/VNFPMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
......@@ -152,9 +152,9 @@ components:
required: true
responses:
VNFPMNotification.Get:
VNFPMNotification.Get.204:
description: |
201 NO CONTENT
204 NO CONTENT
Shall be returned to indicate the notification endpoint has been tested successfully. The response body
shall be empty.
headers:
......@@ -175,7 +175,7 @@ components:
type: string
content: {}
VNFPMNotification.Post:
VNFPMNotification.Post.204:
description: |
204 NO CONTENT
Shall be returned when the notification has been delivered successfully. The response body shall be empty.
......
......@@ -5,11 +5,13 @@ info:
title: SOL003 - API version interface
description: >
SOL003 - API version Interface
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
approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
Group Specification takes precedence.
version of the ETSI Group Specification it refers to. In case of
discrepancies the published ETSI Group Specification takes precedence.
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
......@@ -18,8 +20,8 @@ info:
version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
externalDocs:
description: ETSI GS NFV-SOL 003 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf
description: ETSI GS NFV-SOL 003 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf
paths:
/vrqan/api_versions:
......