Commit 87d16118 authored by Michele Carignani's avatar Michele Carignani

Merge branch '3.3.1-dev' into 'master'

SOL002/SOL003 OpenAPI representations for v3.3.1

See merge request !15
parents e3eec91b dad03f46
# 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](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_NFV-SOL002v020701p.pdf) and [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_nfv-sol003v020701p.pdf).
for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v3.3.1.
The APIs described in this repository are defined for the following reference points:
......
# Copyright ETSI 2017
# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt
FROM alpine:3.6
FROM alpine:3.10.0
RUN env
RUN apk update
......@@ -16,9 +16,9 @@ RUN gem install rdoc --pre || gem install rdoc --pre
RUN gem install asciidoctor-pdf-cjk
RUN wget https://forge.etsi.org/swagger2markup-cli-1.3.2.jar
RUN npm config set proxy $http_proxy
RUN npm install -g swagger-tools@0.10.3
RUN npm install -g json-refs@3.0.4
RUN npm install -g yamljs@0.3.0
RUN npm install -g swagger-cli
RUN npm install -g json-refs
RUN npm install -g yamljs
ADD validate-in-docker.sh /validate-in-docker.sh
RUN chmod +x /validate-in-docker.sh
......
......@@ -32,7 +32,7 @@ function validate_api () {
mv "${deliverable}-${api}-API.pdf" "../build/"
echo "--- Validating ${merged_file}"
swagger-tools validate "${merged_file}"
swagger-cli validate "${merged_file}"
vres=$?
echo "--- Validation done ($vres)."
......
swagger: "2.0"
openapi: 3.0.2
info:
version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
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.
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
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.
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
contact:
name: NFV-SOL WG
version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
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
paths:
###############################################################################
# API Versions #
###############################################################################
'/vnfconfig/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnffm/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfind/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnflcm/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfpm/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
\ No newline at end of file
/vnfconfig/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
/vnffm/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
/vnfind/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
/vnflcm/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
/vnfpm/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
\ No newline at end of file
......@@ -10,6 +10,11 @@ definitions:
* NOTE 2: The VnfcConfiguration data type can only be used to modify the configuration
of existing VNFC instances.
type: object
anyOf:
- required:
- vnfConfigurationData
- required:
- vnfcConfigurationData
properties:
vnfConfigurationData:
description: >
......@@ -100,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: >
......@@ -148,6 +154,16 @@ definitions:
* NOTE 1: Either "address" or "useDynamicAddress" shall be present.
* NOTE 2: At least one of "macAddress" and "ipAddress" shall be present.
type: object
oneOf:
- required:
- address
- required:
- useDynamicAddress
anyOf:
- required:
- macAddress
- required:
- ipAddress
properties:
address:
description: >
......
......@@ -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"
......@@ -124,9 +126,64 @@ definitions:
instance information is accessible as a resource.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
AlarmNotification:
description: >
This type represents an alarm notification about VNF faults.
This notification shall be triggered by the VNFM when:
* An alarm has been created.
* An alarm has been updated, e.g. if the severity of the alarm has
changed.
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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"AlarmNotification" for this notification type.
type: string
enum:
- AlarmNotification
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"
alarm:
description: >
Information about an alarm including AlarmId, affected VNF
identifier, and FaultDetails.
$ref: "#/definitions/Alarm"
_links:
description: >
Links to resources related to this notification.
type: object
required:
- subscription
properties:
subscription:
description: >
Link to the related subscription.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink"
PerceivedSeverityRequest:
description: >
This type represents the escalated value of the perceived severity for an alarm.
type: object
required:
- proposedPerceivedSeverity
properties:
......
This diff is collapsed.
......@@ -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
......@@ -102,6 +102,12 @@ definitions:
triggered by auto-heal).
Set to false otherwise.
type: boolean
verbosity:
description: >
This attribute signals the verbosity of the notification. If it is not present, it shall default to the value "FULL".
If the value is "SHORT", full change details can be obtained by performing a GET request on the "Individual LCM
operation occurrence" resource that is signalled by the "vnfLcmOpOcc" child attribute of the "_links" attribute.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOpOccNotificationVerbosityType"
vnfLcmOpOccId:
description: >
The identifier of the VNF lifecycle management operation occurrence
......@@ -119,7 +125,7 @@ definitions:
handling procedures for that operation occurrence.
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AffectedVnfc"
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVnfc"
affectedVirtualLinks:
description: >
Information about VL instances that were affected during the
......@@ -132,7 +138,17 @@ definitions:
handling procedures for that operation occurrence.
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink"
$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.
type: array
items:
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort"
affectedVirtualStorages:
description: >
Information about virtualised storage instances that were affected
......@@ -145,7 +161,7 @@ definitions:
handling procedures for that operation occurrence.
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage"
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage"
changedInfo:
description: >
Information about the changed VNF instance information, including
......@@ -154,7 +170,7 @@ definitions:
the operation has performed any changes to VNF instance information,
including VNF configurable properties.
Shall be absent otherwise.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications"
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications"
changedExtConnectivity:
description: >
Information about changed external connectivity, if this
......@@ -166,6 +182,13 @@ definitions:
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo"
modificationsTriggeredByVnfPkgChange:
description: >
Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package.
Shall be present if the "notificationStatus" is set to "RESULT", the "operation" attribute is equal to
"CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF
instance information, including VNF configurable properties. Shall be absent otherwise.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange"
error:
description: >
Details of the latest error, if one has occurred during executing
......@@ -176,4 +199,4 @@ definitions:
_links:
description: >
Links to resources related to this notification.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks"
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks"
\ No newline at end of file
swagger: "2.0"
openapi: 3.0.2
info:
version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: "SOL003 - API version interface"
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.
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
name: "ETSI Forge copyright notice"
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact:
name: "NFV-SOL WG"
version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
externalDocs:
description: ETSI GS NFV-SOL 003 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
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
paths:
###############################################################################
# API Versions #
###############################################################################
'/vrqan/api_versions':
/vrqan/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
/vnffm/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnffm/api_versions':
/vnfind/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfind/api_versions':
/vnflcm/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnflcm/api_versions':
/vnfpm/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfpm/api_versions':
/grant/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/grant/api_versions':
/vnfpkgm/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfpkgm/api_versions':
/vnfsnapshotpkgm/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
\ No newline at end of file
This diff is collapsed.
......@@ -134,7 +134,7 @@ definitions:
description: >
New operational state of the VNF package.
Only present when changeType is OP_STATE_CHANGE.
$ref: "../../VNFPackageManagement/definitions/VNFPackageManagement_def.yaml#/definitions/PackageOperationalStateType"
$ref: "../../VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml#/definitions/PackageOperationalStateType"
_links:
description: >
Links to resources related to this notification.
......@@ -161,7 +161,7 @@ definitions:
vnfPackage:
description: >
Link to the resource representing the VNF package to which the
notified change applies, i.e. the individual on-boarded VNF package
notified change applies, i.e. the "Individual on-boarded VNF package"
resource that represents the VNF package, identified by the "vnfPkgId"
identifier which is managed by the NFVO. This attribute shall be provided
by the NFVO but is deprecated and can be removed in future versions
......@@ -170,7 +170,7 @@ definitions:
vnfPackageByVnfdId:
description: >
Link to the resource representing the VNF package to which the notified
change applies, i.e. the individual VNF package resource that represents
change applies, i.e. the "Individual VNF package resource" that represents
the VNF package, identified by the "vnfdId" identifier which is assigned
by the VNF vendor.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment