From 37474f334799d369d6cf5cf8dcdc4754ef5ef931 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 1 Mar 2019 11:19:06 +0100 Subject: [PATCH 001/122] test --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b92d6629..bd807fe6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ build/ *.pyc + -- GitLab From 927875895def4e4d2af793893aefac7fa9ce0b9c Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 1 Mar 2019 13:05:44 +0100 Subject: [PATCH 002/122] vnfcConfigurationDataDeleteIds attribute added to VnfConfigModifications data type, SOL002 section 9.5.2.2 --- .../definitions/VnfConfiguration_def.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/SOL002/VNFConfiguration/definitions/VnfConfiguration_def.yaml b/src/SOL002/VNFConfiguration/definitions/VnfConfiguration_def.yaml index 3ae3601a..998c4b1e 100644 --- a/src/SOL002/VNFConfiguration/definitions/VnfConfiguration_def.yaml +++ b/src/SOL002/VNFConfiguration/definitions/VnfConfiguration_def.yaml @@ -58,7 +58,14 @@ definitions: the rules of JSON Merge PATCH (see IETF RFC 7396 ). type: array items: - $ref: '#/definitions/VnfcConfigurationData' + $ref: '#/definitions/VnfcConfigurationData' + vnfcConfigurationDataDeleteIds: + description: > + List of identifiers entries to be deleted from the 'vnfcConfigurationData" attribute array to be used + as "deleteIdList" as defined below this table. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" VnfConfigurationData: -- GitLab From 95653b849d8af5ae1e679b3d3e05b0af25a4b787 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 1 Mar 2019 15:02:27 +0100 Subject: [PATCH 003/122] operationParams not mandatory in VnfLcmOpOcc --- .../definitions/VNFLifecycleManagement_def.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index ae34e060..9bdb3825 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -1103,7 +1103,6 @@ definitions: - vnfInstanceId - operation - isAutomaticInvocation - - operationParams - isCancelPending properties: id: -- GitLab From 1bd6dc73cfa5d291de00d589e19cc46c3cabccec Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 1 Mar 2019 15:10:23 +0100 Subject: [PATCH 004/122] subscriptionId mandatory in VnfIdentifierCreationNotification --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 587e62dc..82847c3e 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -712,6 +712,7 @@ definitions: required: - id - notificationType + - subscriptionId - timeStamp - vnfInstanceId - _links -- GitLab From 399df296bdf99e02242655e7921142eb89b57a5d Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 1 Mar 2019 15:15:15 +0100 Subject: [PATCH 005/122] subscriptionId mandatory in VnfIdentifierDeletionNotification --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 82847c3e..6d86cd01 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -756,6 +756,7 @@ definitions: required: - id - notificationType + - subscriptionId - timeStamp - vnfInstanceId - _links -- GitLab From 9499fb8de9258b1be9c5abc542a892490cafc3ca Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 1 Mar 2019 15:19:36 +0100 Subject: [PATCH 006/122] virtualLinkDescId -> vnfVirtualLinkDescId in ExtManagedVirtualLinkData --- src/definitions/SOL002SOL003_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 743226cb..bbf8165c 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -176,7 +176,7 @@ definitions: identifier is assigned by the NFV-MANO entity that manages this VL instance. $ref: "#/definitions/Identifier" - virtualLinkDescId: + vnfVirtualLinkDescId: description: > The identifier of the VLD in the VNFD for this VL. $ref: "#/definitions/IdentifierInVnfd" -- GitLab From 9eb7cfb00253ef488f7e889388aea7ec4fe90ea5 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 1 Mar 2019 15:41:59 +0100 Subject: [PATCH 007/122] VnfcResourceInfo updated in VNFLifecycleManagement_def.yaml and SOL002SOL003VNFLifecycleManagement_def.yaml --- .../VNFLifecycleManagement_def.yaml | 22 +++++++++++++++---- ...OL002SOL003VNFLifecycleManagement_def.yaml | 4 ++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index 9bdb3825..5becae18 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -913,11 +913,25 @@ definitions: When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - addresses: + cpProtocolInfo: description: > - List of network addresses that have been configured (statically - or dynamically) on the CP. - $ref: "#/definitions/NetworkAddressInfo" + Network protocol information for this CP. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CpProtocolInfo" + vnfLinkPortId: + description: > + Identifier of the "vnfLinkPorts" structure in the + "vnfVirtualLinkResourceInfo" structure. Shall be present if + the CP is associated to a link port. + $ref: "../../../SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + metadata: + description: > + Metadata about this external CP. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" +# addresses: +# description: > +# List of network addresses that have been configured (statically +# or dynamically) on the CP. +# $ref: "#/definitions/NetworkAddressInfo" metadata: description: > Metadata about this resource. diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 6d86cd01..45f29e60 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -696,6 +696,10 @@ definitions: "vnfVirtualLinkResourceInfo" structure. Shall be present if the CP is associated to a link port. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + metadata: + description: > + Metadata about this external CP. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > Metadata about this resource. -- GitLab From b596b54f1ccec1690bc74653dfdadfa876549b3f Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 1 Mar 2019 15:57:49 +0100 Subject: [PATCH 008/122] cpInstanceType propertiy added to VnfLinkPortInfo --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 45f29e60..078c86e7 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1208,6 +1208,17 @@ definitions: The value refers to an "extCpInfo" item in the VnfInstance or a "vnfcCpInfo" item of a "vnfcResouceInfo" item in the VnfInstance. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpInstanceType: + description: > + Type of the CP instance that is identified by cpInstanceId. + Shall be present if "cpInstanceId" is present, and shall be absent otherwise. + Permitted values: + VNFC_CP: The link port is connected to a VNFC CP + EXT_CP: The link port is associated to an external CP. + type: string + enum: + - VNFC_CP + - EXT_CP VnfOperationalStateType: type: string -- GitLab From d3a7eed89490940acd42e466ca35cdc4417b5f05 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 1 Mar 2019 16:11:23 +0100 Subject: [PATCH 009/122] MonitoringParameter updated in VNFLifecycleManagement_def.yaml --- .../VNFLifecycleManagement_def.yaml | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index 5becae18..06dd9cc9 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -503,8 +503,7 @@ definitions: type: object required: - id - - value - - timeStamp + - performanceMetric properties: id: description: > @@ -515,20 +514,10 @@ definitions: Human readable name of the monitoring parameter, as defined in the VNFD. type: string - value: - description: > - Value of the monitoring parameter known to the VNFM (e.g. obtained - for autoscaling purposes). - The type of the "value" attribute (i.e. scalar, structure (Object in - JSON), or array (of scalars, arrays or structures/Objects)) is - assumed to be defined in an external measurement specification - outside the scope of the present document. - type: object - timeStamp: + performanceMetric: description: > - Represents the point in time when the measurement has been performed, - as known to the VNFM. - Should be formatted according to ETF RFC 3339. + Performance metric that is monitored. This attribute shall contain the + related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string LccnLinks: -- GitLab From 0ebadf4e3b0032fb2669609582229d3dba627928 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 1 Mar 2019 16:17:25 +0100 Subject: [PATCH 010/122] AffectedVirtualLink updated in VNFLifecycleManagement_def.yaml and SOL002SOL003VNFLifecycleManagement_def.yaml --- .../definitions/VNFLifecycleManagement_def.yaml | 2 +- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index 06dd9cc9..a66aa06c 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -19,7 +19,7 @@ definitions: Identifier of the virtual link instance, identifying the applicable "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. $ref: "#/definitions/IdentifierInVnf" - virtualLinkDescId: + vnfVirtualLinkDescId: description: > Identifier of the related VLD in the VNFD. $ref: "#/definitions/IdentifierInVnfd" diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 078c86e7..9e9f9e6c 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -18,7 +18,7 @@ definitions: Identifier of the virtual link instance, identifying the applicable "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - virtualLinkDescId: + vnfVirtualLinkDescId: description: > Identifier of the related VLD in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" -- GitLab From 8341ea71cdc9e0176af078b16cac90d1eaef437a Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Tue, 12 Mar 2019 17:57:29 +0100 Subject: [PATCH 011/122] VnfcResourceInfo removed from VNFLifecycleManagement_def.yaml, now ref to VnfcResourceInfo in SOL002SOL003VNFLifecycleManagement_def.yaml --- .../VNFLifecycleManagement_def.yaml | 89 +------------------ 1 file changed, 2 insertions(+), 87 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index a66aa06c..98e9f5bf 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -402,7 +402,7 @@ definitions: by the VNFCs of the VNF instance. type: array items: - $ref: "#/definitions/VnfcResourceInfo" + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs @@ -840,92 +840,7 @@ definitions: Metadata about this resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VnfcResourceInfo: - description: > - This type represents the information on virtualised compute and storage - resources used by a VNFC in a VNF instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - Identifier of this VnfcResourceInfo instance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - vduId: - description: > - Reference to the applicable VDU in the VNFD. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - computeResource: - description: > - Reference to the VirtualCompute resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - storageResourceIds: - description: > - References to the VirtualStorage resources. The value refers to a - VirtualStorageResourceInfo item in the VnfInstance. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - reservationId: - description: > - The reservation identifier applicable to the resource. It shall be - present when an applicable reservation exists. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfcCpInfo: - description: > - CPs of the VNFC instance. - Shall be present when that particular CP of the VNFC instance is - associated to an external CP of the VNF instance. - May be present otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - Identifier of this VNFC CP instance and the associated array - entry. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - cpdId: - description: > - Identifier of the VDU CPD, cpdId, in the VNFD. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfExtCpId: - description: > - When the VNFC CP is exposed as external CP of the VNF, the - identifier of this external VNF CP. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - cpProtocolInfo: - description: > - Network protocol information for this CP. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CpProtocolInfo" - vnfLinkPortId: - description: > - Identifier of the "vnfLinkPorts" structure in the - "vnfVirtualLinkResourceInfo" structure. Shall be present if - the CP is associated to a link port. - $ref: "../../../SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - metadata: - description: > - Metadata about this external CP. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" -# addresses: -# description: > -# List of network addresses that have been configured (statically -# or dynamically) on the CP. -# $ref: "#/definitions/NetworkAddressInfo" - metadata: - description: > - Metadata about this resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - + VnfExtCpData: # Ref TBD description: > -- GitLab From 2a197e1913391641842d1f34d9dd80e3e1a322b8 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 12 Mar 2019 19:25:30 +0100 Subject: [PATCH 012/122] updates SOL002: 1,7,8,9,17 --- .../VNFConfiguration/VNFConfiguration.yaml | 211 +++++++++++------- src/definitions/SOL002SOL003_def.yaml | 141 +++++++++--- src/responses/SOL002SOL003_resp.yaml | 121 ++++++++-- 3 files changed, 343 insertions(+), 130 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index b92967a6..cb3c9f30 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -1,95 +1,148 @@ swagger: "2.0" - -info: - version: "1.1.1" - title: SOL002 - VNF Configuration interface +info: + version: "1.1.0" + title: "SOL002 - VNF Configuration interface" description: > - VNF Configuration interface of ETSI NFV SOL002 - - + 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/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- + 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 license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf - + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnfconfig/v1 - -schemes: +schemes: - http - https - -consumes: +consumes: - application/json - -produces: +produces: - application/json - - paths: + ############################################################################### + # API Versions # + ############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + + ############################################################################### + # VNF Configuration # + ############################################################################### + '/configuration': + 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. + responses: + 200: + description: > + OK + Configuration information about a VNF instance was read successfully. + The response body shall contain a representation of the configuration resource. + schema: + $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfiguration' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + patch: + summary: Modify VNF/VNFC configuration. + description: This method sets or modifies a configuration resource. + parameters: + - name: configModifications + description: > + The parameter for the configuration modification, as defined in + clause 9.5.2.2. + required: true + in: body + schema: + $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications' + responses: + 200: + description: > + OK + + The request was accepted and completed. The response body shall contain the parameters + of the configuration modification that was applied to the configuration resource. + schema: + $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } - /configuration: - 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. - responses: - 200: - description: > - OK - - Configuration information about a VNF instance was read successfully. - The response body shall contain a representation of the configuration resource. - schema: - $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfiguration' - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - patch: - summary: Modify VNF/VNFC configuration. - description: This method sets or modifies a configuration resource. - parameters: - - name: configModifications - description: The parameter for the configuration modification. - required: true - in: body - schema: - $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications' - responses: - 200: - description: > - OK - - The request was accepted and completed. The response body shall contain the parameters - of the configuration modification that was applied to the configuration resource. - schema: - $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications' - 412: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/412' } - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index bbf8165c..2346fb0f 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -58,7 +58,7 @@ definitions: are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance. type: array - items: + items: $ref: "#/definitions/IdentifierInVnf" addedStorageResourceIds: description: > @@ -67,7 +67,7 @@ definitions: VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC. type: array - items: + items: $ref: "#/definitions/IdentifierInVnf" removedStorageResourceIds: description: > @@ -78,21 +78,40 @@ definitions: It shall be provided if at least one storage resource was removed from the VNFC. type: array - items: + items: $ref: "#/definitions/IdentifierInVnf" Link: description: > - This type represents a link to a resource. + This type represents a link to a resource. using an absolute URI. + It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: > - URI of the referenced resource. - type: string - format: url + URI of another resource referenced from a resource. + Shall be an absolute URI (i.e. a UTI that contains {apiRoot}. + $ref: "#/definitions/Uri" + + NotificationLink: + description: > + This type represents a link to a resource in a notification, + using an absolute or relative URI. It shall comply with the + provisions defined in table 4.4.1.3a-1. + type: object + required: + - href + properties: + href: + description: > + URI of a resource referenced from a notification. + Should be an absolute URI (i.e. a URI that contains + {apiRoot}), however, may be a relative URI (i.e. a URI + where the {apiRoot} part is omitted) if the {apiRoot} + information is not available. + $ref: "#/definitions/Uri" Version: description: > @@ -117,9 +136,9 @@ definitions: description: > This type represents network protocol data. type: object - required: + required: - layerProtocol - properties: + properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). @@ -128,7 +147,7 @@ definitions: backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string - enum: + enum: - IP_OVER_ETHERNET ipOverEthernet: description: > @@ -149,7 +168,7 @@ definitions: This type represents an externally provided link port to be used to connect an external connection point to an external VL. type: object - required: + required: - id - resourceHandle properties: @@ -207,8 +226,8 @@ definitions: - id - resourceId - extCps - properties: - id: + properties: + id: description: > The identifier of the external VL instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. @@ -219,7 +238,7 @@ definitions: attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. $ref: "#/definitions/Identifier" - resourceProviderId: + resourceProviderId: description: > Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present @@ -227,7 +246,7 @@ definitions: The identification scheme is outside the scope of the present document. $ref: "#/definitions/Identifier" - resourceId: + resourceId: description: > The identifier of the resource in the scope of the VIM or the resource provider. @@ -236,7 +255,7 @@ definitions: description: > External CPs of the VNF to be connected to this external VL. type: array - items: + items: $ref: "#/definitions/VnfExtCpData" extLinkPorts: description: > @@ -244,7 +263,7 @@ definitions: connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. type: array - items: + items: $ref: "#/definitions/ExtLinkPortData" Identifier: @@ -274,7 +293,7 @@ definitions: This type represents network address data for IP over Ethernet. type: object properties: - macAddress: + macAddress: description: > MAC address. If this attribute is not present, it shall be chosen by the VIM. @@ -289,9 +308,9 @@ definitions: type: array items: type: object - required: + required: - type - properties: + properties: type: description: > The type of the IP addresses. @@ -307,7 +326,7 @@ definitions: Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present. type: array - items: + items: $ref: "#/definitions/IpAddress" numDynamicAddresses: description: > @@ -326,7 +345,7 @@ definitions: required: - minAddress - maxAddress - properties: + properties: minAddress: description: > Lowest IP address belonging to the range. @@ -374,7 +393,7 @@ definitions: - HEAL - OPERATE - CHANGE_EXT_CONN - - MODIFY_INFO + - MODIFY_INFO ProblemDetails: #SOL003 location: 4.3.5.3 @@ -475,9 +494,9 @@ definitions: SubscriptionAuthentication: type: object - required: + required: - authType - properties: + properties: authType: description: > Defines the types of Authentication / Authorization which the API @@ -493,7 +512,7 @@ definitions: server is authenticated, but also the client is authenticated during the TLS tunnel setup. type: array - items: + items: type: string enum: - BASIC @@ -696,9 +715,9 @@ definitions: This type represents configuration information for external CPs created from a CPD. type: object - required: + required: - cpdId - properties: + properties: cpdId: description: > The identifier of the CPD in the VNFD. @@ -751,7 +770,7 @@ definitions: If present, match VNF instances that belong to VNF products with certain product names, from one particular provider. type: array - items: + items: type: object required: - vnfProductName @@ -782,7 +801,7 @@ definitions: software version and a certain product name, from one particular provider. type: array - items: + items: $ref: "#/definitions/Version" vnfInstanceIds: description: > @@ -793,7 +812,7 @@ definitions: They should not be used both in the same filter instance, but one alternative should be chosen. type: array - items: + items: $ref: "#/definitions/Identifier" vnfInstanceNames: description: > @@ -804,5 +823,61 @@ definitions: They should not be used both in the same filter instance, but one alternative should be chosen. type: array - items: - type: string + items: + type: string + + ApiVersionInformation: + description: > + This type represents API version information. It shall comply with the + provisions defined in table 4.4.1.6-1. + type: object + required: + - uriPrefix + - apiVersions + properties: + uriPrefix: + description: > + Specifies the URI prefix for the API, in the following + form {apiRoot}/{apiName}/{apiMajorVersion}/ + type: string + apiVersions: + description: > + Version(s) supported for the API signaled by the + uriPrefix attribute. + type: array + items: + type: object + required: + - version + properties: + version: + description: > + Identifies a supported version. The value of the + version attribute shall be a version identifier as + specified in clause 4.6.1. + type: string + isDeprecated: + description: > + If such information is available, this attribute + indicates whether use of the version signaled by the + version attribute is deprecated (true) or not (false). + A deprecated version is still supported by the API producer + but is recommended not to be used any longer. + When a version is no longer supported, it does not appear in + the response body. + type: boolean + retirementDate: + description: > + The date and time after which the API version will no + longer be supported. + This attribute may be included if the value of the + isDeprecated attribute is set to true and shall be + absent otherwise. + $ref: "#/definitions/DateTime" + + + + + + + diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index bbe7ec75..350b9a9b 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -61,22 +61,28 @@ responses: Bad Request If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. + request URI contains incorrect query parameters or a payload body contains + a syntactically incorrect payload bodydata structure), the API producer + shall respond with this response code. The "ProblemDetails" structure + shall be provided, and should include in the "detail" attribute more + information about the source of the problem. + If the response to a GET request which queries a container resource + would be so big that the performance of the API producer is adversely + affected, and the API producer does not support paging for the + affected resource, it shall respond with this response code. + The "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of the problem. + If there is an application error related to the client's input that cannot + be easily mapped to any other HTTP response code ("catch all error"), + the API producer shall respond with this response code. The + "ProblemDetails" structure shall be provided, and shall include + in the "detail" attribute more information about the source of + the problem. + If the request contains a malformed access token, the API Producer + should respond with this response. The details of the error shall be + returned in the WWW-Authenticate HTTP header, as defined in IETF + RFC 6750 and IETF RFC 7235. The ProblemDetails structure + may be provided. headers: Content-Type: description: The MIME type of the body of the response. @@ -243,6 +249,12 @@ responses: In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. + This response code is not appropriate in case the resource addressed by + the URI is a container resource which is designed to contain child + resources, but does not contain any child resource at the time the request + is received. For a GET request to an existing empty container resource, + a typical response contains a 200 OK response code and a payload body + with an empty array headers: Content-Type: description: The MIME type of the body of the response. @@ -364,7 +376,42 @@ responses: maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 413: + description: > + Payload Too Large + + If the payload body of a request is larger than the amount of data + the API producer is willing or able to process, it shall respond with + this response code, following the provisions in IETF RFC 7231 for + the use of the "Retry-After" HTTP header and for closing the connection. + The "ProblemDetails" structure may be omitted + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 414: + description: > + URI Too Long + + If the request URI of a request is longer than the API producer is + willing or able to process, it shall respond with this response code. + This condition can e.g. be caused by passing long queries in the request + URI of a GET request. The "ProblemDetails" structure may be omitted + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 416: description: > Requested Range Not Satisfiable @@ -390,7 +437,7 @@ responses: "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. - NOTE 2: This error response code is only applicable for methods + NOTE: This error response code is only applicable for methods that have a request body. headers: Content-Type: @@ -400,6 +447,29 @@ responses: minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 429: + description: > + Too many requests + + If the API consumer has sent too many requests in a defined period of + time and the API producer is able to detect that condition + ("rate limiting"), the API producer shall respond with this response + code, following the provisions in IETF RFC 6585 [8] for the use of + the "Retry-After" HTTP header. The "ProblemDetails" structure shall be + provided, and shall include in the "detail" attribute more information + about the source of the problem. + The period of time and allowed number of requests are configured + within the API producer by means outside the scope of SOL002. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 500: description: > Internal Server Error @@ -435,3 +505,18 @@ responses: minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 504: + description: > + Gateway Timeout + + If the API producer encounters a timeout while waiting for a response + from an upstream server (i.e. a server that the API producer communicates + with when fulfilling a request), it should respond with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file -- GitLab From 7b6378f4db19d2002b2634d93585521e9f172b63 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 10:21:10 +0100 Subject: [PATCH 013/122] MonitoringParameter updated in SOL002SOL003VNFLifecycleManagement_def.yaml, MonitoringParameter removed from VNFLifecycleManagement_def.yaml and refs updated --- .../VNFLifecycleManagement_def.yaml | 23 +------------------ ...OL002SOL003VNFLifecycleManagement_def.yaml | 18 ++++----------- 2 files changed, 5 insertions(+), 36 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index 98e9f5bf..920af781 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -387,7 +387,7 @@ definitions: Active monitoring parameters. type: array items: - $ref: "#/definitions/MonitoringParameter" + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/MonitoringParameter" localizationLanguage: description: > Information about localization language of the VNF (includes e.g. @@ -499,27 +499,6 @@ definitions: instance resource (i.e. VNF instance is in INSTANTIATED state). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - MonitoringParameter: - type: object - required: - - id - - performanceMetric - properties: - id: - description: > - Identifier of the monitoring parameter defined in the VNFD. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - name: - description: > - Human readable name of the monitoring parameter, as defined in the - VNFD. - type: string - performanceMetric: - description: > - Performance metric that is monitored. This attribute shall contain the - related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. - type: string - LccnLinks: description: > This type represents the links to resources that a notification can diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 9e9f9e6c..e88c23ba 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -465,8 +465,7 @@ definitions: type: object required: - id - - value - - timeStamp + - performanceMetric properties: id: description: > @@ -477,19 +476,10 @@ definitions: Human readable name of the monitoring parameter, as defined in the VNFD. type: string - value: - description: > - Value of the monitoring parameter known to the VNFM (e.g. obtained - for autoscaling purposes). - The type of the "value" attribute (i.e. scalar, structure (Object in - JSON), or array (of scalars, arrays or structures/Objects)) is - assumed to be defined in an external measurement specification. - type: object - timeStamp: + performanceMetric: description: > - Represents the point in time when the measurement has been performed, - as known to the VNFM. - Should be formatted according to ETF RFC 3339. + Performance metric that is monitored. This attribute shall contain the + related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string ScaleInfo: -- GitLab From e2f4c1c612345224dadf0b2e2830280ea246774a Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 10:43:33 +0100 Subject: [PATCH 014/122] AffectedVirtualLink removed from VNFLifecycleManagement_def.yaml --- .../VNFLifecycleManagement_def.yaml | 47 ------------------- 1 file changed, 47 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index 920af781..1a25ac26 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -2,53 +2,6 @@ # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: - AffectedVirtualLink: - # Ref TBD - description: > - This type provides information about added, deleted, modified and - temporary VLs. - type: object - required: - - id - - virtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - Identifier of the virtual link instance, identifying the applicable - "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. - $ref: "#/definitions/IdentifierInVnf" - vnfVirtualLinkDescId: - description: > - Identifier of the related VLD in the VNFD. - $ref: "#/definitions/IdentifierInVnfd" - changeType: - description: > - Signals the type of change. Permitted values: - * ADDED - * REMOVED - * MODIFIED - * TEMPORARY - * LINK_PORT_ADDED - * LINK_PORT_REMOVED - For a temporary resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - description: > - Reference to the VirtualNetwork resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - AffectedVirtualStorage: # Ref TBD description: > -- GitLab From a10fe29f823cba14c685b329cef0e2f74a89763b Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 11:35:44 +0100 Subject: [PATCH 015/122] SOL002_32: VnfInfoModificationsRequest and VnfcInfoModifications added to SOL002SOL003VNFLifecycleManagement_def.yaml, ref updated in VNFLifecycleManagement.yaml --- .../VNFLifecycleManagement.yaml | 2 +- ...OL002SOL003VNFLifecycleManagement_def.yaml | 74 ++++++++++++++++++- 2 files changed, 74 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index a840bbb4..ba4d9180 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -261,7 +261,7 @@ paths: required: true in: body schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationsRequest" responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index e88c23ba..6828f80e 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -784,7 +784,61 @@ definitions: description: > Links to resources related to this notification. $ref: "#/definitions/LccnLinks" - + + VnfInfoModificationsRequest: + description: > + This type represents attribute modifications for an "Individual VNF instance" resource, + i.e. modifications to a resource representation based on the "VnfInstance" data type. + The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2 + are included in the "VnfInfoModificationRequest" data type. + The "VnfInfoModificationRequest" data type shall comply with the provisions defined in table 5.5.2.12-1. + type: object + properties: + vnfInstanceName: + description: > + New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute. + type: string + vnfInstanceDescription: + description: > + New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute. + type: string + vnfPkgId: + description: > + New value of the "vnfPkgId" attribute in "VnfInstance". The value "null" is not permitted. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + vnfConfigurableProperties: + description: > + Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance". + If present, these modifications shall be applied according to the rules of + JSON Merge PATCH (see IETF RFC 7396 [15]). + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + Modifications of the "metadattametadata" attribute in "VnfInstance". + If present, these modifications shall be applied according to the rules of + JSON Merge PATCH (see IETF RFC 7396 [15]). + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + Modifications of the "extensions" attribute in "VnfInstance". + If present, these modifications shall be applied according to the rules of + JSON Merge PATCH (see IETF RFC 7396 [15]). + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfcInfoModifications: + description: > + Modifications of certain entries in the "vnfcInfo" attribute array in the + "instantiatedVnfInfo" attribute of "VnfInstance"." to be used as "newList" as defined below this table. + type: array + items: + $ref: "#/definitions/VnfcInfoModifications" + vnfcInfoModificationsDeleteIds: + description: > + List of identifiers entries to be deleted from the 'vnfcInfoModifications" attribute array + to be used as "deleteIdList" as defined below this table. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + VnfInfoModifications: description: > This type represents attribute modifications that were performed on an @@ -877,6 +931,24 @@ definitions: attribute from the VNFD in the VNF Package identified by the "vnfPkgId” attribute. $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version" + + VnfcInfoModifications: + description: > + This type represents modifications of an entry in an array of "VnfcInfo" objects. + It shall comply with the provisions defined in table 5.5.3.24-1. + type: object + required: + - id + - vnfcConfigurableProperties + properties: + id: + description: > + Identifier of the VNFC instance of which the information is to be modified. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfcConfigurableProperties: + description: > + Changes of the configurable properties of the VNFC instance. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfInstance: description: > -- GitLab From ff96d883989f95585132f031820d762ab30bf208 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 11:39:23 +0100 Subject: [PATCH 016/122] VnfInfoModificationsRequest renamed as VnfInfoModificationRequest --- src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml | 2 +- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index ba4d9180..e93075f1 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -261,7 +261,7 @@ paths: required: true in: body schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationsRequest" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest" responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 6828f80e..e316208c 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -785,7 +785,7 @@ definitions: Links to resources related to this notification. $ref: "#/definitions/LccnLinks" - VnfInfoModificationsRequest: + VnfInfoModificationRequest: description: > This type represents attribute modifications for an "Individual VNF instance" resource, i.e. modifications to a resource representation based on the "VnfInstance" data type. -- GitLab From d6e881770419bf3cf57edeb52b4f532734e6995f Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 12:46:08 +0100 Subject: [PATCH 017/122] SOL002_42: VnfExtCpInfo added to SOL002SOL003VNFLifecycleManagement_def.yaml --- ...OL002SOL003VNFLifecycleManagement_def.yaml | 182 +++++++++++------- 1 file changed, 114 insertions(+), 68 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index e316208c..63cfbdc4 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -612,6 +612,70 @@ definitions: description: > Metadata about this resource. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfExtCpInfo: + description: > + This type represents information about an external CP of a VNF. + It shall comply with the provisions defined in table 5.5.3.25 1. + type: object + required: + - id + - cpdId + - cpProtocolInfo + properties: + id: + description: > + Identifier of the external CP instance and the related information instance. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpdId: + description: > + Identifier of the external CPD, VnfExtCpd, in the VNFD. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + cpProtocolInfo: + description: > + Network protocol information for this CP. + type: array + items: + $ref: "#/definitions/CpProtocolInfo" + extLinkPortId: + description: > + Identifier of the "extLinkPortInfo" structure inside the "extVirtualLinkInfo" structure. + Shall be present if the CP is associated to a link port. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + metadata: + description: > + Metadata about this external CP. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + associatedVnfcCpId: + description: > + Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure that represents + the VNFC CP which is exposed by this external CP instance. + Shall be present in case this CP instance maps to a VNFC CP. See note. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + associatedVnfVirtualLinkId: + description: > + Identifier of the "VnfVirtualLinkResourceInfo" structure that represents the internal VL + which is exposed by this external CP instance. + Shall be present in case this CP instance maps to an internal VL. See note. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + + VnfcInfoModifications: + description: > + This type represents modifications of an entry in an array of "VnfcInfo" objects. + It shall comply with the provisions defined in table 5.5.3.24-1. + type: object + required: + - id + - vnfcConfigurableProperties + properties: + id: + description: > + Identifier of the VNFC instance of which the information is to be modified. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfcConfigurableProperties: + description: > + Changes of the configurable properties of the VNFC instance. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfcResourceInfo: description: > @@ -784,61 +848,7 @@ definitions: description: > Links to resources related to this notification. $ref: "#/definitions/LccnLinks" - - VnfInfoModificationRequest: - description: > - This type represents attribute modifications for an "Individual VNF instance" resource, - i.e. modifications to a resource representation based on the "VnfInstance" data type. - The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2 - are included in the "VnfInfoModificationRequest" data type. - The "VnfInfoModificationRequest" data type shall comply with the provisions defined in table 5.5.2.12-1. - type: object - properties: - vnfInstanceName: - description: > - New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute. - type: string - vnfInstanceDescription: - description: > - New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute. - type: string - vnfPkgId: - description: > - New value of the "vnfPkgId" attribute in "VnfInstance". The value "null" is not permitted. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - vnfConfigurableProperties: - description: > - Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance". - If present, these modifications shall be applied according to the rules of - JSON Merge PATCH (see IETF RFC 7396 [15]). - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - metadata: - description: > - Modifications of the "metadattametadata" attribute in "VnfInstance". - If present, these modifications shall be applied according to the rules of - JSON Merge PATCH (see IETF RFC 7396 [15]). - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - extensions: - description: > - Modifications of the "extensions" attribute in "VnfInstance". - If present, these modifications shall be applied according to the rules of - JSON Merge PATCH (see IETF RFC 7396 [15]). - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - vnfcInfoModifications: - description: > - Modifications of certain entries in the "vnfcInfo" attribute array in the - "instantiatedVnfInfo" attribute of "VnfInstance"." to be used as "newList" as defined below this table. - type: array - items: - $ref: "#/definitions/VnfcInfoModifications" - vnfcInfoModificationsDeleteIds: - description: > - List of identifiers entries to be deleted from the 'vnfcInfoModifications" attribute array - to be used as "deleteIdList" as defined below this table. - type: array - items: - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - + VnfInfoModifications: description: > This type represents attribute modifications that were performed on an @@ -889,7 +899,7 @@ definitions: vnfdId: description: > If present, this attribute signals modifications of the "vnfdId" - attribute in "VnfInstance". + attribute in "VnfInstance". If present, this attribute (which depends on the value of the "vnfPkgId" attribute) was modified implicitly following a request to modify the "vnfPkgId" attribute, by copying the value of this @@ -919,7 +929,7 @@ definitions: vnfSoftwareVersion: description: > If present, this attribute signals modifications of the - "vnfSoftwareVersion" attribute in "VnfInstance". + "vnfSoftwareVersion" attribute in "VnfInstance". $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version" vnfdVersion: description: > @@ -932,23 +942,59 @@ definitions: "vnfPkgId” attribute. $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version" - VnfcInfoModifications: + VnfInfoModificationRequest: description: > - This type represents modifications of an entry in an array of "VnfcInfo" objects. - It shall comply with the provisions defined in table 5.5.3.24-1. + This type represents attribute modifications for an "Individual VNF instance" resource, + i.e. modifications to a resource representation based on the "VnfInstance" data type. + The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2 + are included in the "VnfInfoModificationRequest" data type. + The "VnfInfoModificationRequest" data type shall comply with the provisions defined in table 5.5.2.12-1. type: object - required: - - id - - vnfcConfigurableProperties properties: - id: + vnfInstanceName: description: > - Identifier of the VNFC instance of which the information is to be modified. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - vnfcConfigurableProperties: + New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute. + type: string + vnfInstanceDescription: description: > - Changes of the configurable properties of the VNFC instance. + New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute. + type: string + vnfPkgId: + description: > + New value of the "vnfPkgId" attribute in "VnfInstance". The value "null" is not permitted. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + vnfConfigurableProperties: + description: > + Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance". + If present, these modifications shall be applied according to the rules of + JSON Merge PATCH (see IETF RFC 7396 [15]). + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + Modifications of the "metadattametadata" attribute in "VnfInstance". + If present, these modifications shall be applied according to the rules of + JSON Merge PATCH (see IETF RFC 7396 [15]). + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + Modifications of the "extensions" attribute in "VnfInstance". + If present, these modifications shall be applied according to the rules of + JSON Merge PATCH (see IETF RFC 7396 [15]). $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfcInfoModifications: + description: > + Modifications of certain entries in the "vnfcInfo" attribute array in the + "instantiatedVnfInfo" attribute of "VnfInstance"." to be used as "newList" as defined below this table. + type: array + items: + $ref: "#/definitions/VnfcInfoModifications" + vnfcInfoModificationsDeleteIds: + description: > + List of identifiers entries to be deleted from the 'vnfcInfoModifications" attribute array + to be used as "deleteIdList" as defined below this table. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" VnfInstance: description: > -- GitLab From 2c22251eb38b67fc33969ae8ffc236fcbc486a92 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 16:03:25 +0100 Subject: [PATCH 018/122] SOL002_49: ThresholdCrossedNotification updated with subObjectInstanceId (not required property) --- ...L002SOL003VNFPerformanceManagement_def.yaml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index f63fecd7..f052ddf0 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -486,17 +486,25 @@ definitions: description: > Identifier that identifies a VNF instance. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + subObjectInstanceId: + description: > + Identifier of the sub-object of the measured object (i.e. a VNFC instance) + to which the measurement applies. + Shall be present if this is required in an external measurement specification. + The sub-object allows to structure the measured object, but is not to be confused + with sub-counters which allow to structure the measurement. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" performanceMetric: description: > Performance metric associated with the threshold. + This attribute shall contain the related "Measurement Name" + value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string performanceValue: description: > Value of the metric that resulted in threshold crossing. - The type of the "performanceValue" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures / Objects)) is assumed to be defined in the external - measurement specification (see ETSI GS NFV-IFA 027). + The type of this attribute shall correspond to the related + "Measurement Unit" as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: object _links: description: > @@ -520,4 +528,4 @@ definitions: description: > Link to the resource that represents the threshold that was crossed. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/Link" \ No newline at end of file -- GitLab From 3b3efe8407020310117cf1adf267275d9d8d2ace Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 16:48:12 +0100 Subject: [PATCH 019/122] SOL002_50: PerformanceReport updated and moved in SOL002SOL003VNFPerformanceManagement_def.yaml, refs updated --- .../VNFPerformanceManagement.yaml | 2 +- .../VNFPerformanceManagement_def.yaml | 65 +---------------- .../VNFPerformanceManagement.yaml | 2 +- .../VNFPerformanceManagement_def.yaml | 60 --------------- ...002SOL003VNFPerformanceManagement_def.yaml | 73 +++++++++++++++++++ 5 files changed, 76 insertions(+), 126 deletions(-) diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index c8178563..d2903ceb 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -334,7 +334,7 @@ paths: maximum: 1 minimum: 0 schema: - $ref: "definitions/VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL002/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml b/src/SOL002/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml index b95437d6..41b2bc66 100644 --- a/src/SOL002/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml +++ b/src/SOL002/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml @@ -1,67 +1,4 @@ # Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt -definitions: - PerformanceReport: - description: > - This type defines the format of a performance report provided by the - VNFM to the NFVO as a result of collecting performance information as - part of a PM job. - type: object - properties: - entries: - description: > - List of performance information entries. Each performance report - entry is for a given metric of a given object (i.e. VNF instance), - but can include multiple collected values. - type: array - items: - type: object - required: - - objectType - - objectInstanceId - - performanceMetric - - performanceValue - properties: - objectType: - description: > - Defines the object type for which performance information is - reported (i.e. VNF type). The string value shall be set to the - vnfdId of the VNF instance to which the performance - information relates. - type: string - objectInstanceId: - description: > - The object instance for which the performance metric is - reported. - The object instances for this information element will be VNF - instances. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - performanceMetric: - description: > - Name of the metric collected. - type: string - performanceValue: - description: > - List of performance values with associated timestamp. - type: array - items: - type: object - required: - - timeStamp - - performanceValue - properties: - timeStamp: - description: > - Time stamp indicating when the data was collected. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - performanceValue: - description: > - Value of the metric collected. - The type of the "performanceValue" attribute - (i.e. scalar, structure (Object in JSON), or array - (of scalars, arrays or structures / Objects)) is assumed - to be defined in an external measurement specification - outside the scope of the present document. - type: object - +definitions: \ No newline at end of file diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index cecaedae..912d1c84 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -363,7 +363,7 @@ paths: maximum: 1 minimum: 0 schema: - $ref: "definitions/VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml b/src/SOL003/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml index 91daa216..000e8669 100644 --- a/src/SOL003/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml +++ b/src/SOL003/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml @@ -2,64 +2,4 @@ # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: - PerformanceReport: - description: > - This type defines the format of a performance report provided by the - VNFM to the NFVO as a result of collecting performance information as - part of a PM job. - type: object - properties: - entries: - description: > - List of performance information entries. Each performance report - entry is for a given metric of a given object (i.e. VNF instance), - but can include multiple collected values. - type: array - items: - type: object - required: - - objectType - - objectInstanceId - - performanceMetric - - performanceValue - properties: - objectType: - description: > - Defines the object type for which performance information is - reported (i.e. VNF type). The string value shall be set to the - vnfdId of the VNF instance to which the performance - information relates. - type: string - objectInstanceId: - description: > - The object instance (i.e. VNF instance) for which the - performance metric is reported. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - performanceMetric: - description: > - Name of the metric collected. - type: string - performanceValues: - description: > - List of performance values with associated timestamp. - type: array - items: - type: object - required: - - timeStamp - - performanceValue - properties: - timeStamp: - description: > - Time stamp indicating when the data was collected. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - value: - description: > - Value of the metric collected. - The type of the "value" attribute (i.e. scalar, - structure (Object in JSON), or array (of scalars, arrays - or structures / Objects)) is assumed to be defined in - the external measurement specification - (see ETSI GS NFV-IFA 027). - type: object diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index f052ddf0..61fc7b1e 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -117,6 +117,79 @@ definitions: type "PerformanceReport" can be obtained. This link should point to an "Individual performance report" resource. $ref: "SOL002SOL003_def.yaml#/definitions/Link" + + PerformanceReport: + description: > + This type defines the format of a performance report provided by the VNFM to the EM as a result + of collecting performance information as part of a PM job. + The type shall comply with the provisions defined in table 6.5.2.10-1. + type: object + properties: + entries: + description: > + List of performance information entries. Each performance report + entry is for a given metric of a given object (i.e. VNF instance), + but can include multiple collected values. + type: array + items: + type: object + required: + - objectType + - objectInstanceId + - performanceMetric + - performanceValue + properties: + objectType: + description: > + Defines the object type for which performance information is + reported (i.e. VNF type). The string value shall be set to the + vnfdId of the VNF instance to which the performance + information relates. + type: string + objectInstanceId: + description: > + The object instance (i.e. VNF instance) for which the + performance metric is reported. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + subObjectInstanceId: + description: > + Identifier of the sub-object of the measured object (i.e. a VNFC instance) + for which the performance metric is reported. + Shall be present if this is required in the measurement specification. + The sub-object allows to structure the measured object, + but is not to be confused with sub-counters which allow to structure the measurement. + EXAMPLE: + Measured object: VnfInstanceXYZ + Sub-object: VnfcInstance1 + Measurement: vCPU_utilization + Sub-counters: vCPU utilization of each of the vCPUs of VnfcInstance1 + (vCPU_utilization.vCPU1, vCPU_utilization.vCPU2, etc.). + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + performanceMetric: + description: > + Name of the metric collected. This attribute shall contain the related "Measurement Name" + value as defined in clause 7.2 of ETSI GS NFV-IFA 027. + type: string + performanceValues: + description: > + List of performance values with associated timestamp. + type: array + items: + type: object + required: + - timeStamp + - performanceValue + properties: + timeStamp: + description: > + Time stamp indicating when the data was collected. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + value: + description: > + Value of the metric collected. + The type of this attribute shall correspond to the related "Measurement Unit" + as defined in clause 7.2. of ETSI GS NFV-IFA 027. + type: object PmJob: description: > -- GitLab From d34dd1b66c83e7705b3f103346d908ec3281d404 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 17:41:38 +0100 Subject: [PATCH 020/122] SOL002_51: PmJobCriteria updated in SOL002SOL003VNFPerformanceManagement_def.yaml --- .../SOL002SOL003VNFPerformanceManagement_def.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index 61fc7b1e..4c4afa66 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -272,10 +272,9 @@ definitions: properties: performanceMetric: description: > - This defines the types of performance metrics for the specified - object instances, as specified in ETSI GS NFV-IFA 027). At least one - of the two attributes (performance metric or group) shall be - present. + This defines the types of performance metrics for the specified object instances. + Valid values are specified as "Measurement Name" values in clause 7.2 of ETSI GS NFV-IFA 027. + At least one of the two attributes (performance metric or group) shall be present. type: array items: type: string @@ -283,7 +282,8 @@ definitions: description: > Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to - individual metrics. + individual metrics. Valid values are specified as "Measurement Group" + values in clause 7.2 of ETSI GS NFV-IFA 027. At least one of the two attributes (performance metric or group) shall be present. type: array -- GitLab From 0584389164946da01b62affb694033114db4ece3 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 17:46:50 +0100 Subject: [PATCH 021/122] SOL002_51: ThresholdCriteria updated in SOL002SOL003VNFPerformanceManagement_def.yaml --- src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index 4c4afa66..cd7f8103 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -459,8 +459,8 @@ definitions: properties: performanceMetric: description: > - Defines the performance metric associated with the - threshold, as specified in ETSI GS NFV-IFA 027). + Defines the performance metric associated with the threshold. + Valid values are specified as "Measurement Name" values in clause 7.2 of ETSI GS NFV-IFA 027. type: string thresholdType: description: > -- GitLab From 52ea8660550e5c1e3352c64f0e4ed4e357cdc309 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 13 Mar 2019 17:58:27 +0100 Subject: [PATCH 022/122] SOL002_24: VNF instances get response body description updated --- src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index e93075f1..76261de2 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -143,7 +143,7 @@ paths: OK Information about zero or more VNF instances was queried - successfully. The response body shall contain + successfully. The response body shall contain in an array the representations of zero or more VNF instances. headers: Content-Type: -- GitLab From ffb5dc8eed5a6ede67fa8f1453d8ec36450ee435 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 10:59:02 +0100 Subject: [PATCH 023/122] SOL002_26: VNF LCM operation occurrences GET response body description updated --- .../VNFLifecycleManagement/VNFLifecycleManagement.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 76261de2..efd41334 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -747,10 +747,11 @@ paths: description: > OK - Status information for zero or more VNF lifecycle management - operation occurrences was queried successfully. The response body - shall contain status information about zero or more VNF lifecycle - operation occurrences. + Status information for zero or more VNF lifecycle management operation occurrences was queried successfully. + The response body shall contain in an array the status information about zero or more VNF lifecycle + operation occurrences, as defined in clause 5.5.2.13. + If the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: #TODO: Add headers defined in 4.3.4.3 Content-Type: -- GitLab From 49c4d8d884f4bbc9bb0f23398478cf9d0b137720 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 11:04:08 +0100 Subject: [PATCH 024/122] SOL002_29: Subscriptions GET body description updated --- .../VNFLifecycleManagement/VNFLifecycleManagement.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index efd41334..5e346f8a 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1143,9 +1143,10 @@ paths: description: > OK - The list of subscriptions was queried successfully. The response - body shall contain the representations of all active subscriptions - of the functional block that invokes the method. + The list of subscriptions was queried successfully. + The response body shall contain in an array the representations of all active subscriptions + of the functional block that invokes the method, i.e. zero or more representations of lifecycle + change notification subscriptions as defined in clause 5.5.2.16. headers: Content-Type: description: The MIME type of the body of the response. -- GitLab From 0f00d3f8f5b0fb858cff5e21ac62f8a9f5263635 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 11:50:09 +0100 Subject: [PATCH 025/122] SOL002_56: Alarms GET body description updated --- src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 8d7b06ae..608055a8 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -72,8 +72,11 @@ paths: description: > OK - The request has succeeded. - The response body shall contain the list of related alarms. + Information about zero or more alarms was queried successfully. + The response body shall contain in an array the representations of zero or more alarms + as defined in clause 7.5.2.4. + If the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: > -- GitLab From 120f8808f00a325df8442053e291bbc027760237 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 12:11:54 +0100 Subject: [PATCH 026/122] SOL002_57: Subscriptions GET body description updated, VNF Fault Management interface base path updated --- src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 608055a8..23eef8dc 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -22,7 +22,7 @@ externalDocs: description: ETSI GS NFV-SOL 002 V2.4.1 url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf -basePath: /vnfconfig/v1 +basePath: /vnffm/v1 schemes: - http @@ -269,7 +269,7 @@ paths: ############################################################################### # Subscriptions # ############################################################################### - '/alarms/subscriptions': + '/subscriptions': #SOL003 location: 7.4.4 post: description: > @@ -383,6 +383,9 @@ paths: The list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method. + If the VNFM supports alternative 2 (paging) according to clause + 4.7.2.1 for this resource, inclusion of the Link HTTP header in this + response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: > -- GitLab From f2d3961b32ff0b6bda6ad6ba11d2ef4cbc6cd037 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 12:20:35 +0100 Subject: [PATCH 027/122] SOL002_62: Indicators GET response body description updated --- src/SOL002/VNFIndicator/VNFIndicator.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 168c818e..fb2a2f31 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -105,9 +105,12 @@ paths: description: > OK - The list of VNF indicators was queried successfully. - The response body shall contain the representations of all VNF indicators that match - the attribute-based filtering parameters. + Information about zero or more VNF indicators was queried successfully. + The response body shall contain in an array the representations of all + VNF indicators that match the attribute-based filtering parameters, + i.e. zero or more representations of VNF indicators as defined in clause 8.5.2.2. + If the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. schema: type: array items: -- GitLab From 9b09ee2a24c1c85fcae97547e8be0f1a97f95512 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 12:23:24 +0100 Subject: [PATCH 028/122] SOL002_63: Indicator GET response body description updated --- src/SOL002/VNFIndicator/VNFIndicator.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index fb2a2f31..37b0c06e 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -199,9 +199,14 @@ paths: description: > OK - The list of VNF indicators was queried successfully. - The response body shall contain the representations of all VNF indicators that match - the attribute-based filtering parameters. + Information about zero or more VNF indicators was queried successfully. + The response body shall contain in an array the representations of all + VNF indicators that are related to the particular VNF instance and that + match the attribute filter., i.e. zero or more representations of VNF + indicators as defined in clause 8.5.2.2. + If the EM/VMF supports alternative 2 (paging) according to clause 4.7.2.1 + for this resource, inclusion of the Link HTTP header in this response shall + follow the provisions in clause 4.7.2.3. schema: type: array items: -- GitLab From 2a95fb7a73eb3107f8a68951adc3e78f86abf8d5 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 12:26:52 +0100 Subject: [PATCH 029/122] SOL002_65: Subscriptions GET response body description updated --- src/SOL002/VNFIndicator/VNFIndicator.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 37b0c06e..947ba79b 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -393,9 +393,13 @@ paths: description: > OK - The list of subscriptions was queried successfully. The response body shall contain - the representations of all active subscriptions of the functional block that invokes - the method which match the attribute filter. + The list of subscriptions was queried successfully. + The response body shall contain in an array the representations of all active + subscriptions of the functional block that invokes the method which match the + attribute filter, i.e. zero or more representations of VNF indicators subscriptions + as defined in clause 8.5.2.4. + If the EM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. schema: type: array items: -- GitLab From d332b0aeecde109b06799c4793466daca0b17aab Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 12:38:45 +0100 Subject: [PATCH 030/122] SOL002_46: Pm Jobs GET response body description updated --- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index d2903ceb..1fe159e1 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -141,8 +141,10 @@ paths: OK Information about zero or more PM jobs was queried successfully. - The response body shall contain representations of zero or more PM - jobs. + The response body shall contain in an array the representations of zero or more PM jobs, + as defined in clause 6.5.2.7. + If the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: WWW-Authenticate: description: > -- GitLab From ba98d1c17501011657a609b599885321528c817b Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 12:43:57 +0100 Subject: [PATCH 031/122] SOL002_47: Thresholds GET response body description updated --- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 1fe159e1..de184f71 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -451,8 +451,10 @@ paths: Information about zero or more thresholds was queried successfully. - The response body shall contain representations of zero - or more thresholds. + The response body shall contain in an array the representations of zero or more thresholds, + as defined in clause 6.5.2.9. + If the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: Location: description: The resource URI of the created VNF instance -- GitLab From feea122fbd4ca8630872f17776bb693444eaf85f Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 12:47:31 +0100 Subject: [PATCH 032/122] SOL002_48: Subscriptions GET response body description updated --- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index de184f71..85e61b37 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -703,8 +703,11 @@ paths: OK The list of subscriptions was queried successfully. - The response body shall contain the representations of all active - subscriptions of the functional block that invokes the method. + The response body shall contain in an array the representations + of all active subscriptions of the functional block that invokes the method, + i.e. zero or more representations of PM subscriptions as defined in clause 6.5.2.3. + If the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: > -- GitLab From fd45a9abb0af520c8802687824c2e0629c317fb9 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Thu, 14 Mar 2019 15:28:14 +0100 Subject: [PATCH 033/122] SOL002_64: {apiRoot}/vnfind/v1/indicators/{indicatorId} added in VNF Indicator if --- .../VNFFaultManagement.yaml | 55 ++++++++++++++++++- .../definitions/VNFFaultManagement_def.yaml | 5 +- src/SOL002/VNFIndicator/VNFIndicator.yaml | 40 ++++++++++++-- .../VNFPerformanceManagement.yaml | 4 +- 4 files changed, 94 insertions(+), 10 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 23eef8dc..9c18c3e0 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -266,7 +266,57 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### + ############################################################################### + # Escalate Perceived Severity task # + ############################################################################### + '/alarms/{alarmId}/escalate': + #SOL002 location: 7.4.4 + post: + description: > + The POST method enables the consumer to escalate the perceived severity + of an alarm that is represented by an ndividual alarm resource. + parameters: + - name: alarmId + description: > + Identifier of the alarm. + This identifier can be retrieved from the "id" attribute of the + "alarm" attribute in the AlarmNotification or + AlarmClearedNotification. It can also be retrieved from the "id" + attribute of the applicable array element in the payload body of the + response to a GET request to the "Alarms" resource. + in: path + type: string + required: true + - name: PerceivedSeverityRequest + description: The proposed "escalated perceived severity" value + in: body + schema: + $ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest" + responses: + 200: + description: > + OK + + The VNFM has received the proposed "escalated perceived severity" value + successfully. The response body shall be empty. + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 412: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + + ############################################################################### # Subscriptions # ############################################################################### '/subscriptions': @@ -549,5 +599,4 @@ paths: 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL002/VNFFaultManagement/definitions/VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/VNFFaultManagement_def.yaml index 8619868a..41d093ae 100644 --- a/src/SOL002/VNFFaultManagement/definitions/VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/VNFFaultManagement_def.yaml @@ -113,4 +113,7 @@ definitions: # Link to the resource representing the VNF instance to which the # notified alarm is correlated. Shall be present if the VNF # instance information is accessible as a resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" \ No newline at end of file + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + PerceivedSeverityRequest: + type: string \ No newline at end of file diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 947ba79b..e2e38bd6 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -40,7 +40,9 @@ produces: paths: - + ############################################################################### + # VNF Indicators # + ############################################################################### /indicators: get: summary: Query multiple indicators @@ -272,6 +274,38 @@ paths: 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + /indicators/{indicatorId}: + parameters: + - name: indicatorId + in: path + description: > + Identifier of the VNF indicator. + type: string + required: true + get: + summary: Read an inidividual VNF indicator related to a VNF instance. + description: > + Reads a VNF indicator. + responses: + 200: + description: > + OK + + The VNF indicator was read successfully. + The response body shall contain the representation of the VNF indicator. + schema: + $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 409: { $ref: 'responses/VNFIndicator_resp.yaml#/responses/409' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } /subscriptions: post: @@ -489,6 +523,4 @@ paths: 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - - + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } \ No newline at end of file diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 85e61b37..a207176f 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -22,7 +22,7 @@ externalDocs: description: ETSI GS NFV-SOL 002 V2.4.1 url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf -basePath: /vnfconfig/v1 +basePath: /vnfpm/v1 schemes: - http @@ -862,4 +862,4 @@ paths: 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file -- GitLab From 610b4f0bec351388b07c637da22dce5b01d038d8 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 11:29:11 +0100 Subject: [PATCH 034/122] SOL002_23: filters implemented for VNF Instances GET --- .../VNFConfiguration/VNFConfiguration.yaml | 5 +- .../VNFLifecycleManagement.yaml | 66 +++++++++++++++++++ 2 files changed, 67 insertions(+), 4 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index cb3c9f30..6f9fd7f9 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -142,7 +142,4 @@ paths: 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } - - - + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } \ No newline at end of file diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 5e346f8a..38c5a55a 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -137,6 +137,72 @@ paths: in: header required: true type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM may supply this parameter. All attribute names that appear in the VnfInstance + and in data types referenced from it shall be supported by the VNFM in the filter expression. + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: all_fields + description: > + Include all complex attributes in the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + in: query + required: false + type: string + - name: fields + description: > + Complex attributes to be included into the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + The following attributes shall be excluded from the VnfInstance structure + in the response body if this parameter is provided, or none of the parameters + "all_fields," "fields", "exclude_fields", "exclude_default" are provided: + - vnfConfigurableProperties + - instantiatedVnfInfo + - metadata + - extensions + in: query + required: false + type: string responses: 200: description: > -- GitLab From ba4805d6ab1360017a4584303adf1432add0069a Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 11:39:39 +0100 Subject: [PATCH 035/122] SOL002_25: filters implemented for VNF LCM operation occurrences GET --- .../VNFLifecycleManagement.yaml | 79 ++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 38c5a55a..4178236c 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -21,7 +21,7 @@ externalDocs: description: ETSI GS NFV-SOL 002 V2.4.1 url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf -basePath: /vnfconfig/v1 +basePath: /vnflcm/v1 schemes: - http @@ -808,6 +808,83 @@ paths: description: > The client can use this method to query status information about multiple VNF lifecycle management operation occurrences. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM/VNF may supply this parameter. All attribute names that appear in the VnfLcmOpOcc + and in data types referenced from it shall be supported by the VNFM in the filter expression. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: all_fields + description: > + Include all complex attributes in the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + in: query + required: false + type: string + - name: fields + description: > + Complex attributes to be included into the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + The following attributes shall be excluded from the VnfLcmOpOcc structure + in the response body if this parameter is provided, or none of the parameters + "all_fields", "fields", "exclude_fields", "exclude_default" are provided: + - operationParams + - error + - resourceChanges + - changedInfo + - changedExtConnectivity + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. + Shall be supported by the VNFM if the VNFM supports alternative 2 + (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From ee537774622876d2f6570d504be523a3d2edee23 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 11:42:50 +0100 Subject: [PATCH 036/122] SOL002_28: filters implemented for Subscriptions GET --- .../VNFLifecycleManagement.yaml | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 4178236c..7f0dbd4a 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1281,6 +1281,39 @@ paths: 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. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM may supply this parameter. All attribute names that appear in the LccnSubscription + and in data types referenced from it shall be supported by the VNFM in the filter expression. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string responses: 200: description: > -- GitLab From e50ff8f1d62d19fab61dda5a4d2b09256721fd1b Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 11:48:07 +0100 Subject: [PATCH 037/122] SOL002_46: filters implemented for PM Jobs GET --- .../VNFPerformanceManagement.yaml | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index a207176f..c8e6149a 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -72,6 +72,78 @@ paths: in: header required: true type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM may supply this parameter. All attribute names that appear in the PmJob + and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: all_fields + description: > + Include all complex attributes in the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + in: query + required: false + type: string + - name: fields + description: > + Complex attributes to be included into the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + The following attributes shall be excluded from the PmJob structure in + the response body if this parameter is provided, or none of the parameters + "all_fields", "fields", "exclude_fields", "exclude_default" are provided: + - reports + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. + Shall be supported by the VNFM if the VNFM supports alternative 2 + (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 201: description: > -- GitLab From 844c3a4e3f3279a6b06868c5d0905eaf54eaa97f Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 11:51:22 +0100 Subject: [PATCH 038/122] SOL002_47: filters implemented in Thresholds GET --- .../VNFPerformanceManagement.yaml | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index c8e6149a..c2d4e2a4 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -460,6 +460,46 @@ paths: in: header required: true type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM may supply this parameter. All attribute names that appear in the Thresholds + and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. + Shall be supported by the VNFM if the VNFM supports alternative 2 + (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 201: description: > -- GitLab From 67bd96dd45983e1607e3fa32cf97b9ad770a8459 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 11:55:41 +0100 Subject: [PATCH 039/122] SOL002_48: filters implemented in PM Subscriptions GET --- .../VNFPerformanceManagement.yaml | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index c2d4e2a4..c49db009 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -809,6 +809,46 @@ paths: in: header required: true type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM may supply this parameter. All attribute names that appear in the PmSubscription + and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. + Shall be supported by the VNFM if the VNFM supports alternative 2 + (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From abfc5108c94f04ea3efaa4c9aa4941765b7268d4 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 12:03:49 +0100 Subject: [PATCH 040/122] SOL002_56: filters implemented in Alarms GET --- .../VNFFaultManagement.yaml | 43 +++++++++++++++++++ .../VNFPerformanceManagement.yaml | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 9c18c3e0..dc857917 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -67,6 +67,49 @@ paths: in: header required: true type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM may supply this parameter. The VNF may supply its instance Id as an attribute filter. + The following attribute names shall be supported in the filter expression: id, managedObjectId, + vnfcInstanceIds, rootCauseFaultyResource.faultyResourceType, eventType, perceivedSeverity, probableCause. + If the vnfcInstanceIds parameter is provided, exactly one value for the managedObjectId attribute + shall be provided. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. + Shall be supported by the VNFM if the VNFM supports alternative 2 + (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index c49db009..5491a6c8 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -813,7 +813,7 @@ paths: description: > Attribute-based filtering expression according to clause 4.3.2. The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the PmSubscription + The EM may supply this parameter. All attribute names that appear in the PmSubscription and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. EXAMPLE -- GitLab From e95dc2f99d2e3306c97350d57dd9ea28a0148fc5 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 12:06:57 +0100 Subject: [PATCH 041/122] SOL002_57: filters implemented for Subscriptions GET --- .../VNFFaultManagement.yaml | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index dc857917..72531f84 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -468,6 +468,47 @@ paths: in: header required: true type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM may supply this parameter. The VNF may supply its instance Id as an attribute filter. + All attribute names that appear in the FmSubscription and in data types referenced from it + shall be supported by the VNFM in the filter expression. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. + Shall be supported by the VNFM if the VNFM supports alternative 2 + (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From b0592192657e84bbb53f3057cb50adf97fbc9815 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 12:18:48 +0100 Subject: [PATCH 042/122] SOL002_62: filters implemented in VNF Indicators GET --- src/SOL002/VNFIndicator/VNFIndicator.yaml | 97 ++++++++++------------- 1 file changed, 42 insertions(+), 55 deletions(-) diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index e2e38bd6..3b8a9c57 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -47,61 +47,48 @@ paths: get: summary: Query multiple indicators description: Get a list of indicators. Support of attribute based filtering via query parameters. -# parameters: -# - name: id.eq -# in: query -# description: Attribute based filtering for indicator identifer as specified in VNFD. -# type: array -# items: -# type: string -# - name: name.eq -# in: query -# description: Attribute based filtering for indicator name as specified in VNFD. -# type: array -# items: -# type: string -# - name: value.eq -# in: query -# description: Attribute based filtering for indicator value equality. -# type: array -# items: -# type: string -# - name: value.neq -# in: query -# description: Attribute based filtering for indicator value unequality. -# type: array -# items: -# type: string -# - name: value.gt -# in: query -# description: Attribute based filtering for indicator value greater than. -# type: array -# items: -# type: string -# - name: value.gte -# in: query -# description: Attribute based filtering for indicator value greater then or equal. -# type: array -# items: -# type: string -# - name: value.lt -# in: query -# description: Attribute based filtering for indicator value less than. -# type: array -# items: -# type: string -# - name: value.lte -# in: query -# description: Attribute based filtering for indicator value less than or equal. -# type: array -# items: -# type: string -# - name: vnfInstanceId.eq -# in: query -# description: Attribute based filtering for indicators belonging to specified VNF instance. -# type: array -# items: -# type: string + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM/VNF may supply this parameter. The VNF may supply its instance Id as an attribute filter. + All attribute names that appear in the VnfIndicator data type and in data types referenced from + it shall be supported by the VNFM in the filter expression. If receiving, this parameter is not + supported a 400 Bad Request response shall be returned (See table 8.4.2.3.2-2). + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF + if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource + in: query + required: false + type: string responses: 200: description: > -- GitLab From 43980361b8f6b31e28323a66b736e8fc391a042d Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 12:23:05 +0100 Subject: [PATCH 043/122] SOL002_63: filters implemented in VNF Indicator GET --- src/SOL002/VNFIndicator/VNFIndicator.yaml | 41 +++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 3b8a9c57..792f4997 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -130,6 +130,47 @@ paths: of that response. type: string required: true + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM/VNF shall support receiving filtering parameters as part of the URI query string. + The VNFM may supply filtering parameters. + All attribute names that appear in the VnfIndicator data type and in data types referenced + from it shall be supported in attribute-based filtering parameters. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF + if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string get: summary: Query multiple indicators related to a VNF instance. description: > -- GitLab From a7dd7d90ef44e65e9f864d195f904777857ba2e0 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 12:28:26 +0100 Subject: [PATCH 044/122] SOL002_65: filters implemented in Subscriptions GET --- src/SOL002/VNFIndicator/VNFIndicator.yaml | 246 ++++++++-------------- 1 file changed, 85 insertions(+), 161 deletions(-) diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 792f4997..84a5ced4 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -130,100 +130,52 @@ paths: of that response. type: string required: true - - name: filter - description: > - Attribute-based filtering expression according to clause 4.3.2. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM/VNF shall support receiving filtering parameters as part of the URI query string. - The VNFM may supply filtering parameters. - All attribute names that appear in the VnfIndicator data type and in data types referenced - from it shall be supported in attribute-based filtering parameters. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF - if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. - in: query - required: false - type: string 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. -# parameters: -# - name: id.eq -# in: query -# description: Attribute based filtering for indicator identifer as specified in VNFD. -# type: array -# items: -# type: string -# - name: name.eq -# in: query -# description: Attribute based filtering for indicator name as specified in VNFD. -# type: array -# items: -# type: string -# - name: value.eq -# in: query -# description: Attribute based filtering for indicator value equality. -# type: array -# items: -# type: string -# - name: value.neq -# in: query -# description: Attribute based filtering for indicator value unequality. -# type: array -# items: -# type: string -# - name: value.gt -# in: query -# description: Attribute based filtering for indicator value greater than. -# type: array -# items: -# type: string -# - name: value.gte -# in: query -# description: Attribute based filtering for indicator value greater then or equal. -# type: array -# items: -# type: string -# - name: value.lt -# in: query -# description: Attribute based filtering for indicator value less than. -# type: array -# items: -# type: string -# - name: value.lte -# in: query -# description: Attribute based filtering for indicator value less than or equal. -# type: array -# items: -# type: string + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM/VNF shall support receiving filtering parameters as part of the URI query string. + The VNFM may supply filtering parameters. + All attribute names that appear in the VnfIndicator data type and in data types referenced + from it shall be supported in attribute-based filtering parameters. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF + if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > @@ -379,77 +331,49 @@ paths: 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. -# parameters: -# - name: id.eq -# in: query -# description: > -# Attribute based filtering for subscription identifiers. -# type: array -# items: -# type: string -# - name: callbackUri.eq -# in: query -# description: > -# Attribute based filtering for the subscription's call back URIs. -# type: array -# items: -# type: string -# - name: filter.indicatorIds.cont -# in: query -# description: > -# Attribute based filtering for indicator identifiers. -# type: array -# items: -# type: string -# - name: filter.vnfInstanceSubscriptionFilter.vnfdIds.cont -# in: query -# description: > -# Attribute based filtering for VNFD identifiers. -# type: array -# items: -# type: string -# - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProvider.eq -# in: query -# description: > -# Attribute based filtering for VNF providers. -# type: array -# items: -# type: string -# - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProducts.vnfProductName.eq -# in: query -# description: > -# Attribute based filtering for VNF product name. -# type: array -# items: -# type: string -# - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProducts.versions.vnfSoftwareVersion.cont -# in: query -# description: > -# Attribute based filtering for VNF software versions. -# type: array -# items: -# type: string -# - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProducts.versions.vnfdVersion.cont -# in: query -# description: > -# Attribute based filtering for VNFD versions. -# type: array -# items: -# type: string -# - name: filter.vnfInstanceSubscriptionFilter.vnfInstanceIds.cont -# in: query -# description: > -# Attribute based filtering for VNF instance identifiers. -# type: array -# items: -# type: string -# - name: filter.vnfInstanceSubscriptionFilter.vnfInstanceNames.cont -# in: query -# description: > -# Attribute based filtering for VNF instance names. -# type: array -# items: -# type: string + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The EM shall and the VNF may support receiving this parameter as part + of the URI query string. The VNFM may supply this parameter. + All attribute names that appear in the VnfIndicatorSubscription data + type and in data types referenced from it shall be supported in the filter expression. + If receiving, this parameter is not supported, a 400 Bad Request response shall + be returned (see table 8.4.5.3.2-2). + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the EM + if the EM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 61bfef839efccc5bf1be19ff691686b3e8df7f32 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 15 Mar 2019 12:42:06 +0100 Subject: [PATCH 045/122] Fix in PM interface --- .../VNFPerformanceManagement.yaml | 206 +++++++++--------- 1 file changed, 103 insertions(+), 103 deletions(-) diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 5491a6c8..0a5f191d 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -72,6 +72,69 @@ paths: in: header required: true type: string + responses: + 201: + description: > + Created + + The PM job was created successfully. The response body shall + contain a representation of the created PM job resource. + The HTTP response shall include a "Location" HTTP header that + points to the created PM job resource. + headers: + Location: + description: The resource URI of the created PM Job + type: string + format: url + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The client can use this method to retrieve information about PM jobs. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string - name: filter description: > Attribute-based filtering expression according to clause 4.3.2. @@ -144,69 +207,6 @@ paths: in: query required: false type: string - responses: - 201: - description: > - Created - - The PM job was created successfully. The response body shall - contain a representation of the created PM job resource. - The HTTP response shall include a "Location" HTTP header that - points to the created PM job resource. - headers: - Location: - description: The resource URI of the created PM Job - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - get: - description: > - The client can use this method to retrieve information about PM jobs. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string responses: 200: description: > @@ -460,46 +460,6 @@ paths: in: header required: true type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 4.3.2. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the Thresholds - and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 - (paging) according to clause 4.7.2.1 for this resource. - in: query - required: false - type: string responses: 201: description: > @@ -556,6 +516,46 @@ paths: in: header required: true type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM may supply this parameter. All attribute names that appear in the Thresholds + and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. + Shall be supported by the VNFM if the VNFM supports alternative 2 + (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 1221d34fd7ff9f47deb81bcb854fbb25f23438f7 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Mar 2019 19:04:02 +0100 Subject: [PATCH 046/122] Added main SOL002 API version --- src/SOL002/APIVersion/APIVersion.yaml | 78 +++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 src/SOL002/APIVersion/APIVersion.yaml diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml new file mode 100644 index 00000000..19e20c81 --- /dev/null +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -0,0 +1,78 @@ +swagger: "2.0" +info: + version: "1.2.0" + 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 + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: "NFV-SOL WG" +externalDocs: + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf +basePath: /{apiName} +schemes: + - http + - https +consumes: + - application/json +produces: + - application/json +paths: + ############################################################################### + # API Versions # + ############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } -- GitLab From 058a4f8cacc69e08b156a5bfc4985ef96a932937 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Mar 2019 19:07:02 +0100 Subject: [PATCH 047/122] Updated API version resource, and Version HTTP Header - SOL002 #1,5,6,17,19,20,21,22,43,45,53,55,58,61,66,68 --- .../VNFConfiguration/VNFConfiguration.yaml | 37 ++- .../VNFFaultManagement.yaml | 153 +++++++++++-- src/SOL002/VNFIndicator/VNFIndicator.yaml | 197 ++++++++++++++-- .../VNFIndicatorNotification.yaml | 2 - .../VNFLifecycleManagement.yaml | 43 ++++ .../VNFPerformanceManagement.yaml | 214 +++++++++++++++++- 6 files changed, 601 insertions(+), 45 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 6f9fd7f9..e9f9110b 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -1,6 +1,6 @@ swagger: "2.0" info: - version: "1.1.0" + version: "1.2.0" title: "SOL002 - VNF Configuration interface" description: > SOL002 - VNF Configuration Interface @@ -36,6 +36,13 @@ paths: The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string responses: 200: description: > @@ -50,6 +57,11 @@ paths: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } @@ -73,6 +85,13 @@ paths: 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. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string responses: 200: description: > @@ -87,6 +106,11 @@ paths: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } @@ -114,6 +138,12 @@ paths: in: body schema: $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications' + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string responses: 200: description: > @@ -129,6 +159,11 @@ paths: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 72531f84..8d45bc6a 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL002 - VNF Configuration interface description: > VNF Configuration interface of ETSI NFV SOL002 @@ -36,11 +36,69 @@ produces: paths: +############################################################################### +# API Versions # +############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # Alarms # ############################################################################### '/alarms': #SOL003 location: 7.4.2 + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: description: > The client can use this method to retrieve information about the alarm @@ -122,9 +180,12 @@ paths: inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. type: string maximum: 1 minimum: 1 @@ -136,6 +197,7 @@ paths: type: string maximum: 1 minimum: 0 + schema: $ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/Alarm" 400: @@ -169,6 +231,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: description: > The client can use this method to read an individual alarm. @@ -204,9 +272,12 @@ paths: alarm. headers: Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. type: string maximum: 1 minimum: 1 @@ -275,9 +346,12 @@ paths: resource. headers: Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. type: string maximum: 1 minimum: 1 @@ -314,6 +388,13 @@ paths: ############################################################################### '/alarms/{alarmId}/escalate': #SOL002 location: 7.4.4 + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string post: description: > The POST method enables the consumer to escalate the perceived severity @@ -342,6 +423,12 @@ paths: The VNFM has received the proposed "escalated perceived severity" value successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -364,6 +451,13 @@ paths: ############################################################################### '/subscriptions': #SOL003 location: 7.4.4 + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string post: description: > The POST method creates a new subscription. @@ -406,9 +500,12 @@ paths: points to the created subscription resource. headers: Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. type: string maximum: 1 minimum: 1 @@ -522,9 +619,12 @@ paths: response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. type: string maximum: 1 minimum: 1 @@ -570,6 +670,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: description: > The client can use this method for reading an individual subscription @@ -606,9 +712,12 @@ paths: subscription resource. headers: Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. type: string maximum: 1 minimum: 1 @@ -655,10 +764,8 @@ paths: The subscription resource was deleted successfully. The response body shall be empty. headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + Version: + description: The used API version. type: string maximum: 1 minimum: 1 diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 84a5ced4..0860429a 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -40,11 +40,69 @@ produces: paths: + ############################################################################### + # API Versions # + ############################################################################### + '/api-versions': + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # VNF Indicators # ############################################################################### - /indicators: - get: + /indicators: + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + get: summary: Query multiple indicators description: Get a list of indicators. Support of attribute based filtering via query parameters. parameters: @@ -100,6 +158,17 @@ paths: i.e. zero or more representations of VNF indicators as defined in clause 8.5.2.2. If the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -116,8 +185,7 @@ paths: 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - - /indicators/{vnfInstanceId}: + /indicators/{vnfInstanceId}: parameters: - name: vnfInstanceId in: path @@ -130,6 +198,12 @@ paths: of that response. type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: summary: Query multiple indicators related to a VNF instance. description: > @@ -189,6 +263,17 @@ paths: If the EM/VMF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -206,7 +291,7 @@ paths: 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - /indicators/{vnfInstanceId}/{indicatorId}: + /indicators/{vnfInstanceId}/{indicatorId}: parameters: - name: vnfInstanceId in: path @@ -226,6 +311,12 @@ paths: # LEH NOTE from SOL002 is strange type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: summary: Read an inidividual VNF indicator related to a VNF instance. description: > @@ -240,6 +331,17 @@ paths: The VNF indicator was read successfully. The response body shall contain the representation of the VNF indicator. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } @@ -254,7 +356,7 @@ paths: 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - /indicators/{indicatorId}: + /indicators/{indicatorId}: parameters: - name: indicatorId in: path @@ -262,6 +364,12 @@ paths: Identifier of the VNF indicator. type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: summary: Read an inidividual VNF indicator related to a VNF instance. description: > @@ -273,6 +381,17 @@ paths: The VNF indicator was read successfully. The response body shall contain the representation of the VNF indicator. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } @@ -287,8 +406,15 @@ paths: 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - /subscriptions: - post: + /subscriptions: + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + post: summary: Create a new subscription to VNF indicator change notifications description: Create a new subscription parameters: @@ -312,7 +438,17 @@ paths: description: > Pointer to the created subscription resource. type: string - format: URI + format: URI + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } @@ -324,7 +460,7 @@ paths: 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - get: + get: summary: Query multiple subscriptions. description: > Service Unavailable @@ -386,6 +522,17 @@ paths: as defined in clause 8.5.2.4. If the EM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -403,8 +550,15 @@ paths: 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - /subscriptions/{subscriptionId}: - get: + /subscriptions/{subscriptionId}: + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + get: summary: Read an individual subscription. description: > Service Unavailable @@ -429,6 +583,17 @@ paths: The subscriptions was queried successfully. The response body shall contain the representation of the requested subscription. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: 'definitions/VnfIndicatorSubscription_def.yaml#/definitions/VnfIndicatorSubscription' 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } @@ -442,7 +607,7 @@ paths: 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - delete: + delete: summary: Delete a subscription description: Terminate an individual subscription. parameters: @@ -465,6 +630,12 @@ paths: The subscription was deleted successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 8d6814cc..34c984c6 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -37,8 +37,6 @@ produces: paths: - - /notificationendpoint: post: summary: Notification endpoint diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 7f0dbd4a..6f30655a 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -36,6 +36,49 @@ produces: paths: ############################################################################### +# API Versions # +############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } +############################################################################### # VNF instances # ############################################################################### '/vnf_instances': diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 0a5f191d..859878d6 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -36,11 +36,69 @@ produces: paths: +############################################################################### +# API Versions # +############################################################################### + '/api-versions': + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # PM jobs # ############################################################################### '/pm_jobs': #SOL003 location: 6.4.2 + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string post: description: > The POST method creates a PM job. @@ -82,6 +140,16 @@ paths: The HTTP response shall include a "Location" HTTP header that points to the created PM job resource. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 Location: description: The resource URI of the created PM Job type: string @@ -218,6 +286,16 @@ paths: If the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -260,6 +338,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: description: > The client can use this method for reading an individual PM job. @@ -287,6 +371,16 @@ paths: The response body shall contain a representation of the PM job resource. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -330,6 +424,16 @@ paths: The PM job was deleted successfully. The response body shall be empty. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -370,6 +474,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: description: > The client can use this method for reading an individual performance @@ -399,6 +509,16 @@ paths: The response body shall contain a representation of the performance report resource. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -428,6 +548,13 @@ paths: ############################################################################### '/thresholds': #SOL003 location: 6.4.5 + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string post: description: > The POST method can be used by the client to create a threshold. @@ -470,6 +597,16 @@ paths: The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created threshold resource. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 Location: description: The resource URI of the created VNF instance type: string @@ -568,6 +705,16 @@ paths: If the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 Location: description: The resource URI of the created VNF instance type: string @@ -614,6 +761,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: description: > The client can use this method for reading an individual threshold. @@ -641,6 +794,16 @@ paths: successfully. The response body shall contain a representation of the threshold. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -691,6 +854,11 @@ paths: The threshold was deleted successfully. The response body shall be empty. headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -718,6 +886,13 @@ paths: ############################################################################### '/subscriptions': #SOL003 location: 6.4.7 + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string post: description: > The POST method creates a new subscription. @@ -761,6 +936,16 @@ paths: The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created subscription resource. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 Location: description: The resource URI of the created VNF instance type: string @@ -862,9 +1047,12 @@ paths: inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. type: string maximum: 1 minimum: 1 @@ -909,6 +1097,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: description: > The client can use this method for reading an individual subscription @@ -937,9 +1131,12 @@ paths: contain a representation of the subscription resource. headers: Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. type: string maximum: 1 minimum: 1 @@ -993,6 +1190,11 @@ paths: The subscription resource was deleted successfully. The response body shall be empty. headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided -- GitLab From 219b757a1cdd9bf8db5a75158d2752f78f9cdb4d Mon Sep 17 00:00:00 2001 From: medsam Date: Tue, 26 Mar 2019 21:48:09 +0100 Subject: [PATCH 048/122] SOL003_53 SOL003_54 SOL003_55: "ThresholdCrossedNotification" data type updated --- .../SOL002SOL003VNFPerformanceManagement_def.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index cd7f8103..b104a13a 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -590,15 +590,15 @@ definitions: subscription: description: > Link to the related subscription. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" objectInstance: description: > Link to the resource representing the VNF instance to which the notified change applies. Shall be present if the VNF instance information is accessible as a resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" threshold: description: > Link to the resource that represents the threshold that was crossed. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" \ No newline at end of file + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" \ No newline at end of file -- GitLab From 86159f23c775240882180e7176c155a89be808ae Mon Sep 17 00:00:00 2001 From: medsam Date: Tue, 26 Mar 2019 21:56:40 +0100 Subject: [PATCH 049/122] SOL003_58 SOL003_59 SOL003_60 SOL003_61: "PerformanceInformationAvailableNotification" data type updated --- .../SOL002SOL003VNFPerformanceManagement_def.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index b104a13a..d2bc7e19 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -99,24 +99,24 @@ definitions: subscription: description: > Link to the related subscription. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" objectInstance: description: > Link to the resource representing the VNF instance to which the notified change applies. Shall be present if the VNF instance information is accessible as a resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" pmJob: description: > Link to the resource that represents the PM job for which performance information is available. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" performanceReport: description: > Link from which the available performance information of data type "PerformanceReport" can be obtained. This link should point to an "Individual performance report" resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" PerformanceReport: description: > -- GitLab From 6dcba0defa84afa3b0837a61f08fe3dd7e11a516 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 26 Mar 2019 22:07:01 +0100 Subject: [PATCH 050/122] SOL003_71: "Alarm" data type updated --- src/SOL003/definitions/SOL003_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL003/definitions/SOL003_def.yaml b/src/SOL003/definitions/SOL003_def.yaml index 5e1cc019..06d4c1d1 100644 --- a/src/SOL003/definitions/SOL003_def.yaml +++ b/src/SOL003/definitions/SOL003_def.yaml @@ -79,7 +79,7 @@ definitions: isRootCause: description: > Attribute indicating if this fault is the root for other correlated - alarms. If TRUE, then the alarms listed in the attribute + alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault. type: boolean correlatedAlarmIds: -- GitLab From 3a369771b02b729debc31492aff6a96b622e455d Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 26 Mar 2019 22:09:30 +0100 Subject: [PATCH 051/122] SOL003_72: Changes in the definition of the "AlarmNotification" data type: "_links>subscription" attribute is now of type "NotificationLink" (was "Link") --- src/SOL003/definitions/SOL003_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL003/definitions/SOL003_def.yaml b/src/SOL003/definitions/SOL003_def.yaml index 06d4c1d1..e3105a7b 100644 --- a/src/SOL003/definitions/SOL003_def.yaml +++ b/src/SOL003/definitions/SOL003_def.yaml @@ -164,7 +164,7 @@ definitions: subscription: description: > Link to the related subscription. - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" VnfInfoModificationRequest: description: > -- GitLab From 06d0eceead9e0183b2994a6a6c62937399889639 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 26 Mar 2019 22:11:54 +0100 Subject: [PATCH 052/122] SOL003_73 SOL003_74: "AlarmClearedNotification" data type updated --- src/definitions/SOL002SOL003VNFFaultManagement_def.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml index f9d5052f..ac3faee3 100644 --- a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -56,11 +56,11 @@ definitions: subscription: description: > Link to the related subscription. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" alarm: description: > Link to the resource that represents the related alarm. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" AlarmListRebuiltNotification: description: > -- GitLab From 8ceee5155c660a4077c5d76886f080ebb4875a6d Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 26 Mar 2019 22:13:26 +0100 Subject: [PATCH 053/122] SOL003_75 SOL003_76: "AlarmListRebuiltNotification" data type updated --- src/definitions/SOL002SOL003VNFFaultManagement_def.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml index ac3faee3..019be228 100644 --- a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -109,11 +109,11 @@ definitions: subscription: description: > Link to the related subscription. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" alarms: description: > Link to the alarm list, i.e. the "Alarms" resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" AlarmModifications: description: > -- GitLab From a3d55c18d9a4d2596d19ba3ae48bdd0c8af97929 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 26 Mar 2019 22:18:41 +0100 Subject: [PATCH 054/122] SOL003_85 SOL003_86: "VnfIndicatorValueChangeNotification" data type updated --- src/definitions/SOL002SOL003VNFIndicator_def.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFIndicator_def.yaml b/src/definitions/SOL002SOL003VNFIndicator_def.yaml index 8c43b741..1eaff102 100644 --- a/src/definitions/SOL002SOL003VNFIndicator_def.yaml +++ b/src/definitions/SOL002SOL003VNFIndicator_def.yaml @@ -199,14 +199,14 @@ definitions: Links for this resource. type: object required: - - vnfInstance - subscription properties: vnfInstance: description: > - Link to the related VNF instance resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + Link to the related VNF instance resource. Shall be present + if the VNF instance information is accessible as a resource. + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" subscription: description: > Link to the related subscription. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" -- GitLab From 12d19eb945063132d53f72931c5e28e932cbd43a Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 26 Mar 2019 22:25:13 +0100 Subject: [PATCH 055/122] SOL003_89: "GrantRequest" data type updated --- .../definitions/VNFLifecycleOperationGranting_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml index 035719e3..298d4c0a 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml @@ -296,7 +296,7 @@ definitions: The VNF LCM operations CreateVnfIdentifier, DeleteVnfIdentifier, QueryVnf and ModifyVnfInformation can be executed by the VNFM without requesting granting. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/GrantedLcmOperationType" isAutomaticInvocation: description: > Set to true if this VNF LCM operation occurrence has been triggered -- GitLab From 7c8c5489e9ce01206cd5e0e5c92b234bff2c38e9 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 26 Mar 2019 22:43:57 +0100 Subject: [PATCH 056/122] SOL003_92: New enumeration "GrantedLcmOperationType" is created --- src/definitions/SOL002SOL003_def.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 2346fb0f..300f9fcb 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -266,6 +266,31 @@ definitions: items: $ref: "#/definitions/ExtLinkPortData" + GrantedLcmOperationType: + description: > + The enumeration GrantedLcmOperationType defines the permitted values + to represent VNF lifecycle operation types in grant requests. + Value | Description + ------|------------ + INSTANTIATE | Represents the "Instantiate VNF" LCM operation. + SCALE | Represents the "Scale VNF" LCM operation. + SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. + CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. + TERMINATE | Represents the "Terminate VNF" LCM operation. + HEAL | Represents the "Heal VNF" LCM operation. + OPERATE | Represents the "Operate VNF" LCM operation. + CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. + type: string + enum: + - INSTANTIATE + - SCALE + - SCALE_TO_LEVEL + - CHANGE_FLAVOUR + - TERMINATE + - HEAL + - OPERATE + - CHANGE_EXT_CONN + Identifier: description: > An identifier with the intention of being globally unique. -- GitLab From d576f837c7f77337100b34072979b16863dd2777 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 26 Mar 2019 22:52:09 +0100 Subject: [PATCH 057/122] SOL003_97: Parameters of "{apiRoot}/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content" have been updated --- src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 27d7f3be..7c93a66c 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -303,7 +303,7 @@ paths: parameters: - name: vnfPkgId description: > - Identifier of the on-boarded VNF package. The identifier is + Identifier of the VNF package. The identifier is allocated by the NFVO. This identifier can be retrieved from the "vnfPkgId" attribute in the VnfPackageOnboardingNotification or -- GitLab From 38fcfcad5ec08cda7e37e54fa307d90f63e4a212 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:06:56 +0100 Subject: [PATCH 058/122] SOL003_98: Parameters of the "Individual VNF package artifact" resource have been updated --- src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 7c93a66c..2ba11fdf 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -426,7 +426,9 @@ paths: parameters: - name: artifactPath description: > - Path of the artifact within the VNF package. + Sequence of one or more path segments representing the path of + the artifact within the VNF package. + EXAMPLE: foo/bar/run.sh This identifier can be retrieved from the "artifactPath" attribute of the applicable "additionalArtifacts" entry in the body of the response to a GET request querying the "Individual VNF package" or @@ -436,7 +438,7 @@ paths: required: true - name: vnfPkgId description: > - Identifier of the on-boarded VNF package. The identifier is + Identifier of the VNF package. The identifier is allocated by the NFVO. This identifier can be retrieved from the "vnfPkgId" attribute in the VnfPackageOnboardingNotification or -- GitLab From 6bcf1fb350a688431be8314d350f901234a93571 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:13:12 +0100 Subject: [PATCH 059/122] SOL003_101: "VnfPackageOnboardingNotification" data type updated --- .../definitions/VNFPackageManagementNotification_def.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml index 8a7b061e..82c06cea 100644 --- a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml +++ b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml @@ -107,6 +107,7 @@ definitions: required: - id - notificationType + - subscriptionId - timeStamp - vnfPkgId - vnfdId @@ -136,7 +137,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" vnfPkgId: description: > - Identifier of the on-boarded VNF package. This identifier is + Identifier of the VNF package. This identifier is allocated by the NFVO. Its value is the same as the value of the "id" attribute of the related "Individual VNF package" resource. -- GitLab From aff17c9c51e0cec986f4eba2a95e232b36d7658e Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:15:29 +0100 Subject: [PATCH 060/122] SOL003_102: "VnfPackageChangeNotification" data type updated --- .../definitions/VNFPackageManagementNotification_def.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml index 82c06cea..99862dd5 100644 --- a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml +++ b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml @@ -41,6 +41,7 @@ definitions: required: - id - notificationType + - subscriptionId - timeStamp - vnfPkgId - vnfdId @@ -70,8 +71,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" vnfPkgId: description: > - Identifier of the on-boarded VNF package. This identifier is - allocated by the NFVO. + Identifier of the VNF package. This identifier is allocated by the NFVO. Its value is the same as the value of the "id" attribute of the related "Individual VNF package" resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" @@ -137,8 +137,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" vnfPkgId: description: > - Identifier of the VNF package. This identifier is - allocated by the NFVO. + Identifier of the VNF package. This identifier is allocated by the NFVO. Its value is the same as the value of the "id" attribute of the related "Individual VNF package" resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" -- GitLab From 67d3c54ab7859c9d3ea9c0330446ffcb4362df51 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:20:12 +0100 Subject: [PATCH 061/122] SOL003_103: Parameters' description in "PkgmNotificationsFilter" data type have been updated --- .../definitions/VNFPackageManagement_def.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml index 6caf4647..ee6eb205 100644 --- a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml @@ -280,14 +280,14 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" operationalState: description: > - Match particular operational state of the on-boarded VNF package. + Match particular operational state of the VNF package. May be present if the "notificationTypes" attribute contains the value "VnfPackageChangeNotification", and shall be absent otherwise. $ref: "#/definitions/PackageOperationalStateType" usageState: description: > - Match particular usage state of the on-boarded VNF package. + Match particular usage state of the VNF package. May be present if the "notificationTypes" attribute contains the value "VnfPackageChangeNotification", and shall be absent otherwise. -- GitLab From 7768a4884cd8b77f70bcfa555667618cc69b6ec8 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:21:43 +0100 Subject: [PATCH 062/122] SOL003_104 SOL003_105: "PkgmLinks" data type updated --- .../definitions/VNFPackageManagementNotification_def.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml index 99862dd5..e21dd8e1 100644 --- a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml +++ b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml @@ -164,10 +164,10 @@ 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 resource + change applies, i.e. the individual VNF package resource that represents the VNF package. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" subscription: description: > Link to the related subscription. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" -- GitLab From 5ff10dc2e8ccd1a2a42a227b8b362f81900d7ffd Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:22:49 +0100 Subject: [PATCH 063/122] SOL003_110: "QuotaAvailLinks" data type updated --- ...isedResourcesQuotaAvailableNotificationNotification_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/definitions/VirtualisedResourcesQuotaAvailableNotificationNotification_def.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/definitions/VirtualisedResourcesQuotaAvailableNotificationNotification_def.yaml index ea86df45..2690dc3e 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/definitions/VirtualisedResourcesQuotaAvailableNotificationNotification_def.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/definitions/VirtualisedResourcesQuotaAvailableNotificationNotification_def.yaml @@ -78,7 +78,7 @@ definitions: subscription: description: > Link to the related subscription. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" -- GitLab From 9eab0506d1d430f1e84e30452f7b0bc110ed65b4 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:35:35 +0100 Subject: [PATCH 064/122] SOL003_23 SOL003_24 SOL003_25 SOL003_26 SOL003_27: "VnfInstance" data type updated --- ...OL002SOL003VNFLifecycleManagement_def.yaml | 27 +------------------ 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 63cfbdc4..713a441d 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1132,32 +1132,7 @@ definitions: type: array minItems: 1 items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - Identifier of the external CP instance and the related information - instance. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - cpdId: - description: > - Identifier of the external CPD, VnfExtCpd, in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - cpProtocolInfo: - description: > - Network protocol information for this CP. - type: array - items: - $ref: "#/definitions/CpProtocolInfo" - extLinkPortId: - description: > - Identifier of the "extLinkPortInfo" structure inside the the - "extVirtualLinkInfo" structure. Shall be present if the CP is - associated to a link port. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + $ref: "#/definitions/VnfExtCpInfo" extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. -- GitLab From 8dda7b1f6c045719d2a93bb2795ad63ac2899a50 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:47:03 +0100 Subject: [PATCH 065/122] SOL003_28: "VnfInfoModificationRequest" data type updated with a new attribute --- src/SOL003/definitions/SOL003_def.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/SOL003/definitions/SOL003_def.yaml b/src/SOL003/definitions/SOL003_def.yaml index e3105a7b..6624995f 100644 --- a/src/SOL003/definitions/SOL003_def.yaml +++ b/src/SOL003/definitions/SOL003_def.yaml @@ -213,4 +213,11 @@ definitions: type: array items: $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" - \ No newline at end of file + vimConnectionInfoDeleteIds: + description: > + List of identifiers entries to be deleted from the "vimConnectionInfo" + attribute array in "VnfInstance", to be used as "deleteIdList" as defined + below this table. + type: array + items: + $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" \ No newline at end of file -- GitLab From 1478a84fc89c2a573694f1ba0029dea225f23b75 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:51:20 +0100 Subject: [PATCH 066/122] SOL003_29: "VnfInfoModifications" data type updated with a new attribute --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 713a441d..657ec373 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -891,6 +891,13 @@ definitions: type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + vimConnectionInfoDeleteIds: + description: > + If present, this attribute signals the deletion of certain entries + in the "vimConnectionInfo" attribute array in "VnfInstance". + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" vnfPkgId: description: > If present, this attribute signals modifications of the "vnfPkgId" -- GitLab From fbabd7c76bf79b5f66350981d64f1e3303f877b8 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 01:58:16 +0100 Subject: [PATCH 067/122] SOL003_30: "VnfLcmOpOcc" data type updated --- .../definitions/VNFLifecycleManagement_def.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index 54710f2a..9fa09213 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -347,7 +347,6 @@ definitions: - vnfInstanceId - operation - isAutomaticInvocation - - operationParams - isCancelPending properties: id: @@ -404,6 +403,10 @@ definitions: * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModificationRequest + This attribute shall be present if this data type is returned in + a response to reading an individual resource, and may be present + according to the chosen attribute selector parameter if this data + type is returned in a response to a query of a container resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" isCancelPending: description: > -- GitLab From d4ef6cef58018cdfa6d33f84c0469564f89db5d3 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 02:06:37 +0100 Subject: [PATCH 068/122] SOL003_31: "VnfcResourceInfo" data type updated --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 657ec373..bf91bbf1 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -747,12 +747,12 @@ definitions: vnfLinkPortId: description: > Identifier of the "vnfLinkPorts" structure in the - "vnfVirtualLinkResourceInfo" structure. Shall be present if + "VnfVirtualLinkResourceInfo" structure. Shall be present if the CP is associated to a link port. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" metadata: description: > - Metadata about this external CP. + Metadata about this CP. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > -- GitLab From 6602194785ff1e6eb0d49fb279c4b53ae9cff1fc Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 02:12:12 +0100 Subject: [PATCH 069/122] SOL003_33 SOL003_34: "IpOverEthernetAddressInfo" data type updated --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index bf91bbf1..a59902a5 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -231,12 +231,11 @@ definitions: This type represents information about a network address that has been assigned. type: object - required: - - macAddress properties: macAddress: description: > - Assigned MAC address. + MAC address, if assigned. + At least one of "macAddress" or "ipAddresses" shall be present. $ref: "SOL002SOL003_def.yaml#/definitions/MacAddress" ipAddresses: description: > @@ -261,6 +260,7 @@ definitions: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). + Exactly one of "addresses" or "addressRange" shall be present. type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress" -- GitLab From b4c81b98ed364b2a81b312437bb292265fad6d5c Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 02:16:06 +0100 Subject: [PATCH 070/122] SOL003_38: "AffectedVirtualLink" data type updated --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index a59902a5..ed17ef2d 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -9,7 +9,7 @@ definitions: type: object required: - id - - virtualLinkDescId + - vnfVirtualLinkDescId - changeType - networkResource properties: -- GitLab From a3f0e57d4eba599754fafac1aeb5ee2c876ca308 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 02:18:53 +0100 Subject: [PATCH 071/122] SOL003_39 SOL003_40 SOL003_41: "LccnLinks" data type updated --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index ed17ef2d..2c590dd9 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -309,17 +309,17 @@ definitions: description: > Link to the resource representing the VNF instance to which the notified change applies. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" subscription: description: > Link to the related subscription. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" vnfLcmOpOcc: description: > Link to the VNF lifecycle management operation occurrence that this notification is related to. Shall be present if there is a related lifecycle operation occurrence. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" LccnSubscription: description: > -- GitLab From b6a6429a389f38b6a5aec004af1b4454edb2828c Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 02:29:21 +0100 Subject: [PATCH 072/122] SOL003_113: "Link" data type updated --- src/definitions/SOL002SOL003_def.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 300f9fcb..74dac009 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -83,7 +83,7 @@ definitions: Link: description: > - This type represents a link to a resource. using an absolute URI. + This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: @@ -91,8 +91,8 @@ definitions: properties: href: description: > - URI of another resource referenced from a resource. - Shall be an absolute URI (i.e. a UTI that contains {apiRoot}. + URI of another resource referenced from a resource. + Shall be an absolute URI (i.e. a URI that contains {apiRoot}). $ref: "#/definitions/Uri" NotificationLink: -- GitLab From 5fe0536dfd3924066729939a51661b7a95313223 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 27 Mar 2019 02:39:07 +0100 Subject: [PATCH 073/122] SOL003_10: "ApiVersionInformation" data type is created --- src/definitions/SOL002SOL003_def.yaml | 46 +++++++++++++-------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 74dac009..d3f6897f 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -854,7 +854,7 @@ definitions: ApiVersionInformation: description: > This type represents API version information. It shall comply with the - provisions defined in table 4.4.1.6-1. + provisions defined in table 4.4.1.13-1 (SOL003). type: object required: - uriPrefix @@ -872,33 +872,33 @@ definitions: type: array items: type: object - required: - - version - properties: - version: + required: + - version + properties: + version: description: > Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 4.6.1. type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not (false). - A deprecated version is still supported by the API producer - but is recommended not to be used any longer. - When a version is no longer supported, it does not appear in - the response body. - type: boolean - retirementDate: - description: > - The date and time after which the API version will no - longer be supported. - This attribute may be included if the value of the - isDeprecated attribute is set to true and shall be - absent otherwise. - $ref: "#/definitions/DateTime" + isDeprecated: + description: > + If such information is available, this attribute + indicates whether use of the version signaled by the + version attribute is deprecated (true) or not (false). + A deprecated version is still supported by the API producer + but is recommended not to be used any longer. + When a version is no longer supported, it does not appear in + the response body. + type: boolean + retirementDate: + description: > + The date and time after which the API version will no + longer be supported. + This attribute may be included if the value of the + isDeprecated attribute is set to true and shall be + absent otherwise. + $ref: "#/definitions/DateTime" -- GitLab From af1b6fc9bee3fa911ffd17c33c249730cc848b6a Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 1 Apr 2019 22:21:15 +0200 Subject: [PATCH 074/122] SOL003_67: New parameter "nextpage_opaque_marker" in request : GET method on "alarms" ressource + Filter implementation --- .../VNFFaultManagement.yaml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index d74b227e..313c30d4 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -66,6 +66,26 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + The following attribute names shall be supported by the VNFM in + the attribute-based filtering expression: id, managedObjectId, + rootCauseFaultyResource/faultyResourceType, eventType, + perceivedSeverity, probableCause. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the + VNFM if the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 + for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 931bca4d5cd892c7014c964dd3a2a8225f24090d Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 1 Apr 2019 22:23:22 +0200 Subject: [PATCH 075/122] SOL003_17: New parameter "nextpage_opaque_marker" in request : GET method on "vnf_instances" ressource + Filter implementation --- .../VNFLifecycleManagement.yaml | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 2d63c7af..8b164279 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -145,6 +145,61 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the VnfInstance and in data + types referenced from it shall be supported by the VNFM in the + filter expression. + in: query + required: false + type: string + - name: all_fields + description: > + Include all complex attributes in the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + in: query + required: false + type: string + - name: fields + description: > + Complex attributes to be included into the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + The following attributes shall be excluded from the VnfInstance structure + in the response body if this parameter is provided, or none of the parameters + "all_fields," "fields", "exclude_fields", "exclude_default" are provided: + - vnfConfigurableProperties + - vimConnectionInfo + - instantiatedVnfInfo + - metadata + - extensions + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the + VNFM if the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 + for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 8c35998d6151641d33f6ba527730b89554698dc8 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:20:46 +0200 Subject: [PATCH 076/122] SOL003_19: New parameter "nextpage_opaque_marker" in request : GET method on "vnf_lcm_op_occs" ressource + Filter implementation --- .../VNFLifecycleManagement.yaml | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 8b164279..02b37f15 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1071,6 +1071,61 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the VnfLcmOpOcc and in data + types referenced from it shall be supported by the VNFM in the + filter expression. + in: query + required: false + type: string + - name: all_fields + description: > + Include all complex attributes in the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + in: query + required: false + type: string + - name: fields + description: > + Complex attributes to be included into the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + The following attributes shall be excluded from the VnfLcmOpOcc structure + in the response body if this parameter is provided, or none of the parameters + "all_fields," "fields", "exclude_fields", "exclude_default" are provided: + - vnfConfigurableProperties + - vimConnectionInfo + - instantiatedVnfInfo + - metadata + - extensions + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the + VNFM if the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 + for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 646c904e660a5ce023b628d7cd05fb770f03ee86 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:25:28 +0200 Subject: [PATCH 077/122] SOL003_21: New parameter "nextpage_opaque_marker" in request : GET method on "subscriptions" ressource + Filter implementation --- .../VNFLifecycleManagement.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 02b37f15..49f10525 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1651,6 +1651,25 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the LccnSubscription and in + data types referenced from it shall be supported by the VNFM + in the filter expression. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the VNFM if the VNFM supports alternative 2 (paging) + according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 9fa2b821a9c9ee2043eade0e7d29a419f5c116c1 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:28:59 +0200 Subject: [PATCH 078/122] SOL003_45: New parameter "nextpage_opaque_marker" in request : GET method on "pm_jobs" ressource + Filter implementation --- .../VNFPerformanceManagement.yaml | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 912d1c84..7c121adc 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -137,6 +137,57 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the PmJob and in data + types referenced from it shall be supported by the VNFM in the + filter expression. + in: query + required: false + type: string + - name: all_fields + description: > + Include all complex attributes in the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + in: query + required: false + type: string + - name: fields + description: > + Complex attributes to be included into the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + The following attributes shall be excluded from the PmJob structure + in the response body if this parameter is provided, or none of the parameters + "all_fields," "fields", "exclude_fields", "exclude_default" are provided: + - Reports + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the + VNFM if the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 + for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 6f2c5c089e40137977bff5127d5aaf1c7f840060 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:31:34 +0200 Subject: [PATCH 079/122] SOL003_47: New parameter "nextpage_opaque_marker" in request : GET method on "thresholds" ressource + Filter implementation --- .../VNFPerformanceManagement.yaml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 7c121adc..18bc4054 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -535,6 +535,29 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the Thresholds and in + data types referenced from it shall be supported by the VNFM + in the filter expression. + + NOTE: There are no attribute selectors defined for this resource as + the threshold attributes with cardinality 0..1 or 0..N are not + structurally complex in nature. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the VNFM if the VNFM supports alternative 2 (paging) + according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 72c73ba95fcb9cc52609b0d96c97b15c88b1b113 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:33:12 +0200 Subject: [PATCH 080/122] SOL003_49: New parameter "nextpage_opaque_marker" in request : GET method on "subscriptions" ressource + Filter implementation --- .../VNFPerformanceManagement.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 18bc4054..2aa0a208 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -847,6 +847,25 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the PmSubscription and in + data types referenced from it shall be supported by the VNFM + in the filter expression. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the VNFM if the VNFM supports alternative 2 (paging) + according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From f394584f58577dddc3e1b3afe197cebd7d01d0f2 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:39:36 +0200 Subject: [PATCH 081/122] SOL003_69: New parameter "nextpage_opaque_marker" in request : GET method on subscriptions" ressource + Filter implementation --- .../VNFFaultManagement.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 313c30d4..7168ac3d 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -398,6 +398,25 @@ paths: in: header required: true type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the FmSubscription and in + data types referenced from it shall be supported by the VNFM + in the filter expression. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the VNFM if the VNFM supports alternative 2 (paging) + according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 838994286a46125a296eecce4c3db66db5e1c20b Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:41:30 +0200 Subject: [PATCH 082/122] SOL003_79: New parameter "nextpage_opaque_marker" in request : GET method on "indicators" ressource + Filter implementation --- src/SOL003/VNFIndicator/VNFIndicator.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index ae204ac5..bc8b95da 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -64,6 +64,25 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the VnfIndicator and in + data types referenced from it shall be supported by the VNFM + in the filter expression. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the VNFM if the VNFM supports alternative 2 (paging) + according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From c08211c9c9dc494f342ce17536d664d388261b52 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:42:43 +0200 Subject: [PATCH 083/122] SOL003_79: New parameter "nextpage_opaque_marker" in request : GET method on "indicators" ressource + Filter implementation --- src/SOL003/VNFIndicator/VNFIndicator.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index bc8b95da..d083858d 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -170,6 +170,25 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the VnfIndicator and in + data types referenced from it shall be supported by the VNFM + in the filter expression. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the VNFM if the VNFM supports alternative 2 (paging) + according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 16a32569bb1551438295242569f6de52622abb89 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:44:07 +0200 Subject: [PATCH 084/122] SOL003_83: New parameter "nextpage_opaque_marker" in request : GET method on "subscriptions" ressource + Filter implementation --- src/SOL003/VNFIndicator/VNFIndicator.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index d083858d..1a542c80 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -453,6 +453,25 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the VnfIndicatorSubscription + and in data types referenced from it shall be supported by the + VNFM in the filter expression. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the VNFM if the VNFM supports alternative 2 (paging) + according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 3a87343ab169a195d9a2adc716e5dd65f75c10b7 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:47:04 +0200 Subject: [PATCH 085/122] SOL003_95: New parameter "nextpage_opaque_marker" in request : GET method on "vnf_packages" ressource + Filter implementation --- .../VNFPackageManagement.yaml | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 2ba11fdf..3d95443c 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -66,6 +66,59 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the VnfPkgInfo and in data + types referenced from it shall be supported by the VNFM in the + filter expression. + in: query + required: false + type: string + - name: all_fields + description: > + Include all complex attributes in the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + in: query + required: false + type: string + - name: fields + description: > + Complex attributes to be included into the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. + See clause 4.3.3 for details. The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the response. + See clause 4.3.3 for details. The VNFM shall support this parameter. + The following attributes shall be excluded from the VnfPkgInfo structure + in the response body if this parameter is provided, or none of the parameters + "all_fields," "fields", "exclude_fields", "exclude_default" are provided: + - softwareImages + - additionalArtifacts + - userDefinedData. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the + VNFM if the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 + for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 06b80aedfdb831696d9ed76813657fa06e11f4a8 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:49:02 +0200 Subject: [PATCH 086/122] SOL003_99: New parameter "nextpage_opaque_marker" in request : GET method on "vnf_packages" ressource + Filter implementation --- .../VNFPackageManagement.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 3d95443c..b905c2c5 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -735,6 +735,25 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the PkgmSubscription and in + data types referenced from it shall be supported by the VNFM in + the filter expression. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the VNFM if the VNFM supports alternative 2 (paging) + according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 200: description: > -- GitLab From 09012df08f48aff934631b5f0778a620cafba782 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 2 Apr 2019 10:51:32 +0200 Subject: [PATCH 087/122] SOL003_108: New parameter "nextpage_opaque_marker" in request : GET method on "subscriptions" ressource + Filter implementation --- ...edResourcesQuotaAvailableNotification.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 13c9fc21..4844ca7e 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -149,6 +149,25 @@ paths: in: header required: false type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the + URI query string. The NFVO may supply this parameter. + All attribute names that appear in the VrQuotaAvailSubscription + and in data types referenced from it shall be supported by the + VNFM in the filter expression. + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the VNFM if the VNFM supports alternative 2 (paging) + according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string responses: 204: description: > -- GitLab From 8326543735fd0dddd0668c8015549298ae2a0da7 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 4 Apr 2019 19:31:50 +0200 Subject: [PATCH 088/122] SOL003_114 SOL003_115 SOL003_116 : 200 Response description has been updated in some GET methods (VNF LCM interface) --- .../VNFLifecycleManagement.yaml | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 49f10525..f14ee8a0 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -206,8 +206,13 @@ paths: OK Information about zero or more VNF instances was queried - successfully. The response body shall contain - representations of zero or more VNF instances. + successfully. The response body shall contain in an array + the representations of zero or more VNF instances, as defined + in clause 5.5.2.2. + If the VNFM supports alternative 2 (paging) according to + clause 4.7.2.1 for this resource, inclusion of the Link + HTTP header in this response shall follow the provisions + in clause 4.7.2.3. headers: Content-Type: description: The MIME type of the body of the response. @@ -1133,8 +1138,12 @@ paths: Status information for zero or more VNF lifecycle management operation occurrences was queried successfully. The response body - shall contain status information about zero or more VNF lifecycle - operation occurrences. + shall contain in an array the status information about zero or + more VNF lifecycle operation occurrences. + If the VNFM supports alternative 2 (paging) according to + clause 4.7.2.1 for this resource, inclusion of the Link + HTTP header in this response shall follow the provisions + in clause 4.7.2.3. headers: Content-Type: description: The MIME type of the body of the response. @@ -1676,8 +1685,14 @@ paths: OK The list of subscriptions was queried successfully. The response - body shall contain the representations of all active subscriptions - of the functional block that invokes the method. + body shall contain the in an array representations of all active + subscriptions of the functional block that invokes the method, + i.e. zero or more representations of lifecycle change notification + subscriptions as defined in clause 5.5.2.16. + If the VNFM supports alternative 2 (paging) according to + clause 4.7.2.1 for this resource, inclusion of the Link + HTTP header in this response shall follow the provisions + in clause 4.7.2.3. headers: Content-Type: description: The MIME type of the body of the response. -- GitLab From 42d3017e6430f7bd0c8527be336b0f91f84e91eb Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 4 Apr 2019 19:44:44 +0200 Subject: [PATCH 089/122] SOL003_117 SOL003_118 SOL003_119: 200 Response description has been updated in some GET methods (VNF Performance interface) --- .../VNFPerformanceManagement.yaml | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 2aa0a208..98567669 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -194,8 +194,12 @@ paths: OK Information about zero or more PM jobs was queried successfully. - The response body shall contain representations of zero or more PM - jobs. + The response body shall contain in an array representations of + zero or more PM jobs, as defined in clause 6.5.2.7. + If the VNFM supports alternative 2 (paging) according to + clause 4.7.2.1 for this resource, inclusion of the Link + HTTP header in this response shall follow the provisions + in clause 4.7.2.3. headers: Content-Type: description: > @@ -565,8 +569,12 @@ paths: Information about zero or more thresholds was queried successfully. - The response body shall contain representations of zero - or more thresholds. + The response body shall contain in an array representations + of zero or more thresholds, as defined in 6.5.2.9. + If the VNFM supports alternative 2 (paging) according to + clause 4.7.2.1 for this resource, inclusion of the Link + HTTP header in this response shall follow the provisions + in clause 4.7.2.3. headers: Location: description: The resource URI of the created VNF instance @@ -872,8 +880,14 @@ paths: OK The list of subscriptions was queried successfully. - The response body shall contain the representations of all active - subscriptions of the functional block that invokes the method. + The response body shall contain in an array the representations + of all active subscriptions of the functional block that invokes + the method, i.e. zero or more representations of PM subscriptions + as defined in 6.5.2.3. + If the VNFM supports alternative 2 (paging) according to + clause 4.7.2.1 for this resource, inclusion of the Link + HTTP header in this response shall follow the provisions + in clause 4.7.2.3. headers: Content-Type: description: > -- GitLab From da08b02cc0925c2ffe1252d4df5ff02aba9f661c Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 4 Apr 2019 19:50:37 +0200 Subject: [PATCH 090/122] SOL003_120 SOL003_121: 200 Response description has been updated in some GET methods (VNF Fault Management interface) --- .../VNFFaultManagement/VNFFaultManagement.yaml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 7168ac3d..7157e4a2 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -91,8 +91,12 @@ paths: description: > OK - The request has succeeded. - The response body shall contain the list of related alarms. + Information about zero or more alarms was queried successfully. + The response body shall contain in an array the representations + of zero or more alarms as defined in clause 7.5.2.4. + If the VNFM supports alternative 2 (paging) according to clause + 4.7.2.1 for this resource, inclusion of the Link HTTP header in + this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: > @@ -423,8 +427,13 @@ paths: OK The list of subscriptions was queried successfully. The response - body shall contain the representations of all active - subscriptions of the functional block that invokes the method. + body shall contain in an array the representations of all active + subscriptions of the functional block that invokes the method, + i.e. zero or more representations of FM subscriptions as defined + in clause 7.5.2.3. + If the VNFM supports alternative 2 (paging) according to clause + 4.7.2.1 for this resource, inclusion of the Link HTTP header in + this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: > -- GitLab From 58961dc4b707c44148f44818ed4657eae2fd94ec Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 4 Apr 2019 19:57:57 +0200 Subject: [PATCH 091/122] SOL003_122 SOL003_123 SOL003_124: 200 Response description has been updated in some GET methods (VNF Indicator interface) --- src/SOL003/VNFIndicator/VNFIndicator.yaml | 36 ++++++++++++++++------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 1a542c80..b6d375cd 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -88,9 +88,15 @@ paths: description: > OK - The list of VNF indicators was queried successfully. - The response body shall contain the representations of all VNF - indicators that match the attribute filter. + Information about zero or more VNF indicators was queried + successfully. + The response body shall contain in an array the representations + of all VNF indicators that match the attribute filter, i.e. + zero or more representations of VNF indicators as defined in + clause 8.5.2.2. + If the VNFM supports alternative 2 (paging) according to clause + 4.7.2.1 for this resource, inclusion of the Link HTTP header in + this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: > @@ -194,10 +200,15 @@ paths: description: > OK - The list of VNF indicators was queried successfully. - The response body shall contain the representations of all VNF - indicators that are related to the particular VNF instance and - that match the attribute filter. + Information about zero or more VNF indicators was queried + successfully. + The response body shall contain in an array the representations + of all VNF indicators that are related to the particular VNF + instance and that match the attribute filter, i.e. zero or more + representations of VNF indicators as defined in clause 8.5.2.2. + If the VNFM supports alternative 2 (paging) according to clause + 4.7.2.1 for this resource, inclusion of the Link HTTP header in + this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: > @@ -478,9 +489,14 @@ paths: OK The list of subscriptions was queried successfully. - The response body shall contain the representations of all active - subscriptions of the functional block that invokes the method - which match the attribute filter. + The response body shall contain in an array the representations + of all active subscriptions of the functional block that invokes + the method which match the attribute filter, i.e. zero or more + representations of VNF indicator subscriptions as defined in + clause 8.5.2.4. + If the VNFM supports alternative 2 (paging) according to clause + 4.7.2.1 for this resource, inclusion of the Link HTTP header in + this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: > -- GitLab From f09c25d5a0acaa8bd1b2cce7cde0e16a0204e25b Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Apr 2019 19:47:34 +0200 Subject: [PATCH 092/122] SOL003_125 SOL003_126: 200 Response description has been updated in some GET methods (VNF Package Management interface) --- .../VNFPackageManagement.yaml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index b905c2c5..5f9aaef2 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -124,7 +124,13 @@ paths: description: > OK - Information of the selected VNF packages. + Information about zero or more VNF packages was queried successfully. + The response body shall contain in an array the VNF package info + representations that match the attribute filter, i.e. zero or more + VNF package representations as defined in clause 10.5.2.2. + If the VNFM supports alternative 2 (paging) according to clause + 4.7.2.1 for this resource, inclusion of the Link HTTP header in + this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: The MIME type of the body of the response. @@ -759,8 +765,14 @@ paths: description: > OK - Active subscriptions of the functional block that invokes the - method. + The list of subscriptions was queried successfully. + The representations body shall contain in an array the representations + of all active subscriptions of the functional block that invokes the + method , i.e. zero or more representations of VNF package Management + subscriptions as defined in clause 10.5.2.4. + If the VNFM supports alternative 2 (paging) according to clause + 4.7.2.1 for this resource, inclusion of the Link HTTP header in + this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: The MIME type of the body of the response. -- GitLab From 730763d6e6430d31199764700481422c55122da6 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Apr 2019 19:58:13 +0200 Subject: [PATCH 093/122] SOL003_127: 200 Response has been added in GET method on "subscriptions" ressource (Virtualized Resources Quota Available Notification interface) --- ...edResourcesQuotaAvailableNotification.yaml | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 4844ca7e..6b6bcddb 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -169,6 +169,36 @@ paths: required: false type: string responses: + 200: + description: > + OK + + The list of subscriptions was queried successfully. + The representations body shall contain in an array the representations + of all active subscriptions of the functional block that invokes the + method, i.e. zero or more representations of virtualized resource quota + available subscriptions as defined in clause 11.5.2.3. + If the VNFM supports alternative 2 (paging) according to clause + 4.7.2.1 for this resource, inclusion of the Link HTTP header in + this response shall follow the provisions in clause 4.7.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + schema: + type: array + items: + $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription" 204: description: > No Content -- GitLab From 43e7c51ca4a69182974d814270c8ed47b46842dc Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 10 Apr 2019 05:42:40 +0200 Subject: [PATCH 094/122] SOL003: Added version header in request and responses --- .../VNFFaultManagement.yaml | 54 +++++ .../VNFFaultManagementNotification.yaml | 72 ++++++ src/SOL003/VNFIndicator/VNFIndicator.yaml | 84 +++++++ .../VNFIndicatorNotification.yaml | 24 ++ .../VNFLifecycleManagement.yaml | 216 ++++++++++++++++++ .../VNFLifecycleManagementNotification.yaml | 36 +++ .../VNFLifecycleOperationGranting.yaml | 24 ++ .../VNFPackageManagement.yaml | 120 ++++++++++ .../VNFPackageManagementNotification.yaml | 48 ++++ .../VNFPerformanceManagement.yaml | 156 +++++++++++++ .../VNFPerformanceManagementNotification.yaml | 48 ++++ ...edResourcesQuotaAvailableNotification.yaml | 30 +++ ...uotaAvailableNotificationNotification.yaml | 27 +++ 13 files changed, 939 insertions(+) diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 7157e4a2..54b20dc0 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -86,6 +86,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -163,6 +169,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -231,6 +243,12 @@ paths: required: true type: string enum: ["application/merge-patch+json"] + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -324,6 +342,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: > @@ -421,6 +445,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -513,6 +543,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -537,6 +573,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" 400: @@ -567,6 +609,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -583,6 +631,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 7998261a..c623c505 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -74,6 +74,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -90,6 +96,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -116,6 +128,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -132,6 +150,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -181,6 +205,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -197,6 +227,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -223,6 +259,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -239,6 +281,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -288,6 +336,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -304,6 +358,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -330,6 +390,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -346,6 +412,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index b6d375cd..9c97d653 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -83,6 +83,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -113,6 +119,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -195,6 +207,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -225,6 +243,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -296,6 +320,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -320,6 +350,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: @@ -384,6 +420,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: > @@ -414,6 +456,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -483,6 +531,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -517,6 +571,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -579,6 +639,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -603,6 +669,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" 400: @@ -640,6 +712,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -656,6 +734,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 67455142..ce3fc67b 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -66,6 +66,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -82,6 +88,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -108,6 +120,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -124,6 +142,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index f14ee8a0..3307ed8a 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -79,6 +79,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: A VNF Instance identifier was created successfully @@ -100,6 +106,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: @@ -200,6 +212,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -227,6 +245,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -296,6 +320,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -318,6 +348,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: @@ -375,6 +411,12 @@ paths: required: true type: string enum: ["application/merge-patch+json"] + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location-empty" @@ -413,6 +455,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -430,6 +478,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" 401: @@ -501,6 +555,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: description: > @@ -525,6 +585,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -597,6 +663,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" @@ -670,6 +742,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" @@ -742,6 +820,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" @@ -813,6 +897,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" @@ -884,6 +974,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" @@ -955,6 +1051,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" @@ -1028,6 +1130,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" @@ -1131,6 +1239,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -1158,6 +1272,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: @@ -1218,6 +1338,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -1241,6 +1367,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: @@ -1291,6 +1423,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" @@ -1342,6 +1480,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" @@ -1400,6 +1544,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -1422,6 +1572,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: @@ -1473,6 +1629,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 202: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" @@ -1569,6 +1731,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: > @@ -1596,6 +1764,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 303: @@ -1621,6 +1795,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1679,6 +1859,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -1707,6 +1893,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: @@ -1785,6 +1977,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -1807,6 +2005,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: @@ -1839,6 +2043,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -1855,6 +2065,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index eda2225d..1b4d70aa 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -70,6 +70,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -85,6 +91,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -134,6 +146,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -149,6 +167,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -198,6 +222,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -213,6 +243,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index 62b6a73b..dcf2ee4b 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -78,6 +78,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: > @@ -106,6 +112,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" 202: @@ -212,6 +224,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -234,6 +252,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" 202: diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 5f9aaef2..d714ddaf 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -119,6 +119,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -145,6 +151,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -203,6 +215,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -223,6 +241,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" 400: @@ -306,6 +330,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -335,6 +365,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -403,6 +439,12 @@ paths: whole file with a 200 OK response instead. in: header type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -427,6 +469,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 206: description: > Partial Content @@ -458,6 +506,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -535,6 +589,12 @@ paths: whole file with a 200 OK response instead. in: header type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -566,6 +626,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 206: description: > Partial Content @@ -597,6 +663,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -668,6 +740,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: > @@ -694,6 +772,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -760,6 +844,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -787,6 +877,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -846,6 +942,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -866,6 +968,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 400: @@ -900,6 +1008,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -915,6 +1029,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 517ef879..b5949ea4 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -71,6 +71,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -86,6 +92,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -112,6 +124,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -128,6 +146,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -175,6 +199,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -190,6 +220,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -216,6 +252,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -232,6 +274,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 98567669..7189158d 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -78,6 +78,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: > @@ -100,6 +106,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" 400: @@ -188,6 +200,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -216,6 +234,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -271,6 +295,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -295,6 +325,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" 400: @@ -325,6 +361,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -341,6 +383,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -392,6 +440,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -417,6 +471,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" 400: @@ -473,6 +533,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: > @@ -502,6 +568,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: @@ -562,6 +634,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -595,6 +673,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -650,6 +734,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -674,6 +764,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: @@ -704,6 +800,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -720,6 +822,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -784,6 +892,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: > @@ -814,6 +928,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" 303: @@ -874,6 +994,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -904,6 +1030,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -959,6 +1091,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -982,6 +1120,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" 400: @@ -1012,6 +1156,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -1028,6 +1178,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 163097ea..73d8c47e 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -73,6 +73,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -88,6 +94,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -114,6 +126,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -129,6 +147,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -177,6 +201,12 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -192,6 +222,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -218,6 +254,12 @@ paths: in: header required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > @@ -233,6 +275,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 6b6bcddb..6d5cbeaf 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -88,6 +88,12 @@ paths: required: true schema: $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscriptionRequest" + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 201: description: > @@ -114,6 +120,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription" 303: @@ -168,6 +180,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -195,6 +213,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -214,6 +238,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml index f80576eb..2634b811 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml @@ -71,12 +71,25 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > No Content The notification was delivered successfully. + headers: + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -97,12 +110,26 @@ paths: description: > The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: description: > No Content The notification was delivered successfully. + headers: + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: -- GitLab From 2f6f9979cdf2266df132098cc4f5d4a4ecd4b0c2 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 10 Apr 2019 05:54:12 +0200 Subject: [PATCH 095/122] SOL003: Added "API Version" end point --- .../VNFFaultManagement.yaml | 51 +++++++++++++++++++ src/SOL003/VNFIndicator/VNFIndicator.yaml | 51 +++++++++++++++++++ .../VNFLifecycleManagement.yaml | 51 +++++++++++++++++++ .../VNFLifecycleOperationGranting.yaml | 51 +++++++++++++++++++ .../VNFPackageManagement.yaml | 51 +++++++++++++++++++ .../VNFPerformanceManagement.yaml | 51 +++++++++++++++++++ ...edResourcesQuotaAvailableNotification.yaml | 51 +++++++++++++++++++ 7 files changed, 357 insertions(+) diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 54b20dc0..703696de 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -39,6 +39,57 @@ produces: - "application/json" paths: +############################################################################### +# API Versions # +############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # Alarms # ############################################################################### diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 9c97d653..0c84251f 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -38,6 +38,57 @@ produces: - "application/json" paths: +############################################################################### +# API Versions # +############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # VNF indicators # ############################################################################### diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 3307ed8a..4ec47e36 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -39,6 +39,57 @@ produces: - "application/json" paths: +############################################################################### +# API Versions # +############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # VNF instances # ############################################################################### diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index dcf2ee4b..f961c165 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -39,6 +39,57 @@ produces: - "application/json" paths: +############################################################################### +# API Versions # +############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # Resource: Grants # ############################################################################### diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index d714ddaf..b99c01d1 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -39,6 +39,57 @@ produces: - "application/json" paths: +############################################################################### +# API Versions # +############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # VNF packages # ############################################################################### diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 7189158d..df6973a0 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -39,6 +39,57 @@ produces: - "application/json" paths: +############################################################################### +# API Versions # +############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # PM jobs # ############################################################################### diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 6d5cbeaf..80600e75 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -39,6 +39,57 @@ produces: - "application/json" paths: +############################################################################### +# API Versions # +############################################################################### + '/api-versions': + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + ############################################################################### # Subscriptions # ############################################################################### -- GitLab From 308a56c811e39520188abc5f15aa8fe0a4570cb2 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 10 Apr 2019 06:03:30 +0200 Subject: [PATCH 096/122] SOL003: Added "Link" header in response to GET methods with filters --- .../VNFFaultManagement.yaml | 24 +++++++++++++++++++ src/SOL003/VNFIndicator/VNFIndicator.yaml | 18 ++++++++++++++ .../VNFLifecycleManagement.yaml | 18 ++++++++++++++ .../VNFPackageManagement.yaml | 12 ++++++++++ .../VNFPerformanceManagement.yaml | 18 ++++++++++++++ ...edResourcesQuotaAvailableNotification.yaml | 6 +++++ 6 files changed, 96 insertions(+) diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 703696de..36431222 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -162,6 +162,18 @@ paths: type: string maximum: 1 minimum: 1 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: $ref: "../definitions/SOL003_def.yaml#/definitions/Alarm" 400: @@ -531,6 +543,18 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" 400: diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 0c84251f..867a6dd4 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -176,6 +176,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -300,6 +306,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -628,6 +640,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 4ec47e36..d79d51d0 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -302,6 +302,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -1329,6 +1335,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: @@ -1950,6 +1962,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index b99c01d1..6c3fb629 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -208,6 +208,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -934,6 +940,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index df6973a0..070861ab 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -291,6 +291,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -730,6 +736,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -1087,6 +1099,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 80600e75..d7efe2ba 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -270,6 +270,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: -- GitLab From 724fee2d07c2cddc5ea6073c2d578a9862b7b078 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 10 Apr 2019 06:11:35 +0200 Subject: [PATCH 097/122] SOL003_90/91: Minimum cardinality of resource attribute set to 2 in "PlacementConstraint" and "VimConstraint" --- .../definitions/VNFLifecycleOperationGranting_def.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml index 298d4c0a..d59e8571 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml @@ -526,6 +526,7 @@ definitions: description: > References to resources in the constraint rule. type: array + minItems: 2 items: $ref: "#/definitions/ConstraintResourceRef" @@ -685,6 +686,7 @@ definitions: are part of the same infrastructure resource group in that VIM connection. type: array + minItems: 2 items: $ref: "#/definitions/ConstraintResourceRef" -- GitLab From 11542aeb8c008c792bb9957486db79595181f27f Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 10 Apr 2019 12:23:10 +0200 Subject: [PATCH 098/122] updates related to SOL002_5 and SOL002_6 --- src/SOL002/APIVersion/APIVersion.yaml | 14 +- .../VNFConfiguration/VNFConfiguration.yaml | 34 ++- .../responses/VNFConfiguration_resp.yaml | 5 + .../VNFFaultManagement.yaml | 26 +-- .../responses/VNFFaultManagement_resp.yaml | 5 + src/SOL002/VNFIndicator/VNFIndicator.yaml | 20 +- .../VNFIndicatorNotification.yaml | 26 ++- .../VNFIndicatorNotification_resp.yaml | 5 + .../VNFLifecycleManagement.yaml | 193 ++++++++++++++++++ .../VNFLifecycleManagement_resp.yaml | 30 +++ .../VNFPerformanceManagement.yaml | 16 +- src/responses/SOL002SOL003_resp.yaml | 121 +++++++++++ 12 files changed, 433 insertions(+), 62 deletions(-) diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index 19e20c81..1a313177 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -30,19 +30,19 @@ paths: # API Versions # ############################################################################### '/api-versions': + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string get: summary: Retrieve API version information description: > The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string responses: 200: description: > diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index e9f9110b..951d7b5c 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -30,19 +30,19 @@ paths: # API Versions # ############################################################################### '/api-versions': + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: summary: Retrieve API version information description: > The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string responses: 200: description: > @@ -81,17 +81,17 @@ paths: # VNF Configuration # ############################################################################### '/configuration': + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string 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. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string responses: 200: description: > @@ -138,12 +138,6 @@ paths: in: body schema: $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications' - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string responses: 200: description: > diff --git a/src/SOL002/VNFConfiguration/responses/VNFConfiguration_resp.yaml b/src/SOL002/VNFConfiguration/responses/VNFConfiguration_resp.yaml index 89938b31..5f625c85 100644 --- a/src/SOL002/VNFConfiguration/responses/VNFConfiguration_resp.yaml +++ b/src/SOL002/VNFConfiguration/responses/VNFConfiguration_resp.yaml @@ -12,5 +12,10 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 8d45bc6a..dbd67885 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -40,19 +40,19 @@ paths: # API Versions # ############################################################################### '/api-versions': + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: summary: Retrieve API version information description: > The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string responses: 200: description: > @@ -97,7 +97,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: description: > @@ -235,7 +235,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: description: > @@ -384,7 +384,7 @@ paths: 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" ############################################################################### - # Escalate Perceived Severity task # + # Escalate Perceived Severity task # ############################################################################### '/alarms/{alarmId}/escalate': #SOL002 location: 7.4.4 @@ -393,7 +393,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string post: description: > @@ -456,7 +456,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string post: description: > @@ -674,7 +674,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: description: > diff --git a/src/SOL002/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml b/src/SOL002/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml index 30c373f3..8439306f 100644 --- a/src/SOL002/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml +++ b/src/SOL002/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml @@ -27,5 +27,10 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 0860429a..fe4fd7b7 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -2,7 +2,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: "SOL002 - VNF Indicator interface" description: > VNF Indicator interface of ETSI NFV SOL002. @@ -23,8 +23,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnfind/v1 @@ -49,7 +49,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: summary: Retrieve API version information @@ -100,7 +100,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: summary: Query multiple indicators @@ -202,7 +202,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: summary: Query multiple indicators related to a VNF instance. @@ -315,7 +315,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: summary: Read an inidividual VNF indicator related to a VNF instance. @@ -368,7 +368,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: summary: Read an inidividual VNF indicator related to a VNF instance. @@ -412,7 +412,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string post: summary: Create a new subscription to VNF indicator change notifications @@ -556,7 +556,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: summary: Read an individual subscription. diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 34c984c6..b78ce697 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: "SOL002 - VNF Indicator Notification Endpoint interface" description: > VNF Indicator Notification Endpoint interface of ETSI NFV SOL002 @@ -22,9 +22,7 @@ externalDocs: description: ETSI GS NFV-SOL 002 V2.4.1 url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf -basePath: /callback/v1 - -schemes: +schemes: - http - https @@ -38,6 +36,13 @@ produces: paths: /notificationendpoint: + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: summary: Notification endpoint description: > @@ -59,6 +64,13 @@ paths: No Content The notification was delivered successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } @@ -83,6 +95,12 @@ paths: No Content The notification endpoint was tested successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } diff --git a/src/SOL002/VNFIndicatorNotification/responses/VNFIndicatorNotification_resp.yaml b/src/SOL002/VNFIndicatorNotification/responses/VNFIndicatorNotification_resp.yaml index 89938b31..5f625c85 100644 --- a/src/SOL002/VNFIndicatorNotification/responses/VNFIndicatorNotification_resp.yaml +++ b/src/SOL002/VNFIndicatorNotification/responses/VNFIndicatorNotification_resp.yaml @@ -12,5 +12,10 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 6f30655a..741ab470 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -39,6 +39,13 @@ paths: # API Versions # ############################################################################### '/api-versions': + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: summary: Retrieve API version information description: > @@ -83,6 +90,13 @@ paths: ############################################################################### '/vnf_instances': #SOL003 location: 5.4.2 + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: #TODO: Add headers defined in 4.3.4.2 description: "The POST method creates a new VNF instance resource." @@ -138,6 +152,11 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: @@ -268,6 +287,11 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: type: array items: @@ -308,6 +332,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: description: > Information about an individual VNF instance was queried successfully. @@ -333,6 +363,11 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: @@ -415,6 +450,11 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" 401: @@ -451,6 +491,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: #SOL003 location: 5.4.4.3.1 description: > @@ -484,6 +530,11 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: @@ -522,6 +573,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: #SOL003 location: 5.4.5.3.1 description: > @@ -571,6 +628,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: #SOL003 location: 5.4.6.3.1 description: > @@ -621,6 +684,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method changes the deployment flavour of a VNF instance. @@ -668,6 +737,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method terminates a VNF instance. @@ -715,6 +790,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method requests to heal a VNF instance resource. @@ -762,6 +843,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method changes the operational state of a VNF instance resource. @@ -810,6 +897,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method changes the external connectivity of a VNF instance. @@ -847,6 +940,13 @@ paths: ############################################################################### '/vnf_lcm_op_occs': #SOL003 location: 5.4.12 + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: description: > The client can use this method to query status information about @@ -928,6 +1028,12 @@ paths: in: query required: false type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > @@ -953,6 +1059,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + schema: schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: @@ -990,6 +1102,12 @@ paths: in: path required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: description: > The client can use this method to retrieve status information about a @@ -1019,6 +1137,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + schema: schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: @@ -1056,6 +1180,12 @@ paths: in: path required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method initiates retrying a VNF lifecycle operation if that @@ -1099,6 +1229,12 @@ paths: in: path required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method initiates rolling back a VNF lifecycle operation if @@ -1142,6 +1278,12 @@ paths: in: path required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method marks a VNF lifecycle management operation occurrence @@ -1169,6 +1311,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + schema: schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: @@ -1206,6 +1354,12 @@ paths: in: path required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method initiates cancelling an ongoing VNF lifecycle @@ -1252,6 +1406,12 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + schema: schema: $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 500: @@ -1263,6 +1423,13 @@ paths: ############################################################################### '/subscriptions': #SOL003 location: 5.4.18 + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: description: > The POST method creates a new subscription. @@ -1301,6 +1468,11 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: @@ -1380,6 +1552,11 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: @@ -1436,6 +1613,12 @@ paths: in: path type: string required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: description: > The GET method retrieves information about a subscription by reading @@ -1462,6 +1645,11 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: @@ -1499,6 +1687,11 @@ paths: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml b/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml index 92e8da02..c64c51b8 100644 --- a/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml +++ b/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml @@ -29,6 +29,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 409-another-lcm-operation-ongoing: @@ -55,6 +60,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 409-inconsistent-state: @@ -78,6 +88,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 409-state-conflict-INSTANTIATED: @@ -104,6 +119,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 409-state-conflict-not-FAILED_TEMP: @@ -129,6 +149,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 409-state-conflict-NOT-INSTANTIATED: @@ -156,5 +181,10 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 859878d6..8e50b39e 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -45,7 +45,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: summary: Retrieve API version information @@ -97,7 +97,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string post: description: > @@ -342,7 +342,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: description: > @@ -478,7 +478,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: description: > @@ -553,7 +553,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string post: description: > @@ -765,7 +765,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: description: > @@ -891,7 +891,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string post: description: > @@ -1101,7 +1101,7 @@ paths: description: > Version of the API requested to use when responding to this request. in: header - required: false + required: true type: string get: description: > diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index 350b9a9b..c7d4efcf 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -18,6 +18,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 202-with-Location: description: > Accepted @@ -46,6 +51,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 303: description: > See Other @@ -56,6 +66,12 @@ responses: The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty. + headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: description: > Bad Request @@ -97,6 +113,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 400-attr-based-filtering-error: @@ -134,6 +155,11 @@ responses: authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 400-attr-selector: @@ -171,6 +197,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 401: @@ -198,6 +229,11 @@ responses: type: string maximum: 1 minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 403: @@ -215,6 +251,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 404: @@ -234,6 +275,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 404-task-resource-not-exists: @@ -261,6 +307,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 404-task-resource-not-exists-VNF-LCM: @@ -282,6 +333,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 404-task-not-suported: @@ -304,6 +360,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 404-task-not-suported-VNF-LCM: @@ -327,6 +388,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 405: @@ -342,6 +408,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 406: @@ -358,6 +429,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 412: @@ -375,6 +451,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 413: @@ -392,6 +473,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 414: @@ -408,6 +494,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" @@ -424,6 +515,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 422: @@ -445,6 +541,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 429: @@ -466,6 +567,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" @@ -486,6 +592,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 503: @@ -503,6 +614,11 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 504: @@ -518,5 +634,10 @@ responses: type: string maximum: 1 minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file -- GitLab From ad8ea6b07f448014c5b6a52490f475b3f4356f01 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 10 Apr 2019 12:46:51 +0200 Subject: [PATCH 099/122] added notification endpoints for SOL002 FM, PM, LCM --- .../VNFFaultManagementNotification.yaml | 431 ++++++++++++++++++ .../VNFLifecycleManagementNotification.yaml | 267 +++++++++++ ...NFLifecycleManagementNotification_def.yaml | 177 +++++++ .../VNFPerformanceManagementNotification.yaml | 295 ++++++++++++ 4 files changed, 1170 insertions(+) create mode 100644 src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml create mode 100644 src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml create mode 100644 src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml create mode 100644 src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml new file mode 100644 index 00000000..a0557d3b --- /dev/null +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -0,0 +1,431 @@ +swagger: "2.0" + +info: + version: "1.2.0" + 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. In case of + discrepancies the published ETSI Group Specification takes precedence. + + + In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based + filtering mechanism is defined. This mechanism is currently not + included in the corresponding OpenAPI design for this GS version. Changes + to the attribute-based filtering mechanism are being considered in v2.5.1 + of this GS for inclusion in the corresponding future ETSI NFV OpenAPI + design. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 002 V2.4.1 + url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + +basePath: "/callback/v1" + +schemes: + - https + +consumes: + - "application/json" +produces: + - "application/json" + +paths: +############################################################################### +# Notification endpoint AlarmNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification': + post: + description: > + Notify + + + The POST method notifies a VNF alarm or that the alarm list has been + rebuilt. + parameters: + - name: AlarmNotification + description: > + Information of a VNF alarm. + in: body + required: true + schema: + $ref: "../definitions/SOL003_def.yaml#/definitions/AlarmNotification" + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The Content-Type header shall be set to + "application/merge-patch+json" according to + IETF RFC 7396. + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification was delivered successfully. + The response body shall be empty. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification endpoint was tested successfully. + The response body shall be empty. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Notification endpoint AlarmClearedNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification': + post: + description: > + Notify + + + The POST method notifies a VNF alarm or that the alarm list has been + rebuilt. + parameters: + - name: AlarmClearedNotification + description: > + Information of the clearance of a VNF alarm + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmClearedNotification" + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The Content-Type header shall be set to + "application/merge-patch+json" according to + IETF RFC 7396. + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification was delivered successfully. + The response body shall be empty. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification endpoint was tested successfully. + The response body shall be empty. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Notification endpoint AlarmListRebuiltNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification': + post: + description: > + Notify + + + The POST method notifies a VNF alarm or that the alarm list has been + rebuilt. + parameters: + - name: AlarmListRebuiltNotification + description: > + Information that the alarm list has been rebuilt by the VNFM + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmListRebuiltNotification" + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The Content-Type header shall be set to + "application/merge-patch+json" according to + IETF RFC 7396. + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification was delivered successfully. + The response body shall be empty. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification endpoint was tested successfully. + The response body shall be empty. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml new file mode 100644 index 00000000..4afe1057 --- /dev/null +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -0,0 +1,267 @@ +swagger: "2.0" + +info: + version: "1.2.0" + 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. In case of + discrepancies the published ETSI Group Specification takes precedence. + + + In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based + filtering mechanism is defined. This mechanism is currently not + included in the corresponding OpenAPI design for this GS version. Changes + to the attribute-based filtering mechanism are being considered in v2.5.1 + of this GS for inclusion in the corresponding future ETSI NFV OpenAPI + design. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 002 V2.4.1 + url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + +basePath: "/callback/v1" + +schemes: + - https + +consumes: + - "application/json" +produces: + - "application/json" + +paths: +############################################################################### +# Notification endpoint VnfLcmOperationOccurrenceNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfLcmOperationOccurrenceNotification': + post: + description: > + Notify + + + The POST method delivers a notification from the server to the client. + parameters: + - name: VnfLcmOperationOccurrenceNotification + description: A notification about on-boarding of a VNF package. + in: body + required: true + schema: + $ref: "definitions/VNFLifecycleManagementNotification_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification" + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification was delivered successfully. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Notification endpoint VnfIdentifierCreationNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierCreationNotification': + post: + description: > + Notify + + + The POST method delivers a notification from the server to the client. + parameters: + - name: VnfIdentifierCreationNotification + description: > + A notification about the creation of a VNF identifier and the + related VNF instance resource. + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierCreationNotification" + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification was delivered successfully. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Notification endpoint VnfIdentifierDeletionNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierDeletionNotification': + post: + description: > + Notify + + + The POST method delivers a notification from the server to the client. + parameters: + - name: VnfIdentifierDeletionNotification + description: > + A notification about the deletion of a VNF identifier and the + related VNF instance resource. + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierDeletionNotification" + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification was delivered successfully. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" diff --git a/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml b/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml new file mode 100644 index 00000000..c056eb58 --- /dev/null +++ b/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml @@ -0,0 +1,177 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + VnfLcmOperationOccurrenceNotification: + description: > + This type represents a VNF lifecycle management operation occurrence + notification, which informs the receiver of changes in the VNF + lifecycle caused by a VNF LCM operation occurrence. The support of the + notification is mandatory. + This notification shall be triggered by the VNFM when there is a change + in the VNF lifecycle caused by a VNF LCM operation occurrence, + including: + * Instantiation of the VNF + * Scaling of the VNF instance (including auto-scaling) + * Healing of the VNF instance (including auto-healing) + * Change of the state of the VNF instance (i.e. Operate VNF) + * Change of the deployment flavour of the VNF instance + * Change of the external connectivity of the VNF instance + * Termination of the VNF instance + * Modification of VNF instance information and/or VNF configurable + properties through the "PATCH" method on the "Individual VNF instance" + resource. + If this is the initial notification about the start of a VNF LCM + operation occurrence, it is assumed that the notification is sent by the + VNFM before any action (including sending the grant request) is taken as + part of the LCM operation. Due to possible race conditions, the "start" + notification, the grant request and the LCM operation acknowledgment can + arrive in any order at the NFVO, and the NFVO shall be able to handle + such a situation. + If this is a notification about a final or intermediate result state of + a VNF LCM operation occurrence, the notification shall be sent after + all related actions of the LCM operation that led to this state have + been executed. The new state shall be set in the VnfLcmOpOcc resource + before the notification about the state change is sent. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - notificationStatus + - operationState + - vnfInstanceId + - operation + - isAutomaticInvocation + - vnfLcmOpOccId + - _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 + "VnfLcmOperationOccurrenceNotification" for this notification type. + type: string + enum: + - VnfLcmOperationOccurrenceNotification + 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" + notificationStatus: + description: > + Indicates whether this notification reports about the start of a + lifecycle operation or the result of a lifecycle operation. + Permitted values: + * START: Informs about the start of the VNF LCM operation + occurrence. + * RESULT: Informs about the final or intermediate result of the VNF + LCM operation occurrence. + type: string + enum: + - START + - RESULT + operationState: + description: > + The state of the VNF LCM operation occurrence. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" + vnfInstanceId: + description: > + The identifier of the VNF instance affected. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + The lifecycle management operation. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" + isAutomaticInvocation: + description: > + Set to true if this VNF LCM operation occurrence has been triggered + by an automated procedure inside the VNFM + (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf + triggered by auto-heal). + Set to false otherwise. + type: boolean + vnfLcmOpOccId: + description: > + The identifier of the VNF lifecycle management operation occurrence + associated to the notification. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + 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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" + 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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + changed VNF configurable properties. + Shall be present if the "notificationStatus" is set to "RESULT" 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/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if this + notification represents the result of a lifecycle operation + occurrence. Shall be present if the "notificationStatus" is set to + "RESULT" and the "operation" is set to "CHANGE_EXT_CONN". + Shall be absent otherwise. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + error: + description: > + Details of the latest error, if one has occurred during executing + the LCM operation. Shall be present if the "operationState" + attribute is "FAILED_TEMP" or "FAILED", and shall be absent + otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + _links: + description: > + Links to resources related to this notification. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks" diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml new file mode 100644 index 00000000..00979358 --- /dev/null +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -0,0 +1,295 @@ +swagger: "2.0" + +info: + version: "1.2.0" + 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. In case of + discrepancies the published ETSI Group Specification takes precedence. + + + In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based + filtering mechanism is defined. This mechanism is currently not + included in the corresponding OpenAPI design for this GS version. Changes + to the attribute-based filtering mechanism are being considered in v2.5.1 + of this GS for inclusion in the corresponding future ETSI NFV OpenAPI + design. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 002 V2.4.1 + url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + +basePath: "/callback/v1" + +schemes: + - https + +consumes: + - "application/json" +produces: + - "application/json" + +paths: +############################################################################### +# Notification endpoint PerformanceInformationAvailableNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-PerformanceInformationAvailableNotification': + post: + description: > + Notify + + + The POST method delivers a notification regarding a performance + management event from the server to the client. + parameters: + - name: PerformanceInformationAvailableNotification + description: > + Notification about performance information availability. + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification" + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification was delivered successfully. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification endpoint was tested successfully. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +############################################################################### +# Notification endpoint ThresholdCrossedNotification # +############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-ThresholdCrossedNotification': + post: + description: > + Notify + + + The POST method delivers a notification regarding a performance + management event from the server to the client. + parameters: + - name: ThresholdCrossedNotification + description: > + Notification about performance information availability. + in: body + required: true + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdCrossedNotification" + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification was delivered successfully. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + No Content + + The notification endpoint was tested successfully. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -- GitLab From 0f42dc904b82260cf0c4d2cba3bbdab071b8c23d Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 10 Apr 2019 18:42:26 +0200 Subject: [PATCH 100/122] updated api-versions endpoint openapi: put common structure of path and referenced in other openapis --- src/SOL002/APIVersion/APIVersion.yaml | 62 +++++-------------- .../VNFConfiguration/VNFConfiguration.yaml | 47 +------------- .../VNFFaultManagement.yaml | 53 ++-------------- src/SOL002/VNFIndicator/VNFIndicator.yaml | 47 +------------- .../VNFLifecycleManagement.yaml | 54 ++-------------- .../VNFPerformanceManagement.yaml | 53 ++-------------- src/SOL003/APIVersion/APIVersion.yaml | 50 +++++++++++++++ .../VNFFaultManagement.yaml | 53 ++-------------- src/SOL003/VNFIndicator/VNFIndicator.yaml | 53 ++-------------- .../VNFLifecycleManagement.yaml | 53 ++-------------- .../VNFLifecycleOperationGranting.yaml | 53 ++-------------- .../VNFPackageManagement.yaml | 53 ++-------------- .../VNFPerformanceManagement.yaml | 53 ++-------------- ...edResourcesQuotaAvailableNotification.yaml | 53 ++-------------- src/definitions/SOL002SOL003_def.yaml | 1 - src/endpoints/SOL002SOL003_endpoints.yaml | 51 +++++++++++++++ 16 files changed, 158 insertions(+), 631 deletions(-) create mode 100644 src/SOL003/APIVersion/APIVersion.yaml create mode 100644 src/endpoints/SOL002SOL003_endpoints.yaml diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index 1a313177..b3d4344b 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -17,7 +17,6 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf -basePath: /{apiName} schemes: - http - https @@ -29,50 +28,17 @@ paths: ############################################################################### # API Versions # ############################################################################### - '/api-versions': - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + '/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 diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 951d7b5c..18bcb6da 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -30,52 +30,7 @@ paths: # API Versions # ############################################################################### '/api-versions': - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # VNF Configuration # diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index dbd67885..fe93435f 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -36,56 +36,11 @@ produces: paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # Alarms # diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index fe4fd7b7..2831b5f7 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -44,52 +44,7 @@ paths: # API Versions # ############################################################################### '/api-versions': - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # VNF Indicators # diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 741ab470..ffa6e8a5 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -35,56 +35,12 @@ produces: paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + ############################################################################### # VNF instances # ############################################################################### diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 8e50b39e..f5f1d921 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -36,56 +36,11 @@ produces: paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # PM jobs # diff --git a/src/SOL003/APIVersion/APIVersion.yaml b/src/SOL003/APIVersion/APIVersion.yaml new file mode 100644 index 00000000..678e2ddb --- /dev/null +++ b/src/SOL003/APIVersion/APIVersion.yaml @@ -0,0 +1,50 @@ +swagger: "2.0" +info: + version: "1.2.0" + 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 + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: "NFV-SOL WG" +externalDocs: + description: ETSI GS NFV-SOL 003 V2.5.1 + url: +schemes: + - http + - https +consumes: + - application/json +produces: + - application/json +paths: + ############################################################################### + # API Versions # + ############################################################################### + '/vrqan/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' + + '/grant/api-versions': + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + + '/vnfpkgm/api-versions': + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' \ No newline at end of file diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 36431222..3643c48b 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -39,56 +39,11 @@ produces: - "application/json" paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # Alarms # diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 867a6dd4..f20cfa2b 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -38,56 +38,11 @@ produces: - "application/json" paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # VNF indicators # diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index d79d51d0..e8c36e26 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -39,56 +39,11 @@ produces: - "application/json" paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # VNF instances # diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index f961c165..98266d78 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -39,56 +39,11 @@ produces: - "application/json" paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # Resource: Grants # diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 6c3fb629..e1271bf7 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -39,56 +39,11 @@ produces: - "application/json" paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # VNF packages # diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 070861ab..ec9b5c8c 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -39,56 +39,11 @@ produces: - "application/json" paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # PM jobs # diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index d7efe2ba..5dfd146f 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -39,56 +39,11 @@ produces: - "application/json" paths: -############################################################################### -# API Versions # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### '/api-versions': - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow the provisions specified in - table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not - supported. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string - responses: - 200: - description: > - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. - schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # Subscriptions # diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index d3f6897f..5871c894 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -905,4 +905,3 @@ definitions: - diff --git a/src/endpoints/SOL002SOL003_endpoints.yaml b/src/endpoints/SOL002SOL003_endpoints.yaml new file mode 100644 index 00000000..ee687823 --- /dev/null +++ b/src/endpoints/SOL002SOL003_endpoints.yaml @@ -0,0 +1,51 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +endpoints: + api-versions: + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } -- GitLab From 9f7e5918919d133e2c6e3d2a8d00adb2bc78cdc6 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Mon, 15 Apr 2019 16:17:16 +0200 Subject: [PATCH 101/122] SOL002/SOL003: API verions interface updated --- src/endpoints/SOL002SOL003_endpoints.yaml | 31 +++++++++++------------ 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/endpoints/SOL002SOL003_endpoints.yaml b/src/endpoints/SOL002SOL003_endpoints.yaml index ee687823..c8f9899c 100644 --- a/src/endpoints/SOL002SOL003_endpoints.yaml +++ b/src/endpoints/SOL002SOL003_endpoints.yaml @@ -1,6 +1,5 @@ # Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt - endpoints: api-versions: parameters: @@ -23,7 +22,7 @@ endpoints: The response body shall contain 4.4 API version information, as defined in clause 4.4.1.13. schema: - $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' + $ref: '../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' headers: Content-Type: description: The MIME type of the body of the response. @@ -35,17 +34,17 @@ endpoints: type: string maximum: 1 minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + 400: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/406' } + 413: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/413' } + 414: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/414' } + 416: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/422' } + 429: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/429' } + 500: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/503' } + 504: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/504' } \ No newline at end of file -- GitLab From 00c72a4c0a78d256249cb7e6eb13cd5752e87104 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Tue, 16 Apr 2019 18:23:56 +0200 Subject: [PATCH 102/122] SOL002: fixes in notification interfaces references across files --- .../VNFFaultManagementNotification.yaml | 2 +- .../VNFPerformanceManagement.yaml | 2 +- .../SOL002SOL003VNFFaultManagement_def.yaml | 164 ++++++++++++++++++ 3 files changed, 166 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index a0557d3b..2fb863a6 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -57,7 +57,7 @@ paths: in: body required: true schema: - $ref: "../definitions/SOL003_def.yaml#/definitions/AlarmNotification" + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmNotification" - name: Authorization description: > The authorization token for the request. diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index f5f1d921..4a4d6798 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: "SOL002 - VNF Configuration interface" description: > VNF Configuration interface of ETSI NFV SOL002 diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml index 019be228..4ff2e571 100644 --- a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -2,6 +2,170 @@ # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: + Alarm: + description: > + The alarm data type encapsulates information about an alarm. + type: object + required: + - id + - managedObjectId + - rootCauseFaultyResource + - alarmRaisedTime + - ackState + - perceivedSeverity + - eventTime + - eventType + - probableCause + - isRootCause + - _links + properties: + id: + description: > + Identifier of this Alarm information element. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + managedObjectId: + description: > + Identifier of the affected VNF instance. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + rootCauseFaultyResource: + description: > + The virtualised resources that are causing the VNF fault. + $ref: "#/definitions/FaultyResourceInfo" + alarmRaisedTime: + description: > + Time stamp indicating when the alarm is raised by the managed + object. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + alarmChangedTime: + description: > + Time stamp indicating when the alarm was last changed. It shall be + present if the alarm has been updated. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + alarmClearedTime: + description: > + Time stamp indicating when the alarm was cleared. It shall be + present if the alarm has been cleared. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + ackState: + description: > + Acknowledgement state of the alarm. + Permitted values: + * UNACKNOWLEDGED + * ACKNOWLEDGED. + type: string + enum: + - UNACKNOWLEDGED + - ACKNOWLEDGED + perceivedSeverity: + description: > + Perceived severity of the managed object failure. + $ref: "#/definitions/PerceivedSeverityType" + eventTime: + description: > + Time stamp indicating when the fault was observed. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + eventType: + description: > + Type of event. + $ref: "#/definitions/EventType" + faultType: + description: > + Additional information to clarify the type of the fault. + type: string + probableCause: + description: > + Information about the probable cause of the fault. + type: string + isRootCause: + description: > + Attribute indicating if this fault is the root for other correlated + alarms. If true, then the alarms listed in the attribute + CorrelatedAlarmId are caused by this fault. + type: boolean + correlatedAlarmIds: + description: > + List of identifiers of other alarms correlated to this fault. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + faultDetails: + description: > + Provides additional information about the fault. + type: array + items: + type: string + _links: + description: > + Links for this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "SOL002SOL003_def.yaml#/definitions/Link" + objectInstance: + description: > + Link to the resource representing the VNF instance to which the + notified alarm is correlated. Shall be present if the VNF + instance information is accessible as a resource. + $ref: "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: "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: "SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "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: "SOL002SOL003_def.yaml#/definitions/NotificationLink" + AlarmClearedNotification: description: > This type represents an alarm cleared notification about VNF faults. -- GitLab From b3a64ddfb3e693067be864a50923852c864144d8 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Wed, 17 Apr 2019 14:59:34 +0200 Subject: [PATCH 103/122] SOL002/SOL003: test commit for jenkins --- src/definitions/SOL002SOL003_def.yaml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 5871c894..bb6b2e04 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -898,10 +898,4 @@ definitions: This attribute may be included if the value of the isDeprecated attribute is set to true and shall be absent otherwise. - $ref: "#/definitions/DateTime" - - - - - - + $ref: "#/definitions/DateTime" \ No newline at end of file -- GitLab From f79c7e9e2d2066fa723e734a8436bc3e3088fec1 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Fri, 19 Apr 2019 10:46:34 +0200 Subject: [PATCH 104/122] SOL002/SOL003: fixes in OpenAPI versions --- src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml | 4 ++-- .../VNFFaultManagementNotification.yaml | 4 ++-- src/SOL002/VNFIndicator/VNFIndicator.yaml | 1 - .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 4 ++-- .../VNFLifecycleManagement/VNFLifecycleManagement.yaml | 6 +++--- .../VNFLifecycleManagementNotification.yaml | 4 ++-- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 4 ++-- .../VNFPerformanceManagementNotification.yaml | 4 ++-- src/SOL003/APIVersion/APIVersion.yaml | 2 +- src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml | 6 +++--- .../VNFFaultManagementNotification.yaml | 6 +++--- src/SOL003/VNFIndicator/VNFIndicator.yaml | 6 +++--- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 6 +++--- .../VNFLifecycleManagement/VNFLifecycleManagement.yaml | 6 +++--- .../VNFLifecycleManagementNotification.yaml | 6 +++--- .../VNFLifecycleOperationGranting.yaml | 6 +++--- src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml | 6 +++--- .../VNFPackageManagementNotification.yaml | 6 +++--- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 6 +++--- .../VNFPerformanceManagementNotification.yaml | 6 +++--- .../VirtualisedResourcesQuotaAvailableNotification.yaml | 6 +++--- ...isedResourcesQuotaAvailableNotificationNotification.yaml | 6 +++--- 22 files changed, 55 insertions(+), 56 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index fe93435f..25af314f 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -19,8 +19,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnffm/v1 diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 2fb863a6..a64128b0 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/callback/v1" diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 2831b5f7..c86cc831 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -1,4 +1,3 @@ - swagger: "2.0" info: diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index b78ce697..2dc58822 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -19,8 +19,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf schemes: - http diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index ffa6e8a5..209535b4 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: "SOL002 - VNF Configuration interface" description: > VNF Configuration interface of ETSI NFV SOL002 @@ -18,8 +18,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnflcm/v1 diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 4afe1057..67a3dddb 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/callback/v1" diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 4a4d6798..1e3a0e91 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -19,8 +19,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnfpm/v1 diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 00979358..b9ec1e4e 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf + description: ETSI GS NFV-SOL 002 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/callback/v1" diff --git a/src/SOL003/APIVersion/APIVersion.yaml b/src/SOL003/APIVersion/APIVersion.yaml index 678e2ddb..5f3eb5b4 100644 --- a/src/SOL003/APIVersion/APIVersion.yaml +++ b/src/SOL003/APIVersion/APIVersion.yaml @@ -16,7 +16,7 @@ info: name: "NFV-SOL WG" externalDocs: description: ETSI GS NFV-SOL 003 V2.5.1 - url: + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf schemes: - http - https diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 3643c48b..c8cf416c 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Fault Management interface description: > SOL003 - VNF Fault Management interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/vnffm/v1" diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index c623c505..1c21cf0a 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Fault Management Notification interface description: > SOL003 - VNF Fault Management Notification interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/callback/v1" diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index f20cfa2b..45c40a2a 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Indicator interface description: > SOL003 - VNF Indicator interface @@ -24,8 +24,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/vnfind/v1" diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index ce3fc67b..10179344 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Indicator Notification interface description: > SOL003 - VNF Indicator Notification interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/callback/v1" diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index e8c36e26..5f4f8b5d 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Lifecycle Management interface description: > SOL003 - VNF Lifecycle Management interface definition @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/vnflcm/v1" diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 1b4d70aa..b5742d7b 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Lifecycle Management Notification interface description: > SOL003 - VNF Lifecycle Management Notification interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/callback/v1" diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index 98266d78..5fae16b4 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Lifecycle Operation Granting interface description: > SOL003 - VNF Lifecycle Operation Granting interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/grant/v1" diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index e1271bf7..290c845e 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Package Management interface description: > SOL003 - VNF Package Management interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/vnfpkgm/v1" diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index b5949ea4..d22516d6 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Package Management Notification interface description: > SOL003 - VNF Package Management Notification interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/callback/v1" diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index ec9b5c8c..dafbe5e0 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Performance Management interface description: > SOL003 - VNF Performance Management interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/vnfpm/v1" diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 73d8c47e..054c6951 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - VNF Performance Management Notification interface description: > SOL003 - VNF Performance Management Notification interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/callback/v1" diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 5dfd146f..89e3f861 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - Virtualised Resources Quota Available Notification interface description: > SOL003 - Virtualised Resources Quota Available Notification interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/vrqan/v1" diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml index 2634b811..498ad698 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.1.1" + version: "1.2.0" title: SOL003 - Virtualised Resources Quota Available Notification Notification interface description: > SOL003 - Virtualised Resources Quota Available Notification Notification interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf + description: ETSI GS NFV-SOL 003 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: "/callback/v1" -- GitLab From abaff410df3992dd2d237b3fdf8d5edcf3579215 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 23 Apr 2019 17:24:47 +0200 Subject: [PATCH 105/122] fixed usage of Link HTTP Header in SOL002 responses --- .../VNFFaultManagement.yaml | 13 +++++++++- src/SOL002/VNFIndicator/VNFIndicator.yaml | 18 ++++++++++++++ .../VNFLifecycleManagement.yaml | 9 ++++++- .../VNFPerformanceManagement.yaml | 24 +++++++++++++++---- 4 files changed, 57 insertions(+), 7 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 25af314f..3492ebd5 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -152,7 +152,12 @@ paths: type: string maximum: 1 minimum: 0 - + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: $ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/Alarm" 400: @@ -591,6 +596,12 @@ paths: type: string maximum: 1 minimum: 0 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" 400: diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index c86cc831..b46d6f42 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -123,6 +123,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -228,6 +234,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -487,6 +499,12 @@ paths: type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 209535b4..d026b8d2 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1016,10 +1016,17 @@ paths: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + The used API version. type: string maximum: 1 minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 1e3a0e91..4ca780b2 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -259,6 +259,12 @@ paths: type: string maximum: 1 minimum: 0 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -563,7 +569,7 @@ paths: maximum: 1 minimum: 1 Location: - description: The resource URI of the created VNF instance + description: The resource URI of the created threshold type: string format: url WWW-Authenticate: @@ -670,10 +676,6 @@ paths: type: string maximum: 1 minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -682,6 +684,12 @@ paths: type: string maximum: 1 minimum: 0 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: @@ -1019,6 +1027,12 @@ paths: type: string maximum: 1 minimum: 0 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 schema: type: array items: -- GitLab From 2338309077d5fedc67da5e4e24b4f6ad1a8fd685 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Tue, 7 May 2019 15:01:58 +0200 Subject: [PATCH 106/122] SOL002: VNF Lifecycle mgmt interface consolidated + error codes fixed --- .../VNFFaultManagement.yaml | 4 +- .../VNFLifecycleManagement.yaml | 1138 ++++++++++++++--- .../VNFLifecycleManagement_resp.yaml | 190 --- .../VNFLifecycleManagementNotification.yaml | 6 +- .../VNFPerformanceManagement.yaml | 6 +- .../VNFPerformanceManagementNotification.yaml | 6 +- src/SOL003/VNFIndicator/VNFIndicator.yaml | 6 +- .../VNFLifecycleManagement.yaml | 92 +- .../VNFLifecycleManagementNotification.yaml | 6 +- .../VNFPackageManagement.yaml | 4 +- .../VNFPerformanceManagement.yaml | 6 +- src/definitions/SOL002SOL003_def.yaml | 534 ++++---- src/responses/SOL002SOL003_resp.yaml | 640 ++++----- 13 files changed, 1583 insertions(+), 1055 deletions(-) delete mode 100644 src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 3492ebd5..c5838c71 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -161,7 +161,7 @@ paths: schema: $ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/Alarm" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -605,7 +605,7 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index d026b8d2..a6a0b6de 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -2,23 +2,21 @@ swagger: "2.0" info: version: "1.2.0" - title: "SOL002 - VNF Configuration interface" + title: "SOL002 - VNF Lifecycle Management Interface" description: > - VNF Configuration interface of ETSI NFV SOL002 - + VNF Lifecycle Management Interface of ETSI NFV SOL002 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/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.5.1 + description: "ETSI GS NFV-SOL 002 V2.5.1" url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnflcm/v1 @@ -33,7 +31,6 @@ consumes: produces: - application/json - paths: ############################################################################### # API Versions # @@ -41,9 +38,9 @@ paths: '/api-versions': $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' -############################################################################### -# VNF instances # -############################################################################### + ############################################################################### + # VNF instances # + ############################################################################### '/vnf_instances': #SOL003 location: 5.4.2 parameters: @@ -53,12 +50,21 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: #TODO: Add headers defined in 4.3.4.2 - description: "The POST method creates a new VNF instance resource." + description: > + The POST method creates a new VNF instance resource. parameters: - name: createVnfRequest - description: The VNF creation parameters + description: > + The VNF creation parameters, as defined in clause 5.5.2.3. in: body required: true schema: @@ -70,13 +76,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: Content-Type description: > The MIME type of the body of the request. @@ -86,22 +85,29 @@ paths: type: string responses: 201: - description: A VNF Instance identifier was created successfully + description: > + 201 CREATED + + A VNF Instance identifier was created successfully. + The response body shall contain a representation of the created VNF instance, as defined in clause 5.5.2.2. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created VNF instance. headers: #TODO: Add headers defined in 4.3.4.3 Content-Type: - description: The MIME type of the body of the response. + description: > + The MIME type of the body of the response. type: string maximum: 1 minimum: 1 Location: - description: The resource URI of the created VNF instance + description: > + The resource URI of the created VNF instance type: string format: url + maximum: 1 + minimum: 1 WWW-Authenticate: description: > - Created - Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. @@ -109,7 +115,8 @@ paths: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + The used API version. type: string maximum: 1 minimum: 1 @@ -127,16 +134,18 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" 416: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" 422: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > The GET method queries information about multiple VNF instances. @@ -148,13 +157,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: filter description: > Attribute-based filtering expression according to clause 4.3.2. @@ -224,7 +226,7 @@ paths: responses: 200: description: > - OK + 200 OK Information about zero or more VNF instances was queried successfully. The response body shall contain in an array the @@ -253,7 +255,7 @@ paths: items: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -264,17 +266,22 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" 416: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual VNF instance # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual VNF instance # + ############################################################################### '/vnf_instances/{vnfInstanceId}': #SOL003 location: 5.4.3.2 parameters: @@ -294,13 +301,20 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > Information about an individual VNF instance was queried successfully. responses: 200: description: > - OK + 200 OK Information about zero or more VNF instances was queried successfully. The response body shall contain @@ -338,14 +352,18 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" 416: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" patch: #SOL003 location: 5.4.3.3.4 description: > @@ -364,9 +382,44 @@ paths: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + On success, the HTTP response shall include a "Location" HTTP header that contains + the URI of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + The response body shall be empty. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Location: + description: > + Used in redirection, or when a new resource has been created. + This header field shall be present if the response status code is 201 or 3xx. + In the present document this header field is also used if the response status + code is 202 and a new resource was created. + type: string + format: url + maximum: 1 + minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -378,13 +431,36 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-another-lcm-operation-ongoing" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state + of the VNF instance resource. + Typically, this is due to the fact that another LCM operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" + attribute should convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" 412: +# description: > +# 412 PRECONDITION FAILED +# +# Error: A precondition given in an HTTP request header is not fulfilled. +# Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. +# The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey +# more information about the error. $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: #SOL003 location: 5.4.3.3.5 description: > @@ -392,7 +468,7 @@ paths: responses: 204: description: > - No Content + 204 NO CONTENT The VNF instance resource and the associated VNF identifier were deleted successfully. @@ -412,7 +488,7 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -424,16 +500,30 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED" - 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Instantiate VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Instantiate VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/instantiate': #SOL003 location: 5.4.4.2 parameters: @@ -453,6 +543,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: #SOL003 location: 5.4.4.3.1 description: > @@ -465,13 +562,14 @@ paths: schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" responses: - 200: + 202: description: > - OK + 202 ACCEPTED - Information about zero or more VNF instances was queried - successfully. The response body shall contain - representations of zero or more VNF instances. + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. headers: Content-Type: description: The MIME type of the body of the response. @@ -491,8 +589,16 @@ paths: type: string maximum: 1 minimum: 1 - schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + Location: + description: > + Used in redirection, or when a new resource has been created. + This header field shall be present if the response status code is 201 or 3xx. + In the present document this header field is also used if the response status + code is 202 and a new resource was created. + type: string + format: url + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -506,16 +612,30 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" 416: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Scale VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Scale VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/scale': #SOL003 location: 5.4.5.2 parameters: @@ -535,6 +655,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: #SOL003 location: 5.4.5.3.1 description: > @@ -549,7 +676,42 @@ paths: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Location: + description: > + Used in redirection, or when a new resource has been created. + This header field shall be present if the response status code is 201 or 3xx. + In the present document this header field is also used if the response status + code is 202 and a new resource was created. + type: string + format: url + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -557,20 +719,37 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state, + or that another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Scale VNF to Level task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Scale VNF to Level task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/scale_to_level': #SOL003 location: 5.4.6.2 parameters: @@ -590,6 +769,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: #SOL003 location: 5.4.6.3.1 description: > @@ -604,7 +790,42 @@ paths: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Location: + description: > + Used in redirection, or when a new resource has been created. + This header field shall be present if the response status code is 201 or 3xx. + In the present document this header field is also used if the response status + code is 202 and a new resource was created. + type: string + format: url + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -612,20 +833,37 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state, + or that another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Change VNF Flavour task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Change VNF Flavour task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/change_flavour': #SOL003 location: 5.4.7.2 parameters: @@ -646,6 +884,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method changes the deployment flavour of a VNF instance. @@ -658,7 +903,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Location: + description: > + Used in redirection, or when a new resource has been created. + This header field shall be present if the response status code is 201 or 3xx. + In the present document this header field is also used if the response status + code is 202 and a new resource was created. + type: string + format: url + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -666,20 +946,37 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state, + or that another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Terminate VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Terminate VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/terminate': #SOL003 location: 5.4.8.2 parameters: @@ -699,6 +996,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method terminates a VNF instance. @@ -711,7 +1015,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Location: + description: > + Used in redirection, or when a new resource has been created. + This header field shall be present if the response status code is 201 or 3xx. + In the present document this header field is also used if the response status + code is 202 and a new resource was created. + type: string + format: url + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -725,14 +1064,31 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state, + or that another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Heal VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Heal VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/heal': #SOL003 location: 5.4.9.2 parameters: @@ -752,6 +1108,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method requests to heal a VNF instance resource. @@ -764,7 +1127,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Location: + description: > + Used in redirection, or when a new resource has been created. + This header field shall be present if the response status code is 201 or 3xx. + In the present document this header field is also used if the response status + code is 202 and a new resource was created. + type: string + format: url + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -772,20 +1170,37 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state, + or that another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Operate VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Operate VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/operate': #SOL003 location: 5.4.9.2 parameters: @@ -805,6 +1220,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method changes the operational state of a VNF instance resource. @@ -817,7 +1239,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Location: + description: > + Used in redirection, or when a new resource has been created. + This header field shall be present if the response status code is 201 or 3xx. + In the present document this header field is also used if the response status + code is 202 and a new resource was created. + type: string + format: url + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -825,21 +1282,38 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state, + or that another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Change external VNF connectivity task # -############################################################################### - '/vnf_instances/{vnfInstanceId}/change_ext_vls': + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Change external VNF connectivity task # + ############################################################################### + '/vnf_instances/{vnfInstanceId}/change_ext_conn': #SOL003 location: 5.4.9.2 parameters: - name: vnfInstanceId @@ -859,6 +1333,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method changes the external connectivity of a VNF instance. @@ -872,7 +1353,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Location: + description: > + Used in redirection, or when a new resource has been created. + This header field shall be present if the response status code is 201 or 3xx. + In the present document this header field is also used if the response status + code is 202 and a new resource was created. + type: string + format: url + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -886,14 +1402,30 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-another-lcm-operation-ongoing" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact that another lifecycle management operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# VNF LCM operation occurrences # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # VNF LCM operation occurrences # + ############################################################################### '/vnf_lcm_op_occs': #SOL003 location: 5.4.12 parameters: @@ -903,6 +1435,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method to query status information about @@ -984,16 +1523,10 @@ paths: in: query required: false type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: description: > - OK + 200 OK Status information for zero or more VNF lifecycle management operation occurrences was queried successfully. The response body shall contain in an array the status information about zero or more VNF lifecycle @@ -1042,15 +1575,22 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual VNF LCM operation occurrence # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual VNF LCM operation occurrence # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}': #SOL003 location: 5.4.13 parameters: @@ -1071,6 +1611,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method to retrieve status information about a @@ -1079,7 +1626,7 @@ paths: responses: 200: description: > - OK + 200 OK Information about an individual VNF instance was queried successfully. The response body shall contain status @@ -1105,7 +1652,6 @@ paths: type: string maximum: 1 minimum: 1 - schema: schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: @@ -1120,15 +1666,22 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Retry operation task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Retry operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry': #SOL003 location: 5.4.14 parameters: @@ -1149,6 +1702,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method initiates retrying a VNF lifecycle operation if that @@ -1156,7 +1716,26 @@ paths: "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was accepted for processing, but processing has not been completed. + The response shall have an empty payload body. + headers: + #TODO: Add headers defined in 4.3.4.3 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1164,20 +1743,38 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of + the VNF LCM operation occurrence resource. + Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state + or another error handling action is starting such as rollback or fail. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Rollback operation task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Rollback operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback': #SOL003 location: 5.4.15 parameters: @@ -1198,6 +1795,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method initiates rolling back a VNF lifecycle operation if @@ -1205,7 +1809,26 @@ paths: "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was accepted for processing, but processing has not been completed. + The response shall have an empty payload body. + headers: + #TODO: Add headers defined in 4.3.4.3 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1213,20 +1836,38 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of + the VNF LCM operation occurrence resource. + Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state + or another error handling action is starting such as rollback or fail. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Fail operation task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Fail operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail': #SOL003 location: 5.4.16 parameters: @@ -1247,6 +1888,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method marks a VNF lifecycle management operation occurrence @@ -1255,7 +1903,7 @@ paths: responses: 200: description: > - OK + 200 OK The state of the VNF lifecycle management operation occurrence was changed successfully. The response shall include a representation @@ -1289,20 +1937,38 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of + the VNF LCM operation occurrence resource. + Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state + or another error handling action is starting such as rollback or fail. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Cancel operation task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Cancel operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel': #SOL003 location: 5.4.17 parameters: @@ -1323,6 +1989,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method initiates cancelling an ongoing VNF lifecycle @@ -1331,36 +2004,13 @@ paths: "ROLLING_BACK" state. responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF LCM operation occurrence resource. - Typically, this is due to the fact that the operation occurrence - is not in STARTING, PROCESSING or ROLLING_BACK state. - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute shall convey more information about - the error. + description: > + 202 ACCEPTED + + The request was accepted for processing, but processing has not been completed. + The response shall have an empty payload body. headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + #TODO: Add headers defined in 4.3.4.3 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -1374,16 +2024,45 @@ paths: type: string maximum: 1 minimum: 1 - schema: - schema: - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 409: + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of + the VNF LCM operation occurrence resource. + Typically, this is due to the fact that the operation occurrence is not in STARTING, + PROCESSING or ROLLING_BACK state. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Subscriptions # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': #SOL003 location: 5.4.18 parameters: @@ -1393,6 +2072,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method creates a new subscription. @@ -1407,7 +2093,7 @@ paths: responses: 201: description: > - Created + 201 CREATED The subscription was created successfully. The response body shall contain a representation of the created subscription resource. @@ -1438,6 +2124,16 @@ paths: minimum: 1 schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" + 303: + description: > + 303 SEE OTHER + + A subscription with the same callbackURI and the same filter already exists and the policy of the VNFM + is to not create redundant subscriptions. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing + subscription resource. + The response body shall be empty. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1445,15 +2141,23 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > The GET method queries the list of active subscriptions of the @@ -1495,7 +2199,7 @@ paths: responses: 200: description: > - OK + 200 OK The list of subscriptions was queried successfully. The response body shall contain in an array the representations of all active subscriptions @@ -1523,46 +2227,33 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: - description: > - Bad Request - - Invalid attribute-based filtering parameters. - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual subscription # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': #SOL003 location: 5.4.19 parameters: @@ -1582,6 +2273,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The GET method retrieves information about a subscription by reading @@ -1589,7 +2287,7 @@ paths: responses: 200: description: > - OK + 200 OK The operation has completed successfully. The response body shall contain a representation of the @@ -1622,22 +2320,30 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: description: > The DELETE method terminates an individual subscription. responses: 204: description: > - No Content + 204 NO CONTENT The subscription resource was deleted successfully. The response body shall be empty. @@ -1662,12 +2368,20 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file diff --git a/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml b/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml deleted file mode 100644 index c64c51b8..00000000 --- a/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml +++ /dev/null @@ -1,190 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt - -responses: - 202-with-Location: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" - 409-another-lcm-operation-ongoing: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the VNF instance resource. - Typically, this is due to the fact that another LCM operation is - ongoing. - The response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 409-inconsistent-state: - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of - the current request, or the current resource state is inconsistent - with the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-INSTANTIATED: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the VNF instance resource. - Typically, this is due to the fact that the VNF instance resource is in - INSTANTIATED state. - The response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-not-FAILED_TEMP: - description: > - The operation cannot be executed currently, due to a conflict with the - state of the VNF instance resource. - Typically, this is due to the fact that the VNF instance resource is - not in FAILED_TEMP state, or another error handling action is starting, - such as rollback or fail. - The response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-NOT-INSTANTIATED: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the VNF instance resource. - Typically, this is due to the fact that the VNF instance resource is in - NOT-INSTANTIATED state, or that another lifecycle management operation - is ongoing. - The response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 67a3dddb..a36f444e 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -104,7 +104,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: @@ -180,7 +180,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: @@ -256,7 +256,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 4ca780b2..0e182f69 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -270,7 +270,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -695,7 +695,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -1038,7 +1038,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index b9ec1e4e..0cb68bd2 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -28,15 +28,15 @@ externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf -basePath: "/callback/v1" +basePath: /callback/v1 schemes: - https consumes: - - "application/json" + - application/json produces: - - "application/json" + - application/json paths: ############################################################################### diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 45c40a2a..060e356a 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -142,7 +142,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -272,7 +272,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -606,7 +606,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 5f4f8b5d..e9bdf478 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -268,7 +268,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -433,7 +433,7 @@ paths: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location-empty" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -497,7 +497,7 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -691,7 +691,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -770,7 +770,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -848,7 +848,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1002,7 +1002,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1079,7 +1079,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1449,7 +1449,25 @@ paths: type: string responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was accepted for processing, but processing has not been completed. + The response shall have an empty payload body. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1457,7 +1475,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1506,7 +1524,25 @@ paths: type: string responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was accepted for processing, but processing has not been completed. + The response shall have an empty payload body. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1514,7 +1550,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1605,7 +1641,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1655,7 +1691,25 @@ paths: type: string responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was accepted for processing, but processing has not been completed. + The response shall have an empty payload body. + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1663,7 +1717,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1826,7 +1880,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1954,7 +2008,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -2044,7 +2098,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -2102,7 +2156,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index b5742d7b..55e8d101 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -104,7 +104,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: @@ -180,7 +180,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: @@ -256,7 +256,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 290c845e..bf9ba84b 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -174,7 +174,7 @@ paths: items: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -906,7 +906,7 @@ paths: items: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index dafbe5e0..b5ab401d 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -257,7 +257,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -702,7 +702,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -1065,7 +1065,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index bb6b2e04..5ff5f6b2 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -2,85 +2,6 @@ # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: - - AffectedVnfc: - description: > - This type provides information about added, deleted, modified and - temporary VNFCs. - type: object - required: - - id - - vduId - - changeType - - computeResource - properties: - id: - description: > - Identifier of the Vnfc instance, identifying the applicable - "vnfcResourceInfo" entry in the "VnfInstance" data type. - $ref: "#/definitions/IdentifierInVnf" - vduId: - description: > - Identifier of the related VDU in the VNFD. - $ref: "#/definitions/IdentifierInVnfd" - changeType: - description: > - Signals the type of change. Permitted values: - * ADDED - * REMOVED - * MODIFIED - * TEMPORARY - For a temporary resource, an AffectedVnfc structure exists as long - as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - computeResource: - description: > - Reference to the VirtualCompute resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - $ref: "#/definitions/ResourceHandle" - metadata: - description: > - Metadata about this resource. - The content of this attribute shall be a copy of the content of the - "metadata" attribute of the VnfcResourceInfo structure. - $ref: "#/definitions/KeyValuePairs" - affectedVnfcCpIds: - description: > - Identifiers of CP(s) of the VNFC instance that were affected by the - change. - Shall be present for those affected CPs of the VNFC instance that - are associated to an external CP of the VNF instance. - May be present for further affected CPs of the VNFC instance. - type: array - items: - $ref: "#/definitions/IdentifierInVnf" - addedStorageResourceIds: - description: > - References to VirtualStorage resources that have been added. Each - value refers to a VirtualStorageResourceInfo item in the - VnfInstance that was added to the VNFC. It shall be provided if at - least one storage resource was added to the VNFC. - type: array - items: - $ref: "#/definitions/IdentifierInVnf" - removedStorageResourceIds: - description: > - References to VirtualStorage resources that have been removed. - The value contains the identifier of a VirtualStorageResourceInfo - item that has been removed from the VNFC, and might no longer exist - in the VnfInstance. - It shall be provided if at least one storage resource was removed - from the VNFC. - type: array - items: - $ref: "#/definitions/IdentifierInVnf" - Link: description: > This type represents a link to a resource using an absolute URI. @@ -92,7 +13,7 @@ definitions: href: description: > URI of another resource referenced from a resource. - Shall be an absolute URI (i.e. a URI that contains {apiRoot}). + Shall be an absolute URI (i.e. a UTI that contains {apiRoot}. $ref: "#/definitions/Uri" NotificationLink: @@ -113,25 +34,236 @@ definitions: information is not available. $ref: "#/definitions/Uri" - Version: + KeyValuePairs: description: > - A version. + This type represents a list of key-value pairs. The order of the pairs in the list is not significant. + In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions + defined in clause 4 of IETF RFC 7159. + type: object + + VnfInstanceSubscriptionFilter: + description: > + This type represents subscription filter criteria to match VNF + instances. + type: object + properties: + vnfdIds: + description: > + If present, match VNF instances that were created based on a VNFD + identified by one of the vnfdId values listed in this attribute. + The attributes "vnfdIds" and "vnfProductsFromProviders" are + alternatives to reference to VNF instances that are based on certain + VNFDs in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: "#/definitions/Identifier" + vnfProductsFromProviders: + description: > + If present, match VNF instances that belong to VNF products from + certain providers. + The attributes "vnfdIds" and "vnfProductsFromProviders" are + alternatives to reference to VNF instances that are based on certain + VNFDs in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: object + required: + - vnfProvider + properties: + vnfProvider: + description: > + Name of the VNF provider to match. + type: string + vnfProducts: + description: > + If present, match VNF instances that belong to VNF products + with certain product names, from one particular provider. + type: array + items: + type: object + required: + - vnfProductName + properties: + vnfProductName: + description: > + Name of the VNF product to match. + type: string + versions: + description: > + If present, match VNF instances that belong to VNF + products with certain versions and a certain product + name, from one particular provider. + type: array + items: + type: object + required: + - vnfSoftwareVersion + properties: + vnfSoftwareVersion: + description: > + Software version to match. + $ref: "#/definitions/Version" + vnfdVersions: + description: > + If present, match VNF instances that belong to VNF + products with certain VNFD versions, a certain + software version and a certain product name, from + one particular provider. + type: array + items: + $ref: "#/definitions/Version" + vnfInstanceIds: + description: > + If present, match VNF instances with an instance identifier listed + in this attribute. + The attributes "vnfInstanceIds" and "vnfInstanceNames" are + alternatives to reference to particular VNF Instances in a filter. + They should not be used both in the same filter instance, but one + alternative should be chosen. + type: array + items: + $ref: "#/definitions/Identifier" + vnfInstanceNames: + description: > + If present, match VNF instances with a VNF Instance Name listed in + this attribute. + The attributes "vnfInstanceIds" and "vnfInstanceNames" are + alternatives to reference to particular VNF Instances in a filter. + They should not be used both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + + ApiVersionInformation: + description: > + This type represents API version information. It shall comply with the + provisions defined in table 4.4.1.13-1 (SOL003). + type: object + required: + - uriPrefix + - apiVersions + properties: + uriPrefix: + description: > + Specifies the URI prefix for the API, in the following + form {apiRoot}/{apiName}/{apiMajorVersion}/ + type: string + apiVersions: + description: > + Version(s) supported for the API signaled by the + uriPrefix attribute. + type: array + items: + type: object + required: + - version + properties: + version: + description: > + Identifies a supported version. The value of the + version attribute shall be a version identifier as + specified in clause 4.6.1. + type: string + isDeprecated: + description: > + If such information is available, this attribute + indicates whether use of the version signaled by the + version attribute is deprecated (true) or not (false). + A deprecated version is still supported by the API producer + but is recommended not to be used any longer. + When a version is no longer supported, it does not appear in + the response body. + type: boolean + retirementDate: + description: > + The date and time after which the API version will no + longer be supported. + This attribute may be included if the value of the + isDeprecated attribute is set to true and shall be + absent otherwise. + $ref: "#/definitions/DateTime" + + Identifier: + description: > + An identifier with the intention of being globally unique. + type: string + + IdentifierInVnfd: + description: > + An identifier that is unique within a VNF descriptor. + type: string + + IdentifierInVim: + description: > + An identifier maintained by the VIM or other resource provider. It is + expected to be unique within the VIM instance. + type: string + + IdentifierInVnf: + description: > + An identifier that is unique for the respective type within a VNF + instance, but may not be globally unique. + type: string + + IdentifierLocal: + description: > + An identifier that is unique within a limited local scope other than above listed identifiers, + such as within a complex data structure or within a request-response pair. + Representation: string of variable length. + type: string + + DateTime: + description: > + Date-time stamp. + Representation: String formatted according to IETF RFC 3339. + type: string + format: date-time + + Uri: + description: > + String formatted according to IETF RFC 3986. type: string + Boolean: + description: > + The Boolean is a data type having two values (true and false). + type: boolean + MacAddress: description: > - A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. + A MAC address. Representation: string that consists of groups of two hexadecimal digits, + separated by hyphens or colons. type: string format: MAC IpAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that + integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP + Version: + description: > + A version. + type: string + + String: + description: > + A string defined in IETF RFC 8259. + type: string + + Number: + description: > + A number defined in IETF RFC 8259. + type: number + + + CpProtocolData: description: > This type represents network protocol data. @@ -156,12 +288,7 @@ definitions: "IP_OVER_ETHERNET", and shall be absent otherwise. $ref: "#/definitions/IpOverEthernetAddressData" - DateTime: - description: > - Date-time stamp. - Representation: String formatted according to IETF RFC 3339. - type: string - format: "date-time" + ExtLinkPortData: description: > @@ -291,28 +418,6 @@ definitions: - OPERATE - CHANGE_EXT_CONN - Identifier: - description: > - An identifier with the intention of being globally unique. - type: string - - IdentifierInVim: - description: > - An identifier maintained by the VIM or other resource provider. It is - expected to be unique within the VIM instance. - type: string - - IdentifierInVnf: - description: > - An identifier that is unique for the respective type within a VNF - instance, but may not be globally unique. - type: string - - IdentifierInVnfd: - description: > - An identifier that is unique within a VNF descriptor. - type: string - IpOverEthernetAddressData: description: > This type represents network address data for IP over Ethernet. @@ -388,13 +493,6 @@ definitions: a subnet will be assigned. $ref: "#/definitions/IdentifierInVim" - KeyValuePairs: - description: > - This type represents a list of key-value pairs. The order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - LcmOperationType: description: > Value | Description @@ -598,11 +696,6 @@ definitions: Shall be present if it has not been provisioned out of band. $ref: "#/definitions/Uri" - Uri: - description: > - String formatted according to IETF RFC 3986. - type: string - VimConnectionInfo: description: > This type represents parameters to connect to a VIM for managing the @@ -755,147 +848,80 @@ definitions: items: $ref: "#/definitions/VnfExtCpConfig" - VnfInstanceSubscriptionFilter: + AffectedVnfc: description: > - This type represents subscription filter criteria to match VNF - instances. + This type provides information about added, deleted, modified and + temporary VNFCs. type: object + required: + - id + - vduId + - changeType + - computeResource properties: - vnfdIds: + id: description: > - If present, match VNF instances that were created based on a VNFD - identified by one of the vnfdId values listed in this attribute. - The attributes "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - $ref: "#/definitions/Identifier" - vnfProductsFromProviders: + Identifier of the Vnfc instance, identifying the applicable + "vnfcResourceInfo" entry in the "VnfInstance" data type. + $ref: "#/definitions/IdentifierInVnf" + vduId: description: > - If present, match VNF instances that belong to VNF products from - certain providers. - The attributes "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: > - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to VNF products - with certain product names, from one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: > - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that belong to VNF - products with certain versions and a certain product - name, from one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: > - Software version to match. - $ref: "#/definitions/Version" - vnfdVersions: - description: > - If present, match VNF instances that belong to VNF - products with certain VNFD versions, a certain - software version and a certain product name, from - one particular provider. - type: array - items: - $ref: "#/definitions/Version" - vnfInstanceIds: + Identifier of the related VDU in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + changeType: description: > - If present, match VNF instances with an instance identifier listed - in this attribute. - The attributes "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances in a filter. - They should not be used both in the same filter instance, but one - alternative should be chosen. + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + For a temporary resource, an AffectedVnfc structure exists as long + as the temporary resource exists. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + computeResource: + description: > + Reference to the VirtualCompute resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "#/definitions/ResourceHandle" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfcResourceInfo structure. + $ref: "#/definitions/KeyValuePairs" + affectedVnfcCpIds: + description: > + Identifiers of CP(s) of the VNFC instance that were affected by the + change. + Shall be present for those affected CPs of the VNFC instance that + are associated to an external CP of the VNF instance. + May be present for further affected CPs of the VNFC instance. type: array items: - $ref: "#/definitions/Identifier" - vnfInstanceNames: + $ref: "#/definitions/IdentifierInVnf" + addedStorageResourceIds: description: > - If present, match VNF instances with a VNF Instance Name listed in - this attribute. - The attributes "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances in a filter. - They should not be used both in the same filter instance, but one - alternative should be chosen. + References to VirtualStorage resources that have been added. Each + value refers to a VirtualStorageResourceInfo item in the + VnfInstance that was added to the VNFC. It shall be provided if at + least one storage resource was added to the VNFC. type: array items: - type: string - - ApiVersionInformation: - description: > - This type represents API version information. It shall comply with the - provisions defined in table 4.4.1.13-1 (SOL003). - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/ - type: string - apiVersions: + $ref: "#/definitions/IdentifierInVnf" + removedStorageResourceIds: description: > - Version(s) supported for the API signaled by the - uriPrefix attribute. + References to VirtualStorage resources that have been removed. + The value contains the identifier of a VirtualStorageResourceInfo + item that has been removed from the VNFC, and might no longer exist + in the VnfInstance. + It shall be provided if at least one storage resource was removed + from the VNFC. type: array items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 4.6.1. - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not (false). - A deprecated version is still supported by the API producer - but is recommended not to be used any longer. - When a version is no longer supported, it does not appear in - the response body. - type: boolean - retirementDate: - description: > - The date and time after which the API version will no - longer be supported. - This attribute may be included if the value of the - isDeprecated attribute is set to true and shall be - absent otherwise. - $ref: "#/definitions/DateTime" \ No newline at end of file + $ref: "#/definitions/IdentifierInVnf" \ No newline at end of file diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index c7d4efcf..d42c235b 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -1,15 +1,23 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + responses: - 202: + 206: description: > - Accepted - - The request was accepted for processing, but processing has not - been completed. The response shall have an empty payload body. + 206 PARTIAL CONTENT headers: - Location: - description: The resource URI of the created VNF instance + Content-Type: + description: > + The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Content-Range: + description: > + The Content-Range response HTTP header indicates where in a full body message a partial message belongs. type: string - format: url + maximum: 1 + minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -19,30 +27,21 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 - 202-with-Location: - description: > - Accepted + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. + 303: headers: - #TODO: Add headers defined in 4.3.4.3 Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -52,53 +51,40 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 303: - description: > - See Other - - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM is to not create redundant - subscriptions. - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the existing subscription resource. - The response body shall be empty. - headers: - Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 + 400: description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a payload body contains - a syntactically incorrect payload bodydata structure), the API producer - shall respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is adversely - affected, and the API producer does not support paging for the - affected resource, it shall respond with this response code. - The "ProblemDetails" structure shall be provided, and should include + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect + query parameters or the payload body contains a syntactically incorrect data structure), + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, + and should include in the "detail" attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource would be so big that the performance + of the API producer is adversely affected, and the API producer does not support paging for the affected resource, + it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. - If there is an application error related to the client's input that cannot - be easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of - the problem. - If the request contains a malformed access token, the API Producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF - RFC 6750 and IETF RFC 7235. The ProblemDetails structure - may be provided. + + If there is an application error related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + + If the request contains a malformed access token, the API producer should respond with this response. + The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + + The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 + for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. @@ -114,35 +100,22 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 400-attr-based-filtering-error: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 401: description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, or if the request contains an authorization + token that is invalid (e.g. expired or revoked), the API producer should respond with this response. + The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. @@ -155,34 +128,25 @@ responses: authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 400-attr-selector: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 403: description: > - Bad Request - - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request to a particular resource, + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. + It should include in the "detail" attribute information about the source of the problem, + and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. @@ -198,23 +162,27 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 401: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 404: description: > - Unauthorized - - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. + 404 NOT FOUND + + If the API producer did not find a current representation for the resource addressed by the URI passed + in the request or is not willing to disclose that one exists, it shall respond with this response code. + The "ProblemDetails" structure may be provided, including in the "detail" attribute information about + the source of the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed by the URI is a container resource + which is designed to contain child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty container resource, a typical response + contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. @@ -230,414 +198,370 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 403: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 405: description: > - Forbidden + 405 METHOD NOT ALLOWED - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. + If a particular HTTP method is not supported for a particular resource, the API producer shall respond + with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404: - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source - of the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. type: string maximum: 1 - minimum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404-task-resource-not-exists: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 406: description: > - Not Found - - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also returned if the task is not supported for the VNF instance - represented by the parent resource, which means that the task resource - consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall convey - more information about the error. - This response code is not appropriate in case the resource addressed by - the URI is a container resource which is designed to contain child - resources, but does not contain any child resource at the time the request - is received. For a GET request to an existing empty container resource, - a typical response contains a 200 OK response code and a payload body - with an empty array + 406 NOT ACCEPTABLE + + If the "Accept" header does not contain at least one name of a content type that is acceptable + to the API producer, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404-task-resource-not-exists-VNF-LCM: - description: > - Not Found - - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also be returned if the task is not supported for the VNF LCM operation - occurrence represented by the parent resource, which means that the task - resource consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall convey - more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. type: string maximum: 1 - minimum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported: - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the VNF instance represented by the parent - resource, and that the task resource consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 409: headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported-VNF-LCM: - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the VNF LCM operation occurrence - represented by the parent resource, and that the task resource - consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. type: string maximum: 1 - minimum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 405: - description: > - Method Not Allowed - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 406: + 412: description: > - Not Acceptable + 412 PRECONDITION FAILED - If the "Accept" HTTP header does not contain at least one name of - a content type that is acceptable to the API producer, the API - producer shall respond with this response code. The - "ProblemDetails" structure may be omitted in that case. + Error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey + more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 412: - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. type: string maximum: 1 - minimum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 413: description: > - Payload Too Large + 413 PAYLOAD TOO LARGE - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond with - this response code, following the provisions in IETF RFC 7231 for - the use of the "Retry-After" HTTP header and for closing the connection. - The "ProblemDetails" structure may be omitted + If the payload body of a request is larger than the amount of data the API producer is willing or able to process, + it shall respond with this response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 414: description: > - URI Too Long + 414 URI TOO LONG - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response code. - This condition can e.g. be caused by passing long queries in the request - URI of a GET request. The "ProblemDetails" structure may be omitted + If the request URI of a request is longer than the API producer is willing or able to process, + it shall respond with this response code. This condition can e.g. be caused by passing long queries + in the request URI of a GET request. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 416: description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the - Range HTTP header is not present in the requested resource. + 416 RANGE NOT SATISFIABLE headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 422: description: > - Unprocessable Entity - - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of the - problem. - NOTE: This error response code is only applicable for methods - that have a request body. + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data + cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond + with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a request body. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 429: description: > - Too many requests - - If the API consumer has sent too many requests in a defined period of - time and the API producer is able to detect that condition - ("rate limiting"), the API producer shall respond with this response - code, following the provisions in IETF RFC 6585 [8] for the use of - the "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided, and shall include in the "detail" attribute more information + 429 TOO MANY REQUESTS + + If the API consumer has sent too many requests in a defined period of time and the API producer is able + to detect that condition ("rate limiting"), the API producer shall respond with this response code, + following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. + The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information about the source of the problem. - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of SOL002. + + The period of time and allowed number of requests are configured within the API producer by means + outside the scope of the present document. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 500: description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond withthis - response code. The "ProblemDetails" structure shall be provided, - and shall include in the "detail" attribute more information about - the source of the problem. + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 503: description: > - Service Unavailable + 503 SERVICE UNAVAILABLE - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative - to refuse the connection. The "ProblemDetails" structure may be omitted. + If the API producer encounters an internal overload situation of itself or of a system it relies on, + it should respond with this response code, following the provisions in IETF RFC 7231 for the use of + the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" + structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 504: description: > - Gateway Timeout + 504 GATEWAY TIMEOUT - If the API producer encounters a timeout while waiting for a response - from an upstream server (i.e. a server that the API producer communicates - with when fulfilling a request), it should respond with this response code. + If the API producer encounters a timeout while waiting for a response from an upstream server + (i.e. a server that the API producer communicates with when fulfilling a request), it should respond + with this response code. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file -- GitLab From 67e2eb7d0dc27b95ea67dbb2d965c044923da792 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Tue, 7 May 2019 15:52:24 +0200 Subject: [PATCH 107/122] SOL002: VNF Performance mgmtinterface conso --- .../VNFPerformanceManagement.yaml | 387 +++++++++++------- 1 file changed, 243 insertions(+), 144 deletions(-) diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 0e182f69..398674d3 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -6,14 +6,11 @@ info: description: > VNF Configuration interface of ETSI NFV SOL002 - 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/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- - license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt @@ -34,7 +31,6 @@ consumes: produces: - application/json - paths: ############################################################################### # API Versions # @@ -42,9 +38,9 @@ paths: '/api-versions': $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' -############################################################################### -# PM jobs # -############################################################################### + ############################################################################### + # PM jobs # + ############################################################################### '/pm_jobs': #SOL003 location: 6.4.2 parameters: @@ -54,6 +50,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method creates a PM job. @@ -78,17 +81,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 201: description: > - Created + 201 CREATED The PM job was created successfully. The response body shall contain a representation of the created PM job resource. @@ -125,14 +121,24 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > The client can use this method to retrieve information about PM jobs. @@ -144,13 +150,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: Content-Type description: > The MIME type of the body of the request. @@ -233,7 +232,7 @@ paths: responses: 200: description: > - OK + 200 OK Information about zero or more PM jobs was queried successfully. The response body shall contain in an array the representations of zero or more PM jobs, @@ -275,17 +274,28 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual PM job # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual PM job # + ############################################################################### '/pm_jobs/{pmJobId}': #SOL003 location: 6.4.3 parameters: @@ -305,6 +315,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method for reading an individual PM job. @@ -316,17 +333,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: description: > - OK + 200 OK Information about an individual PM job was queried successfully. The response body shall contain a representation of the PM job @@ -358,29 +368,31 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: description: > This method terminates an individual PM job. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 204: description: > - No Content + 204 NO CONTENT The PM job was deleted successfully. The response body shall be empty. @@ -409,17 +421,28 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual performance report # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual performance report # + ############################################################################### '/pm_jobs/{pmJobId}/reports/{reportId}': #SOL003 location: 6.4.4 parameters: @@ -441,6 +464,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method for reading an individual performance @@ -453,17 +483,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: description: > - OK + 200 OK Information of an individual performance report was read successfully. @@ -496,17 +519,28 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Thresholds # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Thresholds # + ############################################################################### '/thresholds': #SOL003 location: 6.4.5 parameters: @@ -516,6 +550,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method can be used by the client to create a threshold. @@ -534,13 +575,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: Content-Type description: > The MIME type of the body of the request. @@ -551,7 +585,7 @@ paths: responses: 201: description: > - Created + 201 CREATED A threshold was created successfully. The response body shall contain a representation of the created threshold resource. @@ -588,14 +622,24 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > The client can use this method to query information about thresholds. @@ -607,13 +651,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: filter description: > Attribute-based filtering expression according to clause 4.3.2. @@ -657,7 +694,7 @@ paths: responses: 200: description: > - OK + 200 OK Information about zero or more thresholds was queried successfully. @@ -700,17 +737,28 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual threshold # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual threshold # + ############################################################################### '/thresholds/{thresholdId}': #SOL003 location: 6.4.6 parameters: @@ -730,6 +778,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method for reading an individual threshold. @@ -741,17 +796,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: description: > - OK + 200 OK Information about an individual threshold was queried successfully. The response body shall contain a @@ -783,14 +831,24 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: description: > This method allows to delete a threshold. @@ -802,17 +860,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 204: description: > - No Content + 204 NO CONTENT The threshold was deleted successfully. The response body shall be empty. @@ -836,17 +887,28 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Subscriptions # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': #SOL003 location: 6.4.7 parameters: @@ -856,6 +918,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method creates a new subscription. @@ -874,13 +943,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: Content-Type description: > The MIME type of the body of the request. @@ -891,7 +953,7 @@ paths: responses: 201: description: > - Created + 201 CREATED The subscription was created successfully. A representation of the created subscription resource shall be returned in the response @@ -923,20 +985,40 @@ paths: minimum: 0 schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" + 303: + description: > + 303 SEE OTHER + + A subscription with the same callbackURI and the same filter already exists and the policy of the VNFM + is to not create redundant subscriptions. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing + subscription resource. + The response body shall be empty. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > The client can use this method to query the list of active @@ -950,13 +1032,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: filter description: > Attribute-based filtering expression according to clause 4.3.2. @@ -1000,7 +1075,7 @@ paths: responses: 200: description: > - OK + 200 OK The list of subscriptions was queried successfully. The response body shall contain in an array the representations @@ -1043,17 +1118,28 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual subscription # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': #SOL003 location: 6.4.8 parameters: @@ -1072,6 +1158,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method for reading an individual subscription @@ -1084,17 +1177,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: description: > - OK + 200 OK The subscription was read successfully. The response body shall contain a representation of the subscription resource. @@ -1125,14 +1211,24 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: description: > This method terminates an individual subscription. @@ -1144,17 +1240,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 204: description: > - No Content + 204 NO CONTENT The subscription resource was deleted successfully. The response body shall be empty. @@ -1178,11 +1267,21 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file -- GitLab From a382051f3d775ca59d34a964da69d29a3130c0b4 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Tue, 7 May 2019 16:38:38 +0200 Subject: [PATCH 108/122] SOL002: VNF Fault mgmt interface consolidation --- .../VNFFaultManagement.yaml | 257 ++++++++++++------ .../VNFPerformanceManagement_def.yaml | 4 - .../VNFPerformanceManagement_resp.yaml | 2 - 3 files changed, 168 insertions(+), 95 deletions(-) delete mode 100644 src/SOL002/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml delete mode 100644 src/SOL002/VNFPerformanceManagement/responses/VNFPerformanceManagement_resp.yaml diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index c5838c71..26564f18 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -2,18 +2,15 @@ swagger: "2.0" info: version: "1.2.0" - title: SOL002 - VNF Configuration interface + title: SOL002 - VNF Fault Management interface description: > - VNF Configuration interface of ETSI NFV SOL002 - + VNF Fault Management interface of ETSI NFV SOL002 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/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- - license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt @@ -34,7 +31,6 @@ consumes: produces: - application/json - paths: ############################################################################### # API Versions # @@ -42,9 +38,9 @@ paths: '/api-versions': $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' -############################################################################### -# Alarms # -############################################################################### + ############################################################################### + # Alarms # + ############################################################################### '/alarms': #SOL003 location: 7.4.2 parameters: @@ -54,6 +50,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method to retrieve information about the alarm @@ -73,13 +76,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: filter description: > Attribute-based filtering expression according to clause 4.3.2. @@ -126,7 +122,7 @@ paths: responses: 200: description: > - OK + 200 OK Information about zero or more alarms was queried successfully. The response body shall contain in an array the representations of zero or more alarms @@ -166,17 +162,28 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual alarm # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual alarm # + ############################################################################### '/alarms/{alarmId}': #SOL003 location: 7.4.3 parameters: @@ -197,6 +204,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method to read an individual alarm. @@ -215,17 +229,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: description: > - OK + 200 OK Information about an individual alarm was read successfully. The response body shall contain a representation of the individual @@ -257,14 +264,24 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" patch: description: > This method modifies an individual alarm resource. @@ -289,17 +306,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: description: > - OK + 200 OK The request was accepted and completed. The response body shall contain attribute modifications for an ‘Individual alarm’ @@ -331,18 +341,38 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFFaultManagement_resp.yaml#/responses/409-alarm-state-conflict" + description: > + 409 CONFLICT + + 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. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" 412: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + ############################################################################### # Escalate Perceived Severity task # ############################################################################### @@ -355,6 +385,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method enables the consumer to escalate the perceived severity @@ -379,7 +416,7 @@ paths: responses: 200: description: > - OK + 200 OK The VNFM has received the proposed "escalated perceived severity" value successfully. The response body shall be empty. @@ -395,20 +432,28 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" ############################################################################### -# Subscriptions # -############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': #SOL003 location: 7.4.4 parameters: @@ -418,6 +463,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string post: description: > The POST method creates a new subscription. @@ -442,17 +494,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 201: description: > - Created + 201 CREATED The subscription was created successfully. The response body shall contain a representation of the created subscription resource. @@ -484,20 +529,40 @@ paths: minimum: 0 schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + 303: + description: > + 303 SEE OTHER + + A subscription with the same callbackURI and the same filter already exists and the policy of + the VNFM is to not create redundant subscriptions. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the + existing subscription resource. + The response body shall be empty. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > The client can use this method to retrieve the list of active @@ -518,13 +583,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: filter description: > Attribute-based filtering expression according to clause 4.3.2. @@ -569,7 +627,7 @@ paths: responses: 200: description: > - OK + 200 OK The list of subscriptions was queried successfully. The response body shall contain the representations of all active @@ -610,19 +668,28 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual subscription # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': #SOL003 location: 7.4.5 parameters: @@ -642,6 +709,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method for reading an individual subscription @@ -661,17 +735,10 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: description: > - OK + 200 OK The operation has completed successfully. The response body shall contain a representation of the @@ -703,29 +770,31 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: description: > This method terminates an individual subscription. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 204: description: > - No Content + 204 NO CONTENT The subscription resource was deleted successfully. The response body shall be empty. @@ -749,11 +818,21 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file diff --git a/src/SOL002/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml b/src/SOL002/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml deleted file mode 100644 index 41b2bc66..00000000 --- a/src/SOL002/VNFPerformanceManagement/definitions/VNFPerformanceManagement_def.yaml +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt - -definitions: \ No newline at end of file diff --git a/src/SOL002/VNFPerformanceManagement/responses/VNFPerformanceManagement_resp.yaml b/src/SOL002/VNFPerformanceManagement/responses/VNFPerformanceManagement_resp.yaml deleted file mode 100644 index 6fe27caf..00000000 --- a/src/SOL002/VNFPerformanceManagement/responses/VNFPerformanceManagement_resp.yaml +++ /dev/null @@ -1,2 +0,0 @@ -responses: - -- GitLab From 94d75a0e1923b6c9469fb78f889cce64a49a573f Mon Sep 17 00:00:00 2001 From: moscatelli Date: Tue, 7 May 2019 17:01:32 +0200 Subject: [PATCH 109/122] SOL002: VNF Indicator interface consolidation --- src/SOL002/VNFIndicator/VNFIndicator.yaml | 1234 ++++++++++++--------- 1 file changed, 698 insertions(+), 536 deletions(-) diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index b46d6f42..9c380490 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -1,22 +1,19 @@ swagger: "2.0" -info: +info: version: "1.2.0" title: "SOL002 - VNF Indicator interface" description: > VNF Indicator interface of ETSI NFV SOL002. - + This API allows the EM/VNF to provide information on value changes of VNF related indicators. VNF related indicators are declared in the VNFD. - 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/bugzilla/buglist.cgi?component=Nfv-Openapis - license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt @@ -27,17 +24,16 @@ externalDocs: basePath: /vnfind/v1 -schemes: +schemes: - http - https -consumes: +consumes: - application/json -produces: +produces: - application/json - paths: ############################################################################### # API Versions # @@ -56,472 +52,605 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: - summary: Query multiple indicators - description: Get a list of indicators. Support of attribute based filtering via query parameters. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 4.3.2. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM/VNF may supply this parameter. The VNF may supply its instance Id as an attribute filter. - All attribute names that appear in the VnfIndicator data type and in data types referenced from - it shall be supported by the VNFM in the filter expression. If receiving, this parameter is not - supported a 400 Bad Request response shall be returned (See table 8.4.2.3.2-2). - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF - if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource - in: query - required: false - type: string - responses: - 200: - description: > - OK - - Information about zero or more VNF indicators was queried successfully. - The response body shall contain in an array the representations of all - VNF indicators that match the attribute-based filtering parameters, - i.e. zero or more representations of VNF indicators as defined in clause 8.5.2.2. - If the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, - inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicator_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + summary: Query multiple indicators + description: Get a list of indicators. Support of attribute based filtering via query parameters. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM/VNF may supply this parameter. The VNF may supply its instance Id as an attribute filter. + All attribute names that appear in the VnfIndicator data type and in data types referenced from + it shall be supported by the VNFM in the filter expression. If receiving, this parameter is not + supported a 400 Bad Request response shall be returned (See table 8.4.2.3.2-2). + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF + if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource + in: query + required: false + type: string + responses: + 200: + description: > + 200 OK + + Information about zero or more VNF indicators was queried successfully. + The response body shall contain in an array the representations of all + VNF indicators that match the attribute-based filtering parameters, + i.e. zero or more representations of VNF indicators as defined in clause 8.5.2.2. + If the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 + schema: + type: array + items: + $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + ############################################################################### + # VNF indicators related to a VNF instance # + ############################################################################### /indicators/{vnfInstanceId}: - parameters: - - name: vnfInstanceId - in: path - description: > - Service Unavailable - - Identifier of the VNF instance to which the VNF indicators applies. - 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. - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - get: - summary: Query multiple indicators related to a VNF instance. + parameters: + - name: vnfInstanceId + in: path description: > - Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query parameters. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 4.3.2. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM/VNF shall support receiving filtering parameters as part of the URI query string. - The VNFM may supply filtering parameters. - All attribute names that appear in the VnfIndicator data type and in data types referenced - from it shall be supported in attribute-based filtering parameters. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF - if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. - in: query - required: false - type: string - responses: - 200: - description: > - OK - - Information about zero or more VNF indicators was queried successfully. - The response body shall contain in an array the representations of all - VNF indicators that are related to the particular VNF instance and that - match the attribute filter., i.e. zero or more representations of VNF - indicators as defined in clause 8.5.2.2. - If the EM/VMF supports alternative 2 (paging) according to clause 4.7.2.1 - for this resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 4.7.2.3. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicator_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - + Service Unavailable - /indicators/{vnfInstanceId}/{indicatorId}: - parameters: - - name: vnfInstanceId - in: path - description: > - Service Unavailable - - Identifier of the VNF instance to which the VNF indicators applies. - 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. - type: string - required: true - - name: indicatorId - in: path - description: > - Identifier of the VNF indicator. -# LEH NOTE from SOL002 is strange - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - 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 + Identifier of the VNF instance to which the VNF indicators applies. + 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. - responses: - 200: - description: > - OK - - The VNF indicator was read successfully. - The response body shall contain the representation of the VNF indicator. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicator_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - - /indicators/{indicatorId}: + type: string + required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + 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. parameters: - - name: indicatorId - in: path + - name: filter description: > - Identifier of the VNF indicator. + Attribute-based filtering expression according to clause 4.3.2. + The VNFM shall support receiving this parameter as part of the URI query string. + The EM/VNF shall support receiving filtering parameters as part of the URI query string. + The VNFM may supply filtering parameters. + All attribute names that appear in the VnfIndicator data type and in data types referenced + from it shall be supported in attribute-based filtering parameters. + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false type: string - required: true - - name: Version + - name: nextpage_opaque_marker description: > - Version of the API requested to use when responding to this request. - in: header - required: true + Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF + if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false type: string - get: - summary: Read an inidividual VNF indicator related to a VNF instance. - description: > - Reads a VNF indicator. - responses: - 200: - description: > - OK - - The VNF indicator was read successfully. - The response body shall contain the representation of the VNF indicator. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: + responses: + 200: + description: > + 200 OK + + Information about zero or more VNF indicators was queried successfully. + The response body shall contain in an array the representations of all + VNF indicators that are related to the particular VNF instance and that + match the attribute filter., i.e. zero or more representations of VNF + indicators as defined in clause 8.5.2.2. + If the EM/VMF supports alternative 2 (paging) according to clause 4.7.2.1 + for this resource, inclusion of the Link HTTP header in this response shall + follow the provisions in clause 4.7.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 + schema: + type: array + items: $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicator_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - /subscriptions: + ############################################################################### + # Individual VNF indicator # + ############################################################################### + /indicators/{vnfInstanceId}/{indicatorId}: parameters: + - name: vnfInstanceId + in: path + description: > + Service Unavailable + + Identifier of the VNF instance to which the VNF indicators applies. + 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. + type: string + required: true + - name: indicatorId + in: path + description: > + Identifier of the VNF indicator. + # LEH NOTE from SOL002 is strange + type: string + required: true - name: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string - post: - summary: Create a new subscription to VNF indicator change notifications - description: Create a new subscription - parameters: - - name: subscription - in: body - description: Subscription data. - required: true - schema: - $ref: 'definitions/VnfIndicatorSubscriptionRequest_def.yaml#/definitions/VnfIndicatorSubscriptionRequest' - responses: - 201: - description: > - Created - - The subscription was created successfully. - The response body shall contain a representation of the created subscription resource. - schema: - $ref: 'definitions/VnfIndicatorSubscription_def.yaml#/definitions/VnfIndicatorSubscription' - headers: - Location: - description: > - Pointer to the created subscription resource. - type: string - format: URI - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicator_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: - summary: Query multiple subscriptions. + 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. + responses: + 200: + description: > + 200 OK + + The VNF indicator was read successfully. + The response body shall contain the representation of the VNF indicator. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + /indicators/{indicatorId}: + parameters: + - name: indicatorId + in: path description: > - Service Unavailable + Identifier of the VNF indicator. + type: string + required: true + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + get: + summary: Read an inidividual VNF indicator related to a VNF instance. + description: > + Reads a VNF indicator. + responses: + 200: + description: > + 200 OK + + The VNF indicator was read successfully. + The response body shall contain the representation of the VNF indicator. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: 'definitions/VnfIndicator_def.yaml#/definitions/VnfIndicator' + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - 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. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 4.3.2. - The EM shall and the VNF may support receiving this parameter as part - of the URI query string. The VNFM may supply this parameter. - All attribute names that appear in the VnfIndicatorSubscription data - type and in data types referenced from it shall be supported in the filter expression. - If receiving, this parameter is not supported, a 400 Bad Request response shall - be returned (see table 8.4.5.3.2-2). - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the EM - if the EM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. - in: query - required: false - type: string - responses: - 200: - description: > - OK - - The list of subscriptions was queried successfully. - The response body shall contain in an array the representations of all active - subscriptions of the functional block that invokes the method which match the - attribute filter, i.e. zero or more representations of VNF indicators subscriptions - as defined in clause 8.5.2.4. - If the EM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, - inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: 'definitions/VnfIndicatorSubscription_def.yaml#/definitions/VnfIndicatorSubscription' - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicator_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + ############################################################################### + # Subscriptions # + ############################################################################### + /subscriptions: + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + post: + summary: Create a new subscription to VNF indicator change notifications + description: Create a new subscription + parameters: + - name: vnfIndicatorSubscriptionRequest + in: body + description: Details of the subscription to be created. + required: true + schema: + $ref: 'definitions/VnfIndicatorSubscriptionRequest_def.yaml#/definitions/VnfIndicatorSubscriptionRequest' + responses: + 201: + description: > + 201 CREATED + + The subscription was created successfully. + The response body shall contain a representation of the created subscription resource. + schema: + $ref: 'definitions/VnfIndicatorSubscription_def.yaml#/definitions/VnfIndicatorSubscription' + headers: + Location: + description: > + Pointer to the created subscription resource. + type: string + format: URI + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 303: + description: > + 303 SEE OTHER + + A subscription with the same callbackURI and the same filter already exists and the policy + of the VNFM is to not create redundant subscriptions. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of + the existing subscription resource. + The response body shall be empty. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + 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. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 4.3.2. + The EM shall and the VNF may support receiving this parameter as part + of the URI query string. The VNFM may supply this parameter. + All attribute names that appear in the VnfIndicatorSubscription data + type and in data types referenced from it shall be supported in the filter expression. + If receiving, this parameter is not supported, a 400 Bad Request response shall + be returned (see table 8.4.5.3.2-2). + + EXAMPLE + objects + obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + + Request 1: + GET …/container + + Response 1: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, + {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ] + + Request 2: + GET …/container?filter=(eq.weight,100) + + Response 2: + [ + {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} + ] + #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the EM + if the EM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. + in: query + required: false + type: string + responses: + 200: + description: > + 200 OK + + The list of subscriptions was queried successfully. + The response body shall contain in an array the representations of all active + subscriptions of the functional block that invokes the method which match the + attribute filter, i.e. zero or more representations of VNF indicators subscriptions + as defined in clause 8.5.2.4. + If the EM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, + inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 + schema: + type: array + items: + $ref: 'definitions/VnfIndicatorSubscription_def.yaml#/definitions/VnfIndicatorSubscription' + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + ############################################################################### + # Individual Subscription # + ############################################################################### /subscriptions/{subscriptionId}: parameters: - name: Version @@ -530,92 +659,125 @@ paths: in: header required: true type: string - get: - summary: Read an individual subscription. + - name: Authorization description: > - Service Unavailable + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + 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. - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - 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 subscription resource. It can also be retrieved - from the "id" attribute in the payload body of that response. - in: path - type: string - required: true - responses: - 200: - description: > - OK - - The subscriptions was queried successfully. The response body shall contain - the representation of the requested subscription. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: 'definitions/VnfIndicatorSubscription_def.yaml#/definitions/VnfIndicatorSubscription' - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicator_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 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. + parameters: + - name: subscriptionId + description: > + Identifier of this subscription. + 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 subscription resource. It can also be retrieved + from the "id" attribute in the payload body of that response. + in: path + type: string + required: true + responses: + 200: + description: > + 200 OK + + The subscriptions was queried successfully. The response body shall contain + the representation of the requested subscription. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: 'definitions/VnfIndicatorSubscription_def.yaml#/definitions/VnfIndicatorSubscription' + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: - summary: Delete a subscription - description: Terminate an individual subscription. - parameters: - - name: subscriptionId - description: > - Service Unavailable - - Identifier of this subscription. - 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 subscription resource. It can also be retrieved - from the "id" attribute in the payload body of that response. - in: path - type: string - required: true - responses: - 204: - description: > - No Content - - The subscription was deleted successfully. - The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicator_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } \ No newline at end of file + summary: Delete a subscription + description: Terminate an individual subscription. + parameters: + - name: subscriptionId + description: > + Service Unavailable + + Identifier of this subscription. + 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 subscription resource. It can also be retrieved + from the "id" attribute in the payload body of that response. + in: path + type: string + required: true + responses: + 204: + description: > + 204 NO CONTENT + + The subscription was deleted successfully. + The response body shall be empty. + headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file -- GitLab From e2704a700197aa439b3580fc2d49962cf0f762a4 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Tue, 7 May 2019 17:08:54 +0200 Subject: [PATCH 110/122] SOL002: VNF Configuration interface consolidation --- .../VNFConfiguration/VNFConfiguration.yaml | 104 ++++++++++++------ 1 file changed, 73 insertions(+), 31 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 18bcb6da..3acb11eb 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -14,17 +14,23 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt contact: name: "NFV-SOL WG" + externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf + basePath: /vnfconfig/v1 + schemes: - http - https + - consumes: - application/json + - produces: - application/json + paths: ############################################################################### # API Versions # @@ -43,6 +49,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: summary: Read VNF/VNFC configuration from VNF description: > @@ -50,7 +63,7 @@ paths: responses: 200: description: > - OK + 200 OK Configuration information about a VNF instance was read successfully. The response body shall contain a representation of the configuration resource. schema: @@ -66,21 +79,38 @@ paths: type: string maximum: 1 minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" patch: summary: Modify VNF/VNFC configuration. description: This method sets or modifies a configuration resource. @@ -96,7 +126,7 @@ paths: responses: 200: description: > - OK + 200 OK The request was accepted and completed. The response body shall contain the parameters of the configuration modification that was applied to the configuration resource. @@ -113,17 +143,29 @@ paths: type: string maximum: 1 minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } \ No newline at end of file + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 412: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file -- GitLab From 988ba1443f98cbf1a5451269ba7751f390a5efad Mon Sep 17 00:00:00 2001 From: moscatelli Date: Tue, 7 May 2019 17:27:31 +0200 Subject: [PATCH 111/122] SOL002 overall consolidation --- src/SOL002/APIVersion/APIVersion.yaml | 12 ++++-- .../VNFConfiguration/VNFConfiguration.yaml | 11 +++--- .../VNFFaultManagement.yaml | 15 ++++---- .../VNFFaultManagementNotification.yaml | 30 ++++++--------- src/SOL002/VNFIndicator/VNFIndicator.yaml | 18 ++++----- .../VNFIndicatorNotification.yaml | 28 +++++--------- .../VNFLifecycleManagement.yaml | 19 +++++----- .../VNFLifecycleManagementNotification.yaml | 38 ++++++++----------- .../VNFPerformanceManagement.yaml | 17 +++++---- .../VNFPerformanceManagementNotification.yaml | 24 +++++------- 10 files changed, 97 insertions(+), 115 deletions(-) diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index b3d4344b..8932a94b 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -1,7 +1,8 @@ swagger: "2.0" + info: version: "1.2.0" - title: "SOL002 - API version interface" + title: SOL002 - API version interface description: > SOL002 - API version Interface IMPORTANT: Please note that this file might be not aligned to the current @@ -10,20 +11,25 @@ info: Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis 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" + name: NFV-SOL WG + externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf + schemes: - http - https + consumes: - application/json + produces: - application/json + paths: ############################################################################### # API Versions # diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 3acb11eb..927155d6 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -1,7 +1,8 @@ swagger: "2.0" + info: version: "1.2.0" - title: "SOL002 - VNF Configuration interface" + title: SOL002 - VNF Configuration interface description: > SOL002 - VNF Configuration Interface IMPORTANT: Please note that this file might be not aligned to the current @@ -10,10 +11,10 @@ info: Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis 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" + name: NFV-SOL WG externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 @@ -24,10 +25,10 @@ basePath: /vnfconfig/v1 schemes: - http - https - - + consumes: - application/json - - + produces: - application/json diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 26564f18..b5d1890f 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -4,16 +4,17 @@ info: version: "1.2.0" title: SOL002 - VNF Fault Management interface description: > - VNF Fault Management interface of ETSI NFV SOL002 - + 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/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- + 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 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 externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index a64128b0..9d643eb7 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -5,38 +5,32 @@ 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. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + 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 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 externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf -basePath: "/callback/v1" +basePath: /callback/v1 schemes: + - http - https consumes: - - "application/json" + - application/json + produces: - - "application/json" + - application/json paths: ############################################################################### diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 9c380490..c08314a8 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -2,21 +2,19 @@ swagger: "2.0" info: version: "1.2.0" - title: "SOL002 - VNF Indicator interface" + title: SOL002 - VNF Indicator interface description: > - VNF Indicator interface of ETSI NFV SOL002. - - This API allows the EM/VNF to provide information on value changes of VNF related indicators. - VNF related indicators are declared in the VNFD. - + 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. In case of - discrepancies the published ETSI Group Specification takes precedence. - + 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 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 externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 2dc58822..8ee53b08 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -2,21 +2,19 @@ swagger: "2.0" info: version: "1.2.0" - title: "SOL002 - VNF Indicator Notification Endpoint interface" + title: SOL002 - VNF Indicator Notification Endpoint interface description: > - VNF Indicator Notification Endpoint interface of ETSI NFV SOL002 - - + SOL002 - VNF Indicator Notification Endpoint 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/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- - + 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 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 externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 @@ -32,9 +30,7 @@ consumes: produces: - application/json - paths: - /notificationendpoint: parameters: - name: Version @@ -111,8 +107,4 @@ paths: 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - - - - + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } \ No newline at end of file diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index a6a0b6de..fceed42a 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -2,21 +2,22 @@ swagger: "2.0" info: version: "1.2.0" - title: "SOL002 - VNF Lifecycle Management Interface" + title: SOL002 - VNF Lifecycle Management interface description: > - VNF Lifecycle Management Interface of ETSI NFV SOL002 - + SOL002 - VNF Lifecycle 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/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- + 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 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 externalDocs: - description: "ETSI GS NFV-SOL 002 V2.5.1" + description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnflcm/v1 diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index a36f444e..d04a1f84 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -5,43 +5,37 @@ 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. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + 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 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 externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf -basePath: "/callback/v1" +basePath: /callback/v1 schemes: + - http - https consumes: - - "application/json" + - application/json + produces: - - "application/json" + - application/json paths: -############################################################################### -# Notification endpoint VnfLcmOperationOccurrenceNotification # -############################################################################### + ############################################################################### + # Notification endpoint VnfLcmOperationOccurrenceNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfLcmOperationOccurrenceNotification': post: description: > @@ -264,4 +258,4 @@ paths: 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 398674d3..920f709d 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -2,18 +2,19 @@ swagger: "2.0" info: version: "1.2.0" - title: "SOL002 - VNF Configuration interface" + title: SOL002 - VNF Perfomance Management interface description: > - VNF Configuration interface of ETSI NFV SOL002 - + SOL002 - VNF Performance 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/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- + 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 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 externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 0cb68bd2..c8995a2c 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -5,24 +5,16 @@ 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. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + 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 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 externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 @@ -31,10 +23,12 @@ externalDocs: basePath: /callback/v1 schemes: + - http - https consumes: - application/json + produces: - application/json -- GitLab From cd558f0730c0b612df4a45842c85d07db2fe16bd Mon Sep 17 00:00:00 2001 From: moscatelli Date: Tue, 7 May 2019 18:12:17 +0200 Subject: [PATCH 112/122] SOL002 overall data types consolidation --- .../VNFConfiguration/VNFConfiguration.yaml | 2 +- ...f.yaml => SOL002VNFConfiguration_def.yaml} | 102 +++++----- .../responses/VNFConfiguration_resp.yaml | 21 --- .../VNFFaultManagement.yaml | 36 ++-- ...yaml => SOL002VNFFaultManagement_def.yaml} | 48 ++--- .../responses/VNFFaultManagement_resp.yaml | 36 ---- .../VNFFaultManagementNotification.yaml | 32 ++-- .../VnfIndicatorNotificationsFilter_def.yaml | 2 +- .../VnfIndicatorSubscriptionRequest_def.yaml | 2 +- .../VnfIndicatorSubscription_def.yaml | 4 +- .../definitions/VnfIndicator_def.yaml | 4 +- .../VnfInstanceSubscriptionFilter_def.yaml | 6 +- .../VNFIndicatorNotification.yaml | 146 +++++++-------- ...fIndicatorValueChangeNotification_def.yaml | 2 +- .../VNFLifecycleManagement.yaml | 76 ++++---- .../VNFLifecycleManagement_def.yaml | 42 ++--- .../VNFLifecycleManagementNotification.yaml | 20 +- ...NFLifecycleManagementNotification_def.yaml | 2 +- .../VNFPerformanceManagement.yaml | 40 ++-- .../VNFPerformanceManagementNotification.yaml | 22 +-- .../VNFFaultManagement.yaml | 52 +++--- .../VNFFaultManagementNotification.yaml | 34 ++-- src/SOL003/VNFIndicator/VNFIndicator.yaml | 68 +++---- .../VNFIndicatorNotification.yaml | 14 +- .../VNFLifecycleManagement.yaml | 176 +++++++++--------- .../VNFLifecycleManagement_def.yaml | 10 +- .../VNFLifecycleManagement_resp.yaml | 4 +- .../VNFLifecycleManagementNotification.yaml | 28 +-- ...NFLifecycleManagementNotification_def.yaml | 2 +- .../VNFLifecycleOperationGranting.yaml | 20 +- .../VNFLifecycleOperationGranting_def.yaml | 80 ++++---- .../VNFPackageManagement.yaml | 68 +++---- .../definitions/VNFPackageManagement_def.yaml | 54 +++--- .../VNFPackageManagementNotification.yaml | 24 +-- .../VNFPackageManagementNotification_def.yaml | 12 +- .../VNFPerformanceManagement.yaml | 80 ++++---- .../VNFPerformanceManagementNotification.yaml | 24 +-- ...edResourcesQuotaAvailableNotification.yaml | 16 +- ...sourcesQuotaAvailableNotification_def.yaml | 4 +- ...uotaAvailableNotificationNotification.yaml | 14 +- ...AvailableNotificationNotification_def.yaml | 14 +- src/SOL003/definitions/SOL003_def.yaml | 22 +-- .../SOL002SOL003VNFFaultManagement_def.yaml | 172 +++++++++-------- .../SOL002SOL003VNFIndicator_def.yaml | 34 ++-- ...OL002SOL003VNFLifecycleManagement_def.yaml | 44 ++--- ...L003VNFLifecycleOperationGranting_def.yaml | 9 - ...002SOL003VNFPerformanceManagement_def.yaml | 64 +++---- 47 files changed, 858 insertions(+), 930 deletions(-) rename src/SOL002/VNFConfiguration/definitions/{VnfConfiguration_def.yaml => SOL002VNFConfiguration_def.yaml} (72%) delete mode 100644 src/SOL002/VNFConfiguration/responses/VNFConfiguration_resp.yaml rename src/SOL002/VNFFaultManagement/definitions/{VNFFaultManagement_def.yaml => SOL002VNFFaultManagement_def.yaml} (76%) delete mode 100644 src/SOL002/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml delete mode 100644 src/definitions/SOL002SOL003VNFLifecycleOperationGranting_def.yaml diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 927155d6..77b2b10b 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -68,7 +68,7 @@ paths: Configuration information about a VNF instance was read successfully. The response body shall contain a representation of the configuration resource. schema: - $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfiguration' + $ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration' headers: Content-Type: description: The MIME type of the body of the response. diff --git a/src/SOL002/VNFConfiguration/definitions/VnfConfiguration_def.yaml b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml similarity index 72% rename from src/SOL002/VNFConfiguration/definitions/VnfConfiguration_def.yaml rename to src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml index 998c4b1e..36c24796 100644 --- a/src/SOL002/VNFConfiguration/definitions/VnfConfiguration_def.yaml +++ b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml @@ -1,24 +1,7 @@ -definitions: - - VnfConfiguration: - description: > - This type represents configuration parameters of a VNF instance and its VNFC instances. - type: object - required: - - vnfConfigurationData - properties: - vnfConfigurationData: - description: > - Configuration parameters of the VNF instance. - $ref: '#/definitions/VnfConfigurationData' - vnfcConfigurationData: - description: > - Configuration parameters of the VNFC instances. - type: array - items: - $ref: '#/definitions/VnfcConfigurationData' - +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: VnfConfigModifications: description: > This type represents request parameters for the "Set Configuration" operation. @@ -33,29 +16,29 @@ definitions: Modifications to configuration data for the VNF instance. See NOTE 1. If present, the modifications of the "vnfConfigurationData" attribute shall be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396). - $ref: '#/definitions/VnfConfigurationData' + $ref: '#/definitions/VnfConfigurationData' vnfcConfigurationData: description: > Modifications to configuration data for certain VNFC instances. See NOTE 1 and NOTE 2. - If present, the modifications of the "vnfcConfigurationData" attribute shall follow these + If present, the modifications of the "vnfcConfigurationData" attribute shall follow these provisions: Modifying an attribute that is an array of objects of type "VnfcConfigurationData". Assumptions: - 1) "oldList" is the "VnfcConfigurationData" array to be modified and "newList" - is the "VnfcConfigurationData" array that contains the changes. - 2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList". - 3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that - has the same content of the "vnfcInstanceId" attribute as the "newEntry"; - a "newEntry" has no corresponding entry if no such "oldEntry" exists. - 4) In any array of "VnfcConfigurationData" structures, the content of "vnfcInstanceId" - is unique (i.e. there shall be no two entries with the same content of "vnfcInstanceId"). + 1) "oldList" is the "VnfcConfigurationData" array to be modified and "newList" + is the "VnfcConfigurationData" array that contains the changes. + 2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList". + 3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that + has the same content of the "vnfcInstanceId" attribute as the "newEntry"; + a "newEntry" has no corresponding entry if no such "oldEntry" exists. + 4) In any array of "VnfcConfigurationData" structures, the content of "vnfcInstanceId" + is unique (i.e. there shall be no two entries with the same content of "vnfcInstanceId"). Provisions: - 1) For each "newEntry" in "newList" that has no corresponding entry in "oldList", - the "oldList" array shall be modified by adding that "newEntry". + 1) For each "newEntry" in "newList" that has no corresponding entry in "oldList", + the "oldList" array shall be modified by adding that "newEntry". - 2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList", - the value of "oldEntry" shall be updated with the value of "newEntry" according to - the rules of JSON Merge PATCH (see IETF RFC 7396 ). + 2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList", + the value of "oldEntry" shall be updated with the value of "newEntry" according to + the rules of JSON Merge PATCH (see IETF RFC 7396 ). type: array items: $ref: '#/definitions/VnfcConfigurationData' @@ -67,6 +50,23 @@ definitions: items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + VnfConfiguration: + description: > + This type represents configuration parameters of a VNF instance and its VNFC instances. + type: object + required: + - vnfConfigurationData + properties: + vnfConfigurationData: + description: > + Configuration parameters of the VNF instance. + $ref: '#/definitions/VnfConfigurationData' + vnfcConfigurationData: + description: > + Configuration parameters of the VNFC instances. + type: array + items: + $ref: '#/definitions/VnfcConfigurationData' VnfConfigurationData: description: > @@ -76,18 +76,17 @@ definitions: extCpConfig: description: > Configuration parameters for the external CPs of the VNF instance. - $ref: '#/definitions/CpConfiguration' + $ref: '#/definitions/CpConfiguration' dhcpServer: description: > IP address of the DHCP server that the VNF instance can use to obtain IP addresses to be assigned to its external CPs. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress' + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress' vnfSpecificData: description: > Additional configurable properties of the VNF instance declared in the VNFD as "VnfConfigurableProperties". - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs' - + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs' VnfcConfigurationData: description: > @@ -99,22 +98,21 @@ definitions: vnfcInstanceId: description: > Identifier of a VNFC instance to which this set of configuration data applies. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' extCpConfig: description: > Configuration parameters for the external CPs of the VNFC instance. - $ref: '#/definitions/CpConfiguration' + $ref: '#/definitions/CpConfiguration' dhcpServer: description: > IP address of the DHCP server that the VNF instance can use to obtain IP addresses to be assigned to its external CPs. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress' + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress' vnfcSpecificData: description: > Additional configurable properties of the VNFC instance declared in the VNFD as "VnfcConfigurableProperties". - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs' - + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs' CpConfiguration: description: > @@ -128,17 +126,17 @@ definitions: cpId: description: > Identifier of a CP instance within the namespace of a specific VNF instance or a VNFC instance. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' cpdId: description: > Identifier of the CPD in the VNFD. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd' + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd' addresses: description: > Network address and port assigned to the CP. type: array items: - $ref: '#/definitions/CpAddress' + $ref: '#/definitions/CpAddress' CpAddress: description: > @@ -155,11 +153,11 @@ definitions: macAddress: description: > Mac address. See NOTE 2. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/MacAddress' + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/MacAddress' ipAddress: description: > IP address. See NOTE 2. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress' + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress' useDynamicAddress: description: > Set to true if an address shall be assigned dynamically. Otherwise set to false. @@ -168,8 +166,4 @@ definitions: port: description: > The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.). - type: integer - - - - + type: integer \ No newline at end of file diff --git a/src/SOL002/VNFConfiguration/responses/VNFConfiguration_resp.yaml b/src/SOL002/VNFConfiguration/responses/VNFConfiguration_resp.yaml deleted file mode 100644 index 5f625c85..00000000 --- a/src/SOL002/VNFConfiguration/responses/VNFConfiguration_resp.yaml +++ /dev/null @@ -1,21 +0,0 @@ -responses: - 409: - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of - the current request, or the current resource state is inconsistent - with the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index b5d1890f..e1cfe5a4 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -1,6 +1,6 @@ swagger: "2.0" -info: +info: version: "1.2.0" title: SOL002 - VNF Fault Management interface description: > @@ -22,14 +22,14 @@ externalDocs: basePath: /vnffm/v1 -schemes: +schemes: - http - https -consumes: +consumes: - application/json -produces: +produces: - application/json paths: @@ -43,7 +43,7 @@ paths: # Alarms # ############################################################################### '/alarms': - #SOL003 location: 7.4.2 + #SOL003 location: 7.4.2 parameters: - name: Version description: > @@ -122,7 +122,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK Information about zero or more alarms was queried successfully. @@ -156,7 +156,7 @@ paths: maximum: 1 minimum: 0 schema: - $ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/Alarm" + $ref: "./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -186,7 +186,7 @@ paths: # Individual alarm # ############################################################################### '/alarms/{alarmId}': - #SOL003 location: 7.4.3 + #SOL003 location: 7.4.3 parameters: - name: alarmId description: > @@ -232,7 +232,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK Information about an individual alarm was read successfully. @@ -258,7 +258,7 @@ paths: maximum: 1 minimum: 0 schema: - $ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/Alarm" + $ref: "./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -309,7 +309,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK The request was accepted and completed. The response body shall @@ -413,7 +413,7 @@ paths: description: The proposed "escalated perceived severity" value in: body schema: - $ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest" + $ref: "./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest" responses: 200: description: > @@ -456,7 +456,7 @@ paths: # Subscriptions # ############################################################################### '/subscriptions': - #SOL003 location: 7.4.4 + #SOL003 location: 7.4.4 parameters: - name: Version description: > @@ -497,7 +497,7 @@ paths: type: string responses: 201: - description: > + description: > 201 CREATED The subscription was created successfully. The response body shall @@ -627,7 +627,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK The list of subscriptions was queried successfully. The response @@ -692,7 +692,7 @@ paths: # Individual subscription # ############################################################################### '/subscriptions/{subscriptionId}': - #SOL003 location: 7.4.5 + #SOL003 location: 7.4.5 parameters: - name: subscriptionId description: > @@ -738,7 +738,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK The operation has completed successfully. @@ -794,7 +794,7 @@ paths: This method terminates an individual subscription. responses: 204: - description: > + description: > 204 NO CONTENT The subscription resource was deleted successfully. diff --git a/src/SOL002/VNFFaultManagement/definitions/VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml similarity index 76% rename from src/SOL002/VNFFaultManagement/definitions/VNFFaultManagement_def.yaml rename to src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml index 41d093ae..d01180ed 100644 --- a/src/SOL002/VNFFaultManagement/definitions/VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml @@ -9,6 +9,7 @@ definitions: required: - id - managedObjectId + - vnfcInstanceIds - rootCauseFaultyResource - alarmRaisedTime - ackState @@ -19,7 +20,7 @@ definitions: - isRootCause - _links properties: - id: + id: description: > Identifier of this Alarm information element. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" @@ -27,6 +28,12 @@ definitions: description: > Identifier of the affected VNF instance. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcInstanceIds: + description: > + Identifiers of the affected VNFC instances. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" rootCauseFaultyResource: description: > The virtualised resources that are causing the VNF fault. @@ -53,23 +60,21 @@ definitions: * UNACKNOWLEDGED * ACKNOWLEDGED. type: string - enum: + enum: - UNACKNOWLEDGED - ACKNOWLEDGED perceivedSeverity: - #description: > - # Perceived severity of the managed object failure. - # $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType" - type: string - eventTime: + description: > + Perceived severity of the managed object failure. + $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType" + eventTime: description: > Time stamp indicating when the fault was observed. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" eventType: - #description: > - # Type of event. - # todo: Fix - #$ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/EventType" + description: > + Type of event. + $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/EventType" type: string faultType: description: > @@ -84,12 +89,12 @@ definitions: Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault. - type: boolean + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" correlatedAlarmIds: description: > List of identifiers of other alarms correlated to this fault. type: array - items: + items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" faultDetails: description: > @@ -105,15 +110,12 @@ definitions: - self properties: self: - #description: > - # URI of this resource. + description: > + URI of this resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" objectInstance: - #description: > - # Link to the resource representing the VNF instance to which the - # notified alarm is correlated. Shall be present if the VNF - # instance information is accessible as a resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - - PerceivedSeverityRequest: - type: string \ No newline at end of file + description: > + Link to the resource representing the VNF instance to which the + notified alarm is correlated. Shall be present if the VNF + instance information is accessible as a resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" \ No newline at end of file diff --git a/src/SOL002/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml b/src/SOL002/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml deleted file mode 100644 index 8439306f..00000000 --- a/src/SOL002/VNFFaultManagement/responses/VNFFaultManagement_resp.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt - -responses: - 409-alarm-state-conflict: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the "Individual alarm" resource. - Typically, this is due to the fact that the alarm is already in the - state that is requested to be set (such as trying to acknowledge an - already-acknowledged alarm). - The response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 9d643eb7..3331c235 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -33,9 +33,9 @@ produces: - application/json paths: -############################################################################### -# Notification endpoint AlarmNotification # -############################################################################### + ############################################################################### + # Notification endpoint AlarmNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification': post: description: > @@ -75,7 +75,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -129,7 +129,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification endpoint was tested successfully. @@ -163,9 +163,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint AlarmClearedNotification # -############################################################################### + ############################################################################### + # Notification endpoint AlarmClearedNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification': post: description: > @@ -205,7 +205,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -259,7 +259,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification endpoint was tested successfully. @@ -293,15 +293,15 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint AlarmListRebuiltNotification # -############################################################################### + ############################################################################### + # Notification endpoint AlarmListRebuiltNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification': post: description: > Notify - + The POST method notifies a VNF alarm or that the alarm list has been rebuilt. parameters: @@ -335,7 +335,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -389,7 +389,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification endpoint was tested successfully. diff --git a/src/SOL002/VNFIndicator/definitions/VnfIndicatorNotificationsFilter_def.yaml b/src/SOL002/VNFIndicator/definitions/VnfIndicatorNotificationsFilter_def.yaml index 6a8b9a43..af90510c 100644 --- a/src/SOL002/VNFIndicator/definitions/VnfIndicatorNotificationsFilter_def.yaml +++ b/src/SOL002/VNFIndicator/definitions/VnfIndicatorNotificationsFilter_def.yaml @@ -13,7 +13,7 @@ definitions: description: > Filter criteria to select VNF instances about which to notify. This attribute shall not be included when the VNFM sends a subscription request to a particular VNF instance. - $ref: 'VnfInstanceSubscriptionFilter_def.yaml#/definitions/VnfInstanceSubscriptionFilter' + $ref: 'VnfInstanceSubscriptionFilter_def.yaml#/definitions/VnfInstanceSubscriptionFilter' indicatorIds: description: > Match particular VNF indicator identifiers. diff --git a/src/SOL002/VNFIndicator/definitions/VnfIndicatorSubscriptionRequest_def.yaml b/src/SOL002/VNFIndicator/definitions/VnfIndicatorSubscriptionRequest_def.yaml index fc7b2b15..09e8c6d6 100644 --- a/src/SOL002/VNFIndicator/definitions/VnfIndicatorSubscriptionRequest_def.yaml +++ b/src/SOL002/VNFIndicator/definitions/VnfIndicatorSubscriptionRequest_def.yaml @@ -12,7 +12,7 @@ definitions: Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. - $ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter' + $ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter' callbackUri: description: > The URI of the endpoint to send the notification to. diff --git a/src/SOL002/VNFIndicator/definitions/VnfIndicatorSubscription_def.yaml b/src/SOL002/VNFIndicator/definitions/VnfIndicatorSubscription_def.yaml index b22ef1fc..406680a1 100644 --- a/src/SOL002/VNFIndicator/definitions/VnfIndicatorSubscription_def.yaml +++ b/src/SOL002/VNFIndicator/definitions/VnfIndicatorSubscription_def.yaml @@ -12,13 +12,13 @@ definitions: id: description: > Identifier of this subscription resource. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' filter: description: > Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. - $ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter' + $ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter' callbackUri: description: > The URI of the endpoint to send the notification to. diff --git a/src/SOL002/VNFIndicator/definitions/VnfIndicator_def.yaml b/src/SOL002/VNFIndicator/definitions/VnfIndicator_def.yaml index 3348fab1..70523565 100644 --- a/src/SOL002/VNFIndicator/definitions/VnfIndicator_def.yaml +++ b/src/SOL002/VNFIndicator/definitions/VnfIndicator_def.yaml @@ -1,6 +1,6 @@ definitions: - VnfIndicator: + VnfIndicator: type: object required: - id @@ -11,7 +11,7 @@ definitions: id: $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd' name: - type: string + type: string value: type: object vnfInstanceId: diff --git a/src/SOL002/VNFIndicator/definitions/VnfInstanceSubscriptionFilter_def.yaml b/src/SOL002/VNFIndicator/definitions/VnfInstanceSubscriptionFilter_def.yaml index 19981aaf..ea226bf6 100644 --- a/src/SOL002/VNFIndicator/definitions/VnfInstanceSubscriptionFilter_def.yaml +++ b/src/SOL002/VNFIndicator/definitions/VnfInstanceSubscriptionFilter_def.yaml @@ -18,7 +18,7 @@ definitions: If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See NOTE 1. type: array - items: + items: $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' vnfProductsFromProviders: description: > @@ -47,7 +47,7 @@ definitions: description: > Name of the VNF product to match. type: string - versions: + versions: description: > If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider. @@ -72,7 +72,7 @@ definitions: description: > If present, match VNF instances with an instance identifier listed in this attribute. See NOTE 2. type: array - items: + items: $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' vnfInstanceNames: description: > diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 8ee53b08..5ab829db 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -1,6 +1,6 @@ swagger: "2.0" -info: +info: version: "1.2.0" title: SOL002 - VNF Indicator Notification Endpoint interface description: > @@ -24,87 +24,87 @@ schemes: - http - https -consumes: +consumes: - application/json -produces: +produces: - application/json paths: - /notificationendpoint: + /notificationendpoint: + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + 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 the server to the client. parameters: - - name: Version + - name: vnfIndicatorValueChangeNotification + in: body description: > - Version of the API requested to use when responding to this request. - in: header + A notification about VNF indicator value changes. required: true - type: string - 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 the server to the client. - parameters: - - name: vnfIndicatorValueChangeNotification - in: body - description: > - A notification about VNF indicator value changes. - required: true - schema: - $ref: 'definitions/VnfIndicatorValueChangeNotification_def.yaml#/definitions/VnfIndicatorValueChangeNotification' - responses: - 204: - description: > - No Content + schema: + $ref: 'definitions/VnfIndicatorValueChangeNotification_def.yaml#/definitions/VnfIndicatorValueChangeNotification' + responses: + 204: + description: > + No Content - The notification was delivered successfully. The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 + The notification was delivered successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicatorNotification_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } - get: - summary: Test notification endpoint. - description: > - Service Unavailable + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 409: { $ref: 'responses/VNFIndicatorNotification_resp.yaml#/responses/409' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } + 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: - description: > - No Content + The GET method allows the server to test the notification endpoint that is provided + by the client, e.g. during subscription. + responses: + 204: + description: > + No Content - The notification endpoint was tested successfully. The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } - 409: { $ref: 'responses/VNFIndicatorNotification_resp.yaml#/responses/409' } - 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } - 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } \ No newline at end of file + The notification endpoint was tested successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } + 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } + 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } + 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } + 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } + 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } + 409: { $ref: 'responses/VNFIndicatorNotification_resp.yaml#/responses/409' } + 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } + 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } + 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } + 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } \ No newline at end of file diff --git a/src/SOL002/VNFIndicatorNotification/definitions/VnfIndicatorValueChangeNotification_def.yaml b/src/SOL002/VNFIndicatorNotification/definitions/VnfIndicatorValueChangeNotification_def.yaml index d4ab65d0..517979e3 100644 --- a/src/SOL002/VNFIndicatorNotification/definitions/VnfIndicatorValueChangeNotification_def.yaml +++ b/src/SOL002/VNFIndicatorNotification/definitions/VnfIndicatorValueChangeNotification_def.yaml @@ -19,7 +19,7 @@ definitions: 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' + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' notificationType: description: > Discriminator for the different notification types. diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index fceed42a..91cbff64 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1,6 +1,6 @@ swagger: "2.0" -info: +info: version: "1.2.0" title: SOL002 - VNF Lifecycle Management interface description: > @@ -22,14 +22,14 @@ externalDocs: basePath: /vnflcm/v1 -schemes: +schemes: - http - https -consumes: +consumes: - application/json -produces: +produces: - application/json paths: @@ -226,7 +226,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK Information about zero or more VNF instances was queried @@ -314,7 +314,7 @@ paths: Information about an individual VNF instance was queried successfully. responses: 200: - description: > + description: > 200 OK Information about zero or more VNF instances was queried @@ -442,13 +442,13 @@ paths: attribute should convey more information about the error. $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" 412: -# description: > -# 412 PRECONDITION FAILED -# -# Error: A precondition given in an HTTP request header is not fulfilled. -# Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. -# The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey -# more information about the error. + # description: > + # 412 PRECONDITION FAILED + # + # Error: A precondition given in an HTTP request header is not fulfilled. + # Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + # The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey + # more information about the error. $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" 416: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" @@ -468,7 +468,7 @@ paths: This method deletes an individual VNF instance resource. responses: 204: - description: > + description: > 204 NO CONTENT The VNF instance resource and the associated VNF identifier were @@ -551,7 +551,7 @@ paths: in: header required: false type: string - post: + post: #SOL003 location: 5.4.4.3.1 description: > The POST method instantiates a VNF instance. @@ -564,7 +564,7 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" responses: 202: - description: > + description: > 202 ACCEPTED The request was accepted for processing, but the processing has not been completed. @@ -663,7 +663,7 @@ paths: in: header required: false type: string - post: + post: #SOL003 location: 5.4.5.3.1 description: > The POST method requests to scale a VNF instance resource @@ -777,7 +777,7 @@ paths: in: header required: false type: string - post: + post: #SOL003 location: 5.4.6.3.1 description: > The POST method requests to scale a VNF instance resource to a target @@ -892,7 +892,7 @@ paths: in: header required: false type: string - post: + post: description: > The POST method changes the deployment flavour of a VNF instance. parameters: @@ -1004,7 +1004,7 @@ paths: in: header required: false type: string - post: + post: description: > The POST method terminates a VNF instance. parameters: @@ -1116,7 +1116,7 @@ paths: in: header required: false type: string - post: + post: description: > The POST method requests to heal a VNF instance resource. parameters: @@ -1228,7 +1228,7 @@ paths: in: header required: false type: string - post: + post: description: > The POST method changes the operational state of a VNF instance resource. parameters: @@ -1341,12 +1341,12 @@ paths: in: header required: false type: string - post: + post: description: > The POST method changes the external connectivity of a VNF instance. parameters: - name: ChangeExtVnfConnectivityRequest - description: > + description: > Parameters for the Change external VNF connectivity operation. in: body required: true @@ -1443,7 +1443,7 @@ paths: in: header required: false type: string - get: + get: description: > The client can use this method to query status information about multiple VNF lifecycle management operation occurrences. @@ -1619,7 +1619,7 @@ paths: in: header required: false type: string - get: + get: description: > The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an individual @@ -1710,7 +1710,7 @@ paths: in: header required: false type: string - post: + post: description: > The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related @@ -1803,7 +1803,7 @@ paths: in: header required: false type: string - post: + post: description: > The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related @@ -1896,14 +1896,14 @@ paths: in: header required: false type: string - post: + post: description: > The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation occurrence is in "FAILED_TEMP" state. responses: 200: - description: > + description: > 200 OK The state of the VNF lifecycle management operation occurrence was @@ -1997,7 +1997,7 @@ paths: in: header required: false type: string - post: + post: description: > The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the related @@ -2080,12 +2080,12 @@ paths: in: header required: false type: string - post: + post: description: > The POST method creates a new subscription. parameters: - name: LccnSubscriptionRequest - description: > + description: > Details of the subscription to be created. in: body required: true @@ -2093,7 +2093,7 @@ paths: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest" responses: 201: - description: > + description: > 201 CREATED The subscription was created successfully. The response body shall @@ -2159,7 +2159,7 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - get: + get: description: > The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for @@ -2199,7 +2199,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK The list of subscriptions was queried successfully. @@ -2287,7 +2287,7 @@ paths: an individual subscription resource. responses: 200: - description: > + description: > 200 OK The operation has completed successfully. @@ -2343,7 +2343,7 @@ paths: The DELETE method terminates an individual subscription. responses: 204: - description: > + description: > 204 NO CONTENT The subscription resource was deleted successfully. diff --git a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index 1a25ac26..83211e8a 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -44,7 +44,7 @@ definitions: (for new and modified resources) or has been (for removed resources) available from the VIM. $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - + AffectedVnfc: description: > This type provides information about added, deleted, modified and @@ -99,14 +99,14 @@ definitions: This type represents a parameter to select the mode of cancelling an ongoing VNF LCM operation occurrence. type: object - required: + required: - cancelMode properties: cancelMode: description: > Cancellation mode to apply. $ref: "#/definitions/CancelModeType" - + CancelModeType: description: > Cancellation mode. @@ -371,7 +371,7 @@ definitions: $ref: "#/definitions/VirtualStorageResourceInfo" vnfcInfo: description: "TBD" - type: string + type: string metadata: description: > Additional VNF-specific metadata describing the VNF instance. @@ -457,10 +457,10 @@ definitions: This type represents the links to resources that a notification can contain. type: object - required: + required: - vnfInstance - subscription - properties: + properties: vnfInstance: description: > Link to the resource representing the VNF instance to which the @@ -522,7 +522,7 @@ definitions: required: - callbackUri properties: - filter: + filter: description: > Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular @@ -574,12 +574,12 @@ definitions: description: > Assigned MAC address. type: string - #TODO: Can we describe the syntax of this (Table 4.4.2.2-1)? + #TODO: Can we describe the syntax of this (Table 4.4.2.2-1)? ipAddress: description: > IP address. Present if an IP address was assigned. type: string - #TODO: Can we describe the syntax of this (Table 4.4.2.2-1)? + #TODO: Can we describe the syntax of this (Table 4.4.2.2-1)? subnetIpRanges: description: > IP address ranges defining the subnet in which the IP address was @@ -661,7 +661,7 @@ definitions: * SCALE_IN: removing VNFC instances from the VNF in order to release unused capacity. type: string - enum: + enum: - SCALE_OUT - SCALE_IN aspectId: @@ -681,7 +681,7 @@ definitions: process, specific to the VNF being scaled, as declared in the VNFD as part of "ScaleVnfOpConfig". $ref: "#/definitions/KeyValuePairs" - + ScaleVnfToLevelRequest: description: > This type represents request parameters for the "Scale VNF to Level" @@ -689,7 +689,7 @@ definitions: type: object properties: instantiationLevelId: - description: > + description: > Identifier of the target instantiation level of the current deployment flavour to which the VNF is requested to be scaled. Either the instantiationLevelId attribute or the scaleInfo attribute @@ -718,7 +718,7 @@ definitions: type: string enum: - FORCEFUL - + TerminateVnfRequest: type: object required: @@ -772,15 +772,15 @@ definitions: Metadata about this resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - + VnfExtCpData: # Ref TBD description: > This type represents an external CP. type: object - required: + required: - cpdId - properties: + properties: cpdId: description: > The identifier of the CPD in the VNFD. @@ -807,7 +807,7 @@ definitions: informs the receiver of the deletion of a new VNF instance resource and the associated VNF instance identifier. type: object - required: + required: - id - notificationType - timeStamp @@ -926,9 +926,9 @@ definitions: They should not be used both in the same filter instance, but one alternative should be chosen. type: array - items: + items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - + vnfInstanceNames: description: > If present, match VNF instances with a VNF Instance Name listed in @@ -938,9 +938,9 @@ definitions: They should not be used both in the same filter instance, but one alternative should be chosen. type: array - items: + items: type: string - + VnfLcmOpOcc: description: > This type represents a VNF lifecycle management operation occurrence. diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index d04a1f84..e33b99b3 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -72,7 +72,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -107,9 +107,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint VnfIdentifierCreationNotification # -############################################################################### + ############################################################################### + # Notification endpoint VnfIdentifierCreationNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierCreationNotification': post: description: > @@ -148,7 +148,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -183,15 +183,15 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint VnfIdentifierDeletionNotification # -############################################################################### + ############################################################################### + # Notification endpoint VnfIdentifierDeletionNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierDeletionNotification': post: description: > Notify - + The POST method delivers a notification from the server to the client. parameters: - name: VnfIdentifierDeletionNotification @@ -224,7 +224,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. diff --git a/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml b/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml index c056eb58..8b148c66 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml @@ -78,7 +78,7 @@ definitions: * RESULT: Informs about the final or intermediate result of the VNF LCM operation occurrence. type: string - enum: + enum: - START - RESULT operationState: diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 920f709d..c3d3f338 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -1,6 +1,6 @@ swagger: "2.0" -info: +info: version: "1.2.0" title: SOL002 - VNF Perfomance Management interface description: > @@ -22,14 +22,14 @@ externalDocs: basePath: /vnfpm/v1 -schemes: +schemes: - http - https -consumes: +consumes: - application/json -produces: +produces: - application/json paths: @@ -84,7 +84,7 @@ paths: type: string responses: 201: - description: > + description: > 201 CREATED The PM job was created successfully. The response body shall @@ -232,7 +232,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK Information about zero or more PM jobs was queried successfully. @@ -336,7 +336,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK Information about an individual PM job was queried successfully. @@ -392,7 +392,7 @@ paths: This method terminates an individual PM job. responses: 204: - description: > + description: > 204 NO CONTENT The PM job was deleted successfully. @@ -486,7 +486,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK Information of an individual performance report was read @@ -585,7 +585,7 @@ paths: type: string responses: 201: - description: > + description: > 201 CREATED A threshold was created successfully. The response body shall @@ -694,7 +694,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK Information about zero or more thresholds was queried @@ -730,7 +730,7 @@ paths: minimum: 0 schema: type: array - items: + items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" @@ -762,7 +762,7 @@ paths: ############################################################################### '/thresholds/{thresholdId}': #SOL003 location: 6.4.6 - parameters: + parameters: - name: thresholdId description: > Identifier of the threshold. @@ -799,7 +799,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK Information about an individual threshold was queried @@ -863,7 +863,7 @@ paths: type: string responses: 204: - description: > + description: > 204 NO CONTENT The threshold was deleted successfully. @@ -953,7 +953,7 @@ paths: type: string responses: 201: - description: > + description: > 201 CREATED The subscription was created successfully. A representation of the @@ -1075,7 +1075,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK The list of subscriptions was queried successfully. @@ -1111,7 +1111,7 @@ paths: minimum: 0 schema: type: array - items: + items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" @@ -1180,7 +1180,7 @@ paths: type: string responses: 200: - description: > + description: > 200 OK The subscription was read successfully. The response body shall @@ -1243,7 +1243,7 @@ paths: type: string responses: 204: - description: > + description: > 204 NO CONTENT The subscription resource was deleted successfully. diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index c8995a2c..41cfd395 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -33,9 +33,9 @@ produces: - application/json paths: -############################################################################### -# Notification endpoint PerformanceInformationAvailableNotification # -############################################################################### + ############################################################################### + # Notification endpoint PerformanceInformationAvailableNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-PerformanceInformationAvailableNotification': post: description: > @@ -74,7 +74,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -127,7 +127,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification endpoint was tested successfully. @@ -160,15 +160,15 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint ThresholdCrossedNotification # -############################################################################### + ############################################################################### + # Notification endpoint ThresholdCrossedNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-ThresholdCrossedNotification': post: description: > Notify - + The POST method delivers a notification regarding a performance management event from the server to the client. parameters: @@ -201,7 +201,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -254,7 +254,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification endpoint was tested successfully. diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index c8cf416c..aa0d40ea 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -1,5 +1,5 @@ swagger: "2.0" - + info: version: "1.2.0" title: SOL003 - VNF Fault Management interface @@ -11,7 +11,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - + In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes @@ -45,11 +45,11 @@ paths: '/api-versions': $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' -############################################################################### -# Alarms # -############################################################################### + ############################################################################### + # Alarms # + ############################################################################### '/alarms': - #SOL003 location: 7.4.2 + #SOL003 location: 7.4.2 get: description: > Get Alarm List @@ -100,7 +100,7 @@ paths: type: string responses: 200: - description: > + description: > OK Information about zero or more alarms was queried successfully. @@ -145,11 +145,11 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual alarm # -############################################################################### + ############################################################################### + # Individual alarm # + ############################################################################### '/alarms/{alarmId}': - #SOL003 location: 7.4.3 + #SOL003 location: 7.4.3 parameters: - name: alarmId description: > @@ -195,7 +195,7 @@ paths: type: string responses: 200: - description: > + description: > OK Information about an individual alarm was read successfully. @@ -269,7 +269,7 @@ paths: type: string responses: 200: - description: > + description: > OK The request was accepted and completed. The response body shall @@ -311,11 +311,11 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Subscriptions # -############################################################################### + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': - #SOL003 location: 7.4.4 + #SOL003 location: 7.4.4 post: description: > Subscribe @@ -368,7 +368,7 @@ paths: type: string responses: 201: - description: > + description: > Created The subscription was created successfully. The response body shall @@ -471,7 +471,7 @@ paths: type: string responses: 200: - description: > + description: > OK The list of subscriptions was queried successfully. The response @@ -528,11 +528,11 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual subscription # -############################################################################### + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': - #SOL003 location: 7.4.5 + #SOL003 location: 7.4.5 parameters: - name: subscriptionId description: > @@ -581,7 +581,7 @@ paths: type: string responses: 200: - description: > + description: > OK The operation has completed successfully. @@ -629,7 +629,7 @@ paths: description: > Terminate Subscription - + This method terminates an individual subscription. parameters: - name: Authorization @@ -647,7 +647,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The subscription resource was deleted successfully. diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 1c21cf0a..3bf4e0bb 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -11,7 +11,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - + In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes @@ -39,9 +39,9 @@ produces: - "application/json" paths: -############################################################################### -# Notification endpoint AlarmNotification # -############################################################################### + ############################################################################### + # Notification endpoint AlarmNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification': #SOL003 location: 7.4.6 post: @@ -82,7 +82,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -136,7 +136,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification endpoint was tested successfully. @@ -170,9 +170,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint AlarmClearedNotification # -############################################################################### + ############################################################################### + # Notification endpoint AlarmClearedNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification': #SOL003 location: 7.4.6 post: @@ -213,7 +213,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -267,7 +267,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification endpoint was tested successfully. @@ -301,16 +301,16 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint AlarmListRebuiltNotification # -############################################################################### + ############################################################################### + # Notification endpoint AlarmListRebuiltNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification': #SOL003 location: 7.4.6 post: description: > Notify - + The POST method notifies a VNF alarm or that the alarm list has been rebuilt. parameters: @@ -344,7 +344,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -398,7 +398,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification endpoint was tested successfully. diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 060e356a..facd756b 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -11,7 +11,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - + In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes @@ -44,11 +44,11 @@ paths: '/api-versions': $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' -############################################################################### -# VNF indicators # -############################################################################### + ############################################################################### + # VNF indicators # + ############################################################################### '/indicators': - #SOL003 location: 8.4.2 + #SOL003 location: 8.4.2 get: description: > Get Indicator Value @@ -97,7 +97,7 @@ paths: type: string responses: 200: - description: > + description: > OK Information about zero or more VNF indicators was queried @@ -139,7 +139,7 @@ paths: minimum: 0 schema: type: array - items: + items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" @@ -155,11 +155,11 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# VNF indicators related to a VNF instance # -############################################################################### + ############################################################################### + # VNF indicators related to a VNF instance # + ############################################################################### '/indicators/{vnfInstanceId}': - #SOL003 location: 8.4.3 + #SOL003 location: 8.4.3 parameters: - name: vnfInstanceId description: > @@ -227,7 +227,7 @@ paths: type: string responses: 200: - description: > + description: > OK Information about zero or more VNF indicators was queried @@ -269,7 +269,7 @@ paths: minimum: 0 schema: type: array - items: + items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" @@ -285,11 +285,11 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual VNF indicator # -############################################################################### + ############################################################################### + # Individual VNF indicator # + ############################################################################### '/indicators/{vnfInstanceId}/{indicatorId}': - #SOL003 location: 8.4.4 + #SOL003 location: 8.4.4 parameters: - name: indicatorId description: > @@ -346,7 +346,7 @@ paths: type: string responses: 200: - description: > + description: > OK The VNF indicator was read successfully. @@ -374,7 +374,7 @@ paths: type: string maximum: 1 minimum: 1 - schema: + schema: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" @@ -390,9 +390,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Subscriptions # -############################################################################### + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': post: description: > @@ -446,7 +446,7 @@ paths: type: string responses: 201: - description: > + description: > Created The subscription was created successfully. @@ -482,7 +482,7 @@ paths: minimum: 1 schema: type: array - items: + items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" 303: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" @@ -557,7 +557,7 @@ paths: type: string responses: 200: - description: > + description: > OK The list of subscriptions was queried successfully. @@ -603,7 +603,7 @@ paths: minimum: 0 schema: type: array - items: + items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" @@ -619,11 +619,11 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual subscription # -############################################################################### + ############################################################################### + # Individual subscription # + ############################################################################### '/indicators/subscriptions/{subscriptionId}': - #SOL003 location: 8.4.6 + #SOL003 location: 8.4.6 parameters: - name: subscriptionId description: > @@ -671,7 +671,7 @@ paths: type: string responses: 200: - description: > + description: > OK The operation has completed successfully. @@ -699,7 +699,7 @@ paths: type: string maximum: 1 minimum: 1 - schema: + schema: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" @@ -719,7 +719,7 @@ paths: description: > Terminate Subscription - + The DELETE method terminates an individual subscription. parameters: - name: Authorization @@ -744,7 +744,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The subscription resource was deleted successfully. diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 10179344..89d50460 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -11,7 +11,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - + In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes @@ -39,16 +39,16 @@ produces: - "application/json" paths: -############################################################################### -# Notification endpoint VnfIndicatorValueChangeNotification # -############################################################################### + ############################################################################### + # Notification endpoint VnfIndicatorValueChangeNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIndicatorValueChangeNotification': #SOL003 location: 8.4.7 post: description: > Notify - + The POST method notifies a VNF alarm or that the alarm list has been rebuilt. parameters: @@ -74,7 +74,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -128,7 +128,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification endpoint was tested successfully. diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index e9bdf478..2f73410e 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -11,7 +11,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - + In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes @@ -45,9 +45,9 @@ paths: '/api-versions': $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' -############################################################################### -# VNF instances # -############################################################################### + ############################################################################### + # VNF instances # + ############################################################################### '/vnf_instances': #SOL003 location: 5.4.2 post: @@ -226,7 +226,7 @@ paths: type: string responses: 200: - description: > + description: > OK Information about zero or more VNF instances was queried @@ -287,9 +287,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual VNF instance # -############################################################################### + ############################################################################### + # Individual VNF instance # + ############################################################################### '/vnf_instances/{vnfInstanceId}': #SOL003 location: 5.4.3.2 parameters: @@ -340,7 +340,7 @@ paths: type: string responses: 200: - description: > + description: > OK Information about zero or more VNF instances was queried @@ -402,7 +402,7 @@ paths: resource parameters: - name: VnfInfoModificationRequest - description: > + description: > Input parameters for VNF info modification. required: true in: body @@ -475,7 +475,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The VNF instance resource and the associated VNF identifier were @@ -516,9 +516,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Instantiate VNF task # -############################################################################### + ############################################################################### + # Instantiate VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/instantiate': #SOL003 location: 5.4.4.2 parameters: @@ -532,7 +532,7 @@ paths: in: path type: string required: true - post: + post: #SOL003 location: 5.4.4.3.1 description: > Instantiate VNF @@ -575,7 +575,7 @@ paths: type: string responses: 202: - description: > + description: > Accepted The request was accepted for processing, but the processing has @@ -623,9 +623,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Scale VNF task # -############################################################################### + ############################################################################### + # Scale VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/scale': #SOL003 location: 5.4.5.2 parameters: @@ -639,7 +639,7 @@ paths: in: path type: string required: true - post: + post: #SOL003 location: 5.4.5.3.1 description: > Scale VNF @@ -702,9 +702,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Scale VNF to Level task # -############################################################################### + ############################################################################### + # Scale VNF to Level task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/scale_to_level': #SOL003 location: 5.4.6.2 parameters: @@ -718,12 +718,12 @@ paths: in: path type: string required: true - post: + post: #SOL003 location: 5.4.6.3.1 description: > Scale VNF to Level - + The POST method requests to scale a VNF instance resource to a target level. parameters: @@ -781,9 +781,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Change VNF Flavour task # -############################################################################### + ############################################################################### + # Change VNF Flavour task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/change_flavour': #SOL003 location: 5.4.7.2 parameters: @@ -798,7 +798,7 @@ paths: in: path type: string required: true - post: + post: description: > Change VNF Flavour @@ -859,9 +859,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Terminate VNF task # -############################################################################### + ############################################################################### + # Terminate VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/terminate': #SOL003 location: 5.4.8.2 parameters: @@ -875,7 +875,7 @@ paths: in: path type: string required: true - post: + post: description: > Terminate VNF @@ -936,9 +936,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Heal VNF task # -############################################################################### + ############################################################################### + # Heal VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/heal': #SOL003 location: 5.4.9.2 parameters: @@ -952,7 +952,7 @@ paths: in: path type: string required: true - post: + post: description: > Heal VNF @@ -1013,9 +1013,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Operate VNF task # -############################################################################### + ############################################################################### + # Operate VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/operate': #SOL003 location: 5.4.9.2 parameters: @@ -1029,7 +1029,7 @@ paths: in: path type: string required: true - post: + post: description: > Operate VNF @@ -1090,9 +1090,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Change external VNF connectivity task # -############################################################################### + ############################################################################### + # Change external VNF connectivity task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/change_ext_conn': #SOL003 location: 5.4.9.2 parameters: @@ -1107,7 +1107,7 @@ paths: in: path type: string required: true - post: + post: description: > Change External VNF Connectivity @@ -1115,7 +1115,7 @@ paths: The POST method changes the external connectivity of a VNF instance. parameters: - name: ChangeExtVnfConnectivityRequest - description: > + description: > Parameters for the Change external VNF connectivity operation. in: body required: true @@ -1169,12 +1169,12 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# VNF LCM operation occurrences # -############################################################################### + ############################################################################### + # VNF LCM operation occurrences # + ############################################################################### '/vnf_lcm_op_occs': #SOL003 location: 5.4.12 - get: + get: description: > Get Operation Status @@ -1316,9 +1316,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual VNF LCM operation occurrence # -############################################################################### + ############################################################################### + # Individual VNF LCM operation occurrence # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}': #SOL003 location: 5.4.13 parameters: @@ -1333,7 +1333,7 @@ paths: in: path required: true type: string - get: + get: description: > Get Operation Status @@ -1411,9 +1411,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Retry operation task # -############################################################################### + ############################################################################### + # Retry operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry': #SOL003 location: 5.4.14 parameters: @@ -1428,7 +1428,7 @@ paths: in: path required: true type: string - post: + post: description: > The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related @@ -1486,9 +1486,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Rollback operation task # -############################################################################### + ############################################################################### + # Rollback operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback': #SOL003 location: 5.4.15 parameters: @@ -1503,7 +1503,7 @@ paths: in: path required: true type: string - post: + post: description: > The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related @@ -1561,9 +1561,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Fail operation task # -############################################################################### + ############################################################################### + # Fail operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail': #SOL003 location: 5.4.16 parameters: @@ -1578,7 +1578,7 @@ paths: in: path required: true type: string - post: + post: description: > The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation occurrence is in "FAILED_TEMP" @@ -1606,7 +1606,7 @@ paths: type: string responses: 200: - description: > + description: > OK The state of the VNF lifecycle management operation occurrence was @@ -1652,9 +1652,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Cancel operation task # -############################################################################### + ############################################################################### + # Cancel operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel': #SOL003 location: 5.4.17 parameters: @@ -1669,7 +1669,7 @@ paths: in: path required: true type: string - post: + post: description: > The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the related @@ -1723,7 +1723,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - description: > + description: > Conflict The operation cannot be executed currently, due to a conflict with @@ -1753,12 +1753,12 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Subscriptions # -############################################################################### + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': #SOL003 location: 5.4.18 - post: + post: description: > Subscribe @@ -1776,7 +1776,7 @@ paths: resource with the same filter and callbackUri). parameters: - name: LccnSubscriptionRequest - description: > + description: > Details of the subscription to be created. in: body required: true @@ -1811,7 +1811,7 @@ paths: type: string responses: 201: - description: > + description: > Created The subscription was created successfully. The response body shall @@ -1845,7 +1845,7 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 303: - description: > + description: > See Other A subscription with the same callbackURI and the same filter already @@ -1889,7 +1889,7 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - get: + get: description: > Query Subscription Information @@ -1939,7 +1939,7 @@ paths: type: string responses: 200: - description: > + description: > OK The list of subscriptions was queried successfully. The response @@ -1980,7 +1980,7 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: - description: > + description: > Bad Request Invalid attribute-based filtering parameters. @@ -2017,9 +2017,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual subscription # -############################################################################### + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': #SOL003 location: 5.4.19 parameters: @@ -2063,7 +2063,7 @@ paths: type: string responses: 200: - description: > + description: > OK The operation has completed successfully. @@ -2111,7 +2111,7 @@ paths: description: > Terminate Subscription - + The DELETE method terminates an individual subscription. parameters: - name: Authorization @@ -2129,7 +2129,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The subscription resource was deleted successfully. diff --git a/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml index 9fa09213..5e4c1274 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml @@ -7,14 +7,14 @@ definitions: This type represents a parameter to select the mode of cancelling an ongoing VNF LCM operation occurrence. type: object - required: + required: - cancelMode properties: cancelMode: description: > Cancellation mode to apply. $ref: "#/definitions/CancelModeType" - + CancelModeType: description: > Cancellation mode. @@ -232,7 +232,7 @@ definitions: the “changeStateTo” attribute is equal to “STOPPED” and the “stopType” attribute is absent. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/StopType" - gracefulStopTimeout: + gracefulStopTimeout: description: > The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop, before stopping the VNF. @@ -261,7 +261,7 @@ definitions: type: object properties: instantiationLevelId: - description: > + description: > Identifier of the target instantiation level of the current deployment flavour to which the VNF is requested to be scaled. Either the instantiationLevelId attribute or the scaleInfo attribute @@ -295,7 +295,7 @@ definitions: enum: - FORCEFUL - GRACEFUL - + TerminateVnfRequest: type: object required: diff --git a/src/SOL003/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml b/src/SOL003/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml index c1866e3b..9b5cfdfa 100644 --- a/src/SOL003/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml +++ b/src/SOL003/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml @@ -3,7 +3,7 @@ responses: 202-with-Location: - description: > + description: > Accepted The request was accepted for processing, but the processing has not @@ -32,7 +32,7 @@ responses: schema: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 202-with-Location-empty: - description: > + description: > Accepted The request was accepted for processing, but the processing has not diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 55e8d101..bef532d4 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -11,7 +11,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - + In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes @@ -39,9 +39,9 @@ produces: - "application/json" paths: -############################################################################### -# Notification endpoint VnfLcmOperationOccurrenceNotification # -############################################################################### + ############################################################################### + # Notification endpoint VnfLcmOperationOccurrenceNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfLcmOperationOccurrenceNotification': post: description: > @@ -78,7 +78,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -113,9 +113,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint VnfIdentifierCreationNotification # -############################################################################### + ############################################################################### + # Notification endpoint VnfIdentifierCreationNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierCreationNotification': post: description: > @@ -154,7 +154,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. @@ -189,15 +189,15 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint VnfIdentifierDeletionNotification # -############################################################################### + ############################################################################### + # Notification endpoint VnfIdentifierDeletionNotification # + ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierDeletionNotification': post: description: > Notify - + The POST method delivers a notification from the server to the client. parameters: - name: VnfIdentifierDeletionNotification @@ -230,7 +230,7 @@ paths: type: string responses: 204: - description: > + description: > No Content The notification was delivered successfully. diff --git a/src/SOL003/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml b/src/SOL003/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml index c056eb58..8b148c66 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml @@ -78,7 +78,7 @@ definitions: * RESULT: Informs about the final or intermediate result of the VNF LCM operation occurrence. type: string - enum: + enum: - START - RESULT operationState: diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index 5fae16b4..34bf33f8 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -11,7 +11,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - + In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes @@ -45,11 +45,11 @@ paths: '/api-versions': $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' -############################################################################### -# Resource: Grants # -############################################################################### + ############################################################################### + # Resource: Grants # + ############################################################################### '/grants': - #SOL003 location: 9.4.2 + #SOL003 location: 9.4.2 post: description: > Grant Lifecycle Operation @@ -192,11 +192,11 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Resource: Individual grant # -############################################################################### + ############################################################################### + # Resource: Individual grant # + ############################################################################### '/grants/{grantId}': - #SOL003 location: 9.4.3 + #SOL003 location: 9.4.3 parameters: - name: grantId description: > @@ -212,7 +212,7 @@ paths: description: > Grant Lifecycle Operation - + The GET method retrieves information about a specific grant by reading an individual grant resource. parameters: diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml index d59e8571..e7a33626 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml @@ -1,6 +1,6 @@ definitions: ConstraintResourceRef: - description: > + description: > This type references a resource either by its VIM-level identifier for existing resources, or by the identifier of a "ResourceDefinition" structure in the "GrantRequest" structure for new resources. @@ -10,7 +10,7 @@ definitions: - resourceId properties: idType: - description: > + description: > The type of the identifier. Permitted values: * RES_MGMT: Resource-management-level identifier; this identifier is @@ -19,17 +19,17 @@ definitions: * GRANT: Reference to the identifier of a "ResourceDefinition" structure in the "GrantRequest" structure. type: string - enum: + enum: - RES_MGMT - GRANT resourceId: - description: > + description: > An actual resource-management-level identifier (idType=RES_MGMT), or an identifier that references a "ResourceDefinition" structure in the related "GrantRequest" structure (idType=GRANT). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" vimConnectionId: - description: > + description: > Identifier of the VIM connection for managing the resource. It shall only be present when idType = RES_MGMT. The applicable "VimConnectionInfo" structure, which is referenced by @@ -39,7 +39,7 @@ definitions: management in direct mode is applicable. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" resourceProviderId: - description: > + description: > Identifier of the resource provider. It shall only be present when idType = RES_MGMT. This attribute shall only be supported when VNF-related resource @@ -48,30 +48,30 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" Grant: - description: > + description: > This type represents a grant. type: object - required: + required: - id - vnfInstanceId - vnfLcmOpOccId - _links - properties: + properties: id: - description: > + description: > Identifier of the grant. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfInstanceId: - description: > + description: > Identifier of the related VNF instance. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfLcmOpOccId: - description: > + description: > Identifier of the related VNF lifecycle management operation occurrence. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vimConnections: - description: > + description: > Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources, and provides parameters of these VIM connections. @@ -98,7 +98,7 @@ definitions: Identifies resource zones where the resources are approved to be allocated by the VNFM. type: array - items: + items: $ref: "#/definitions/ZoneInfo" zoneGroups: description: > @@ -109,7 +109,7 @@ definitions: constraints that were passed as part of "placementConstraints" in the GrantRequest. type: array - items: + items: $ref: "#/definitions/ZoneGroupInfo" computeReservationId: description: > @@ -184,14 +184,14 @@ definitions: Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM. type: array - items: + items: $ref: "#/definitions/VimComputeResourceFlavour" softwareImages: description: > Mappings between software images defined in the VNFD and software images managed in the VIM. type: array - items: + items: $ref: "#/definitions/VimSoftwareImage" extVirtualLinks: description: > @@ -204,7 +204,7 @@ definitions: lifecycle management request, if the lifecycle management request has originated from the NFVO itself. type: array - items: + items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" extManagedVirtualLinks: description: > @@ -236,11 +236,11 @@ definitions: description: > Links to resources related to this resource. type: object - required: + required: - self - vnfLcmOpOcc - vnfInstance - properties: + properties: self: description: > URI of this resource. @@ -255,10 +255,10 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" GrantRequest: - description: > + description: > This type represents a grant request. type: object - required: + required: - vnfInstanceId - vnfLcmOpOccId - vnfdId @@ -406,27 +406,27 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" GrantInfo: - description: > + description: > This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted. type: object - required: + required: - resourceDefinitionId - properties: + properties: resourceDefinitionId: - description: > + description: > Identifier of the related "ResourceDefinition" structure from the related "GrantRequest" structure. $ref: "#/definitions/IdentifierLocal" reservationId: - description: > + description: > The reservation identifier applicable to the VNFC/VirtualLink/VirtualStorage. It shall be present for new resources when policy is GRANT_RESERVE_MULTI and an applicable reservation exists; shall not be present otherwise. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vimConnectionId: - description: > + description: > Identifier of the VIM connection to be used to manage this resource. Shall be present for new resources, and shall be absent for resources that have already been allocated. @@ -437,7 +437,7 @@ definitions: Management in direct mode is applicable. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" resourceProviderId: - description: > + description: > Identifies the entity responsible for the management of the virtualised resource. Shall be present for new resources, and shall be absent for resources that have already been allocated. @@ -446,7 +446,7 @@ definitions: is outside the scope of the present document. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" zoneId: - description: > + description: > Reference to the identifier of the "ZoneInfo" structure in the "Grant" structure defining the resource zone into which this resource is to be placed. Shall be present for new resources if the @@ -454,7 +454,7 @@ definitions: and shall be absent for resources that have already been allocated. $ref: "#/definitions/IdentifierLocal" resourceGroupId: - description: > + description: > Identifier of the "infrastructure resource group", logical grouping of virtual resources assigned to a tenant within an Infrastructure Domain, to be provided when allocating the resource. @@ -535,7 +535,7 @@ definitions: This type provides information of an existing or proposed resource used by the VNF. type: object - required: + required: - id - type properties: @@ -589,10 +589,10 @@ definitions: the VNFD and the corresponding compute resource flavour managed by the NFVO in the VIM. type: object - required: + required: - vnfdVirtualComputeDescId - vimFlavourId - properties: + properties: vimConnectionId: description: > Identifier of the VIM connection to access the flavour referenced in @@ -628,10 +628,10 @@ definitions: VNFD and the corresponding software image managed by the NFVO in the VIM which is needed during compute resource instantiation. type: object - required: + required: - vnfdSoftwareImageId - vimSoftwareImageId - properties: + properties: vimConnectionId: description: > Identifier of the VIM connection to access the software image @@ -687,7 +687,7 @@ definitions: connection. type: array minItems: 2 - items: + items: $ref: "#/definitions/ConstraintResourceRef" ZoneGroupInfo: @@ -701,7 +701,7 @@ definitions: resource zone into another, in case a particular deployment supports only non-elastic resource zones. type: object - required: + required: - zoneId properties: zoneId: @@ -710,14 +710,14 @@ definitions: provides information about a resource zone that belongs to this group. type: array - items: + items: $ref: "#/definitions/IdentifierLocal" ZoneInfo: description: > This type provides information regarding a resource zone. type: object - required: + required: - id - zoneId properties: diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index bf9ba84b..b7b94a14 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -11,7 +11,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - + In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes @@ -45,9 +45,9 @@ paths: '/api-versions': $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' -############################################################################### -# VNF packages # -############################################################################### + ############################################################################### + # VNF packages # + ############################################################################### '/vnf_packages': #SOL003 location: 10.4.2 get: @@ -133,7 +133,7 @@ paths: type: string responses: 200: - description: > + description: > OK Information about zero or more VNF packages was queried successfully. @@ -191,9 +191,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual VNF package # -############################################################################### + ############################################################################### + # Individual VNF package # + ############################################################################### '/vnf_packages/{vnfPkgId}': parameters: - name: vnfPkgId @@ -235,7 +235,7 @@ paths: type: string responses: 200: - description: > + description: > OK Information of the selected VNF packages. @@ -279,9 +279,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# VNFD in an individual VNF package # -############################################################################### + ############################################################################### + # VNFD in an individual VNF package # + ############################################################################### '/vnf_packages/{vnfPkgId}/vnfd': parameters: - name: vnfPkgId @@ -350,7 +350,7 @@ paths: type: string responses: 200: - description: > + description: > OK On success, the content of the VNFD is returned. @@ -403,9 +403,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# VNF package content # -############################################################################### + ############################################################################### + # VNF package content # + ############################################################################### '/vnf_packages/{vnfPkgId}/package_content': parameters: - name: vnfPkgId @@ -459,7 +459,7 @@ paths: type: string responses: 200: - description: > + description: > OK On success, a copy of the VNF package file is returned. @@ -488,7 +488,7 @@ paths: maximum: 1 minimum: 1 206: - description: > + description: > Partial Content On success, if the NFVO supports range requests, a single @@ -544,9 +544,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual VNF package artifact # -############################################################################### + ############################################################################### + # Individual VNF package artifact # + ############################################################################### '/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}': parameters: - name: artifactPath @@ -609,7 +609,7 @@ paths: type: string responses: 200: - description: > + description: > OK On success, the content of the artifact is returned. @@ -645,7 +645,7 @@ paths: maximum: 1 minimum: 1 206: - description: > + description: > Partial Content On success, if the NFVO supports range requests, a single @@ -701,9 +701,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Subscriptions # -############################################################################### + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': post: description: > @@ -760,7 +760,7 @@ paths: type: string responses: 201: - description: > + description: > Created Representation of the created subscription resource. @@ -864,7 +864,7 @@ paths: type: string responses: 200: - description: > + description: > OK The list of subscriptions was queried successfully. @@ -923,9 +923,9 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" -############################################################################### -# Individual subscription # -############################################################################### + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': #SOL003 location: 10.4.8 parameters: @@ -968,7 +968,7 @@ paths: type: string responses: 200: - description: > + description: > OK Representation of the subscription resource. @@ -1016,7 +1016,7 @@ paths: description: > Terminate subscription - + The DELETE method termina