From b3814751970a87c4b48229893b014b76a8d7585a Mon Sep 17 00:00:00 2001 From: bernini Date: Fri, 17 Dec 2021 18:20:38 +0100 Subject: [PATCH 01/10] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 6379485e..c57246ee 100644 --- a/Readme.md +++ b/Readme.md @@ -1,7 +1,7 @@ # NFV SOL002 and SOL003 APIs This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation -for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v3.5.1. +for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v3.6.1. The APIs described in this repository are defined for the following reference points: -- GitLab From a57552644ce1069aefdf8df306c647e0a8effeae Mon Sep 17 00:00:00 2001 From: muhammadh Date: Tue, 11 Jan 2022 18:04:54 +0500 Subject: [PATCH 02/10] Implement differences between v3.5.1 and v3.6.1 for SOL003 --- src/SOL003/APIVersion/APIVersion.yaml | 4 +- .../VNFFaultManagement.yaml | 6 +- .../SOL003VNFFaultManagement_def.yaml | 39 ++++++- .../VNFFaultManagementNotification.yaml | 6 +- src/SOL003/VNFIndicator/VNFIndicator.yaml | 6 +- .../VNFIndicatorNotification.yaml | 6 +- .../VNFLifecycleManagement.yaml | 6 +- .../SOL003VNFLifecycleManagement_def.yaml | 81 ++++++++++--- .../VNFLifecycleManagementNotification.yaml | 6 +- .../VNFLifecycleOperationGranting.yaml | 6 +- ...L003VNFLifecycleOperationGranting_def.yaml | 109 ++++++++++-------- .../VNFPackageManagement.yaml | 6 +- .../VNFPackageManagementNotification.yaml | 6 +- .../VNFPerformanceManagement.yaml | 4 +- .../VNFPerformanceManagementNotification.yaml | 4 +- .../VNFSnapshotPackageManagement.yaml | 4 +- ...edResourcesQuotaAvailableNotification.yaml | 4 +- ...OL002SOL003VNFLifecycleManagement_def.yaml | 26 ++++- src/definitions/SOL002SOL003_def.yaml | 12 +- 19 files changed, 236 insertions(+), 105 deletions(-) diff --git a/src/SOL003/APIVersion/APIVersion.yaml b/src/SOL003/APIVersion/APIVersion.yaml index b0c11b5c..8a6a30a5 100644 --- a/src/SOL003/APIVersion/APIVersion.yaml +++ b/src/SOL003/APIVersion/APIVersion.yaml @@ -20,8 +20,8 @@ info: version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf paths: /vrqan/api_versions: diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 07d18ac7..fdd46301 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/vnffm/v1 diff --git a/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml b/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml index 7f820455..d9ab6c94 100644 --- a/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml +++ b/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml @@ -1,7 +1,28 @@ definitions: Alarm: description: > - The alarm data type encapsulates information about an alarm. + The alarm data type encapsulates information about an alarm. + + NOTE 1: For an alarm about upcoming impact due to NFVI operation and maintenance (i.e. the attribute + "faultType" has the value "NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE"), the attribute + "rootCauseFaultyResource" indicates a resource to be impacted. Further information on the upcoming + impact (e.g. group of impacted resources, time of impact) is provided in the attribute "faultDetails". + NOTE 2: When alarms are due to upcoming NFVI operation and maintenance (i.e. the attribute "faultType" has the + value "NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE"), the attribute "faultDetails" shall include + information about the anticipated time of the maintenance. See provisions under the present table. + + If the attribute "faultType" has the value "NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE", the following provisions + apply for the values of the attribute "faultDetails" related to changes in the state of virtualised resources: + - One of the entries in the array shall provide information about the anticipated time of maintenance in the + following format: "anticipatedTime=$time", wherein "$time" shall be formatted as a "DateTime", as specified + in ETSI GS NFV-SOL 013 [8]. + - One of the entries in the array shall provide identification information about the affinity/anti-affinity + group defined in the VNFD that is associated to the affected virtualised resource indicated by + "rootCauseFaultyResource" in the following format: "affinityOrAntiAffinityGroupId=$group", wherein + "$group" shall be equal to the "affinityOrAntiAffinityGroupId" value in the corresponding "VduProfile" (for a + VNFC/COMPUTE affected resource) or "VirtualLinkProfile" for a VL/NETWORK affected resource) in the + VNFD, which is mapped by the VNFM to the virtualised resource group identifier in the virtualised resource + change notification received by the VNFM from the VIM. type: object required: - id @@ -26,7 +47,7 @@ definitions: rootCauseFaultyResource: description: > The virtualised resources that are causing the VNF fault. - Shall be present if the alarm affects virtualised resources. + Shall be present if the alarm affects virtualised resources. See note 1. $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FaultyResourceInfo" alarmRaisedTime: description: > @@ -64,7 +85,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType" eventTime: description: > - Time stamp indicating when the fault was observed. + Time stamp indicating when the fault was observed. See note 2. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" eventType: description: > @@ -73,10 +94,20 @@ definitions: faultType: description: > Additional information to clarify the type of the fault. + If the alarm is related to changes in the state of virtualised resources + due to NFVI operation and maintenance, this attribute shall be set to + "NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE". type: string probableCause: description: > Information about the probable cause of the fault. + If the attribute "faultType" has the value “NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE”, + the permitted values are: + - "NFVI_COMPONENT_MAINTENANCE": Maintenance of NFVI components, e.g. + physical maintenance/repair, hypervisor software updates, etc. + - "NFVI_COMPONENT_EVACUATION": Evacuation of physical hosts. + - "NFVI_COMPONENT_OPTIMIZATION": Operation and management of NFVI resources, e.g. + to support energy efficiency or resource usage optimization. type: string isRootCause: description: > @@ -92,7 +123,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" faultDetails: description: > - Provides additional information about the fault. + Provides additional information about the fault. See notes 1 and 2. type: array items: type: string diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 854815e6..7c5ade92 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index f997f994..3e179243 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.3.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/vnfind/v1 diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index a6c018cf..77d9fdf4 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.3.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index cc816d58..ce084644 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/vnflcm/v2 diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index a2dc06f9..6a56505c 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -34,7 +34,14 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" extVirtualLinks: description: > - Information about external VLs to connect the VNF to. + Information about external VLs to connect the VNF to, including configuration information + for the CPs via which the VNF instance can attach to this VL. + The following applies to the "ExtVirtualLinkData" information provided in this + request, together with the related overriding information provided in the + "Grant" structure (see clause 9.5.2.3): Even if the VNF is not instantiated in + fully scaled-out state, the API consumer shall provide enough CP configuration + records to allow connecting the VNF instance, fully scaled out in all scaling + aspects, to the external VLs type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" @@ -164,8 +171,17 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" extVirtualLinks: description: > - Information about external VLs to connect the VNF to. - Entries in the list of external VLs that are unchanged need not be supplied as part of this request. + Information about external VLs to connect the VNF to, including configuration information + for the CPs via which the VNF instance can attach to this VL. + Entries in the list of external VLs that are unchanged need not be supplied as part of + this request. + The following applies to the "ExtVirtualLinkData" information provided in this + request, together with the related "ExtVirtualLinkInfo" information known to the + VNFM represented in the "VnfInstance" structure (see clause 5.5.2.2) and the related + overriding information provided in the "Grant" structure (see clause 9.5.2.3): Even if the VNF + is not in fully scaled-out state after changing the flavour, the API consumer shall provide + enough CP configuration records to allow connecting the VNF instance, fully scaled out in all scaling + aspects, to the external VLs. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" @@ -316,8 +332,17 @@ definitions: properties: extVirtualLinks: description: > - Information about external VLs to change (e.g. connect the VNF to). - Entries in the list of external VLs that are unchanged need not be supplied as part of this request. + Information about external VLs to change (e.g. connect the VNF to) including configuration + information for the CPs via which the VNF instance can attach to this VL. + Entries in the list of external VLs that are unchanged need not be supplied + as part of this request. + The following applies to the "ExtVirtualLinkData" information provided in this request, + together with the related "ExtVirtualLinkInfo" informationknown to the VNFM represented + in the "VnfInstance" structure (see clause 5.5.2.2) and the related overriding + information provided in the "Grant" structure (see clause 9.5.2.3): Even if the VNF + is not in fully scaled-out state, the API consumer shall provide enough CP + configuration records to allow connecting the VNF instance, fully scaled out in + all scaling aspects, to the external VLs. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" @@ -364,8 +389,16 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" extVirtualLinks: description: > - Information about external VLs to connect the VNF to. Entries in the list - that are unchanged need not be supplied as part of this request. + Information about external VLs to connect the VNF to, including configuration information for + the CPs via which the VNF instance can attach to this VL. + Entries in the list that are unchanged need not be supplied as part of this request. + The following applies to the "ExtVirtualLinkData" information provided in this request, + together with the related "ExtVirtualLinkInfo" information known to the VNFM represented + in the "VnfInstance" structure (see clause 5.5.2.2) and the related overriding information + provided in the "Grant" structure (see clause 9.5.2.3): Even if the VNF is not in fully + scaled-out state after the change of the VNF package, the API consumer shall provide enough + CP configuration records to allow connecting the VNF instance, fully scaled + out in all scaling aspects, to the external VLs. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" @@ -839,7 +872,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" extManagedVirtualLinkInfo: description: > - Information about the externally-managed internal VLs of the VNF instance. See note 5 and note 6. + Information about the externally-managed internal VLs of the VNF instance. See notes 5 and 6. type: array items: $ref: "#/definitions/ExtManagedVirtualLinkInfo" @@ -1000,6 +1033,12 @@ definitions: supported for this VNF instance and is possible based on the current status of this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + changeCurrentVnfPkg: + description: > + Link to the "Change current VNF package task" resource, if the related + operation is possible based on the current status of this VNF instance resource + (i.e. VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" ExtManagedVirtualLinkInfo: type: object @@ -1048,6 +1087,11 @@ definitions: description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. + + Note: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo" + structure by an LCM operation occurrence, this does not represent a change that requires + including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence + notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id @@ -1102,6 +1146,10 @@ definitions: CP if it is connected directly to an external VL. NOTE 3: The information can be omitted because it is already available as part of the external CP information. + NOTE 4: If only the value or the presence of this attribute is changed in the "VnfcResourceInfo" + structure by an LCM operation occurrence, this does not represent a change that requires + including a related "AffectedVnfc" structure in the VNF LCM operation occurrence notifications + or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id @@ -1120,7 +1168,7 @@ definitions: description: > Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). + current VNF package" operation or due to its final failure). See note 4. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" computeResource: description: > @@ -1420,6 +1468,11 @@ definitions: description: > This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. + + Note: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo" + structure by an LCM operation occurrence, this does not represent a change that requires including + a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the + "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id @@ -1438,7 +1491,7 @@ definitions: description: > Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). + current VNF package" operation or due to its final failure). See note. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" networkResource: description: > @@ -1929,6 +1982,7 @@ definitions: Signals the type of change. Permitted values: - ADDED + - MODIFIED - REMOVED type: string enum: @@ -2003,6 +2057,7 @@ definitions: entry signals the addition of the VL by using the "changeType" attribute of "AffectedVirtualLink" structure equal to "ADDED", and another "AffectedVirtualLink" entry signals the addition of externally visible VNF link ports of the VL by using the "changeType" equal to "LINK_PORT_ADDED". + Note 3: Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. type: object required: - id @@ -2116,7 +2171,7 @@ definitions: the "operation" attribute is not equal to "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF instance information, including VNF configurable - properties. Shall be absent otherwise. + properties. Shall be absent otherwise. See note 3. $ref: "#/definitions/VnfInfoModifications" affectedVipCps: @@ -2148,8 +2203,8 @@ definitions: description: > Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package. Shall be present if the "notificationStatus" is set to "RESULT", the "operation" attribute is equal to - "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF - instance information, including VNF configurable properties. Shall be absent otherwise. + "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to + "VnfInstance" attributes. Shall be absent otherwise. See note 3. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange" error: description: > diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index e016bb91..dbe03283 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -16,11 +16,11 @@ info: license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index b8905f1a..b5b86885 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.5.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.6.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/grant/v1 diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml index 18150a39..0e888be6 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml @@ -13,17 +13,23 @@ definitions: during the runtime of the LCM operation. This means, the resource can be allocated and consumed after the "start" notification for the LCM operation is sent by the VNFM, and the resource will be released before the "result" notification of the VNF LCM operation is sent by the VNFM. - NOTE 4: The affinity/anti-affinity rules defined in the VNFD and the placement constraints in the GrantVnfLifecycleOperation - as defined in this clause should be conflict-free. In case of conflicts, the placement constraints in the - GrantVnfLifecycleOperation shall take precedence. + NOTE 4: For the affinity/anti-affinity rules defined in the VNFD and the placement constraints in the GrantVnfLifecycleOperation + as defined in this clause, the following applies: Assuming unlimited capacity, the combination of all the + aforementioned rules shall be satisfiable by at least one possible placement of the new resources, with the + exception that some of the rules with fallbackBestEffort may be unsatisfiable due to the actual placement of + existing resources. In this case, rules with fallbackBestEffort are allowed to be violated only in relation + to the placement of existing resources. NOTE 5: Passing constraints allows the VNFM or the lifecycle management scripts to influence resource placement decisions by the NFVO to ensure VNF properties such as performance or fault tolerance. - NOTE 6: If fallbackBestEffort is present in placement constraints and set to "true", the NFVO shall process the Affinity/AntiAffinity - constraint in a best effort manner, in which case, if specified resources cannot be allocated based on specified placement - constraint, the NFVO looks for an alternate best effort placement for the specified resources to be granted. - In the best effort anti-affinity case, the resources are expected to be spread optimally over all available instances of scope - (e.g. zones), and in the best effort affinity case, they are expected to be distributed optimally over fewer possible instances - of scope. + NOTE 6: If fallbackBestEffort is present and set to "true" in one or more placement constraints and, the NFVO + cannot find a resource placement that satisfies all of these due to limited capacity, the NFVO shall process + each such affinity/anti-affinity constraint in a best effort manner, in which case, if specified resources + cannot be allocated based on the specified placement constraint, the NFVO shall look for an alternate best + effort placement for the specified resources to be granted. In the best effort anti-affinity case, the + resources are expected to be spread optimally over all available instances of scope (e.g. zones), and in + the best effort affinity case, they are expected to be distributed optimally over as few instances of scope as + possible. Being able to satisfy a "best-effort" constraint in a best effort manner only, as defined above, + shall not lead to rejecting the grant. type: object required: - vnfInstanceId @@ -164,39 +170,45 @@ definitions: description: > This type represents a grant. - NOTE 1: This interface allows to signal the use of multiple VIMs per VNF. - However, due to the partial support of this feature in the present - release, it is recommended in the present document that the number - of entries in the "vims" attribute in the Grant is not greater than 1. + NOTE 1: This interface allows to signal the use of multiple VIMs per VNF. The specification + for managing the VNF internal VL requirements across multiple VIMs is supported via + "externally-managed internal VLs" and "multi-site connectivity services". NOTE 2: Void. - NOTE 3: The Grant response allows the NFVO to pass to the VNFM VIM assets - related to the VNF package that is identified by the vnfdId attribute - in the corresponding Grant request. The NFVO may send in each Grant - response the full set of VIM assets related to the VNF package defined - by the vnfdId in the related Grant request, but shall send this information - if the vnfdId in the related Grant request differs from the vnfdId passed - in the previous Grant request, or if the Grant response is related to an - InstantiateVnf operation. The set of VIM assets shall not change between - subsequent Grant responses if the vnfdId has not changed. During each LCM - operation occurrence, the VIM assets that relate to the VNF package identified - by the current value of the vnfdId attribute in the "VnfInstance" structure - shall be used by the VNFM for newly created resources. If the VNF package - identifier of the VNF instance has been updated, VIM assets that relate to - the previously-used VNF package(s), and that were communicated in previous - Grant responses, apply to existing resources. - NOTE 4: The indication of externally-managed internal VLs is needed in case networks - have been pre-configured for use with certain VNFs, for instance to ensure that - these networks have certain properties such as security or acceleration features, - or to address particular network topologies. The present document assumes that - externally-managed internal VLs are managed by the NFVO and created towards the VIM. - NOTE 5: For any VNF lifecycle management operation request that allows to pass "extVirtualLinks" - and/or "extManagedVirtualLinks" parameters, such as InstantiateVnf, ChangeVnfFlavour, - ChangeExtVnfConnectivity or ChangeCurrentVnfPackage, the NFVO may provide the "extVirtualLinks" - and/or "extManagedVirtualLinks" attributes in the Grant to override the values passed - in these parameters previously in the associated VNF lifecycle management request, if - the lifecycle management request has originated from the NFVO itself. The NFVO shall - not provide the "extVirtualLinks" and/or "extManagedVirtualLinks" attributes in the - Grant otherwise. + NOTE 3: The Grant response allows the NFVO to pass to the VNFM VIM assets related to the VNF + package that is identified in the corresponding Grant request. Because only the operations + InstantiateVnf, ChangeCurrentVnfPkg and the update of the vnfdId by PATCH can imply changes + in the set of VIM assets, the NFVO shall not change this set in any other case. To signal the + set of VIM assets, the following applies: + a) If the current LCM operation is InstantiateVnf, the NFVO shall send in the Grant response + the full set of VIM assets related to the VNF package defined by the vnfdId in the related + Grant request. + b) If the current LCM operation is ChangeCurrentVnfPkg, the NFVO shall send in the + Grant response the full set of VIM assets related to the VNF package defined by the destVnfdId + in the related Grant request. + c) For any other operation: If the set of VIM assets has changed since the end of the previous + granted operation because a PATCH operation has changed the vnfdId between the previous granted + operation and the operation to which the current granting exchange relates, the NFVO shall send + in the Grant response the full set of VIM assets related to the VNF package defined by the vnfdId + in the related Grant request. Otherwise, the NFVO shall either send in the Grant response the full + set of VIM assets related to the VNF package defined by the vnfdId in the related Grant request, or + shall not send any VIM assets at all. + During each LCM operation occurrence other than a "ChangeCurrentVnfPkg" operation, + the VIM assets that relate to the VNF package identified by the current value of + the vnfdId attribute in the "VnfInstance" structure shall be used by the + VNFM for newly created resources and updated resources. + NOTE 4: The indication of externally-managed internal VLs is needed in case networks have been + pre-configured for use with certain VNFs, for instance to ensure that these networks have + certain properties such as security or acceleration features, or to address particular network + topologies (e.g., multi-site connectivity). The present document assumes that externally-managed + internal VLs are managed by the NFVO and created towards the VIM and WIM. + NOTE 5: For any VNF lifecycle management operation request that allows to pass "extVirtualLinks" and/or + "extManagedVirtualLinks" parameters, such as InstantiateVnf, ChangeVnfFlavour, ChangeExtVnfConnectivity or + ChangeCurrentVnfPackage, the NFVO may provide the "extVirtualLinks" and/or "extManagedVirtualLinks" attributes + in the Grant to override the values passed in these parameters previously in the associated VNF lifecycle + management request, if the lifecycle management request has originated from the NFVO itself. The NFVO shall + not provide the "extVirtualLinks" and/or "extManagedVirtualLinks" attributes in the Grant in case the LCM + request did not originate from the NFVO itself or the granted LCM operation request does not allow to pass + these parameters. NOTE 6: The NFVO shall set the value of the attribute by copying the value from the associated GrantRequest. NOTE 7: In case of granting an InstantiateVnf request that has originated from the NFVO and that @@ -205,6 +217,10 @@ definitions: and that did not contain the "extManagedVirtualLinks" attribute, this attribute shall be set by the NFVO if there is the need to provide information about externally-managed virtual links. + NOTE 8: The resulting "extVirtualLinks" or "extManagedVirtualLinks" information is calculated as follows: + In a first step, the information passed in the related LCM operation is applied to the baseline + information known from earlier LCM operation executions. In a second step, the information passed + in the Grant is applied to the information resulting from the first step. type: object required: - id @@ -326,7 +342,7 @@ definitions: $ref: "#/definitions/VimSnapshotResource" extVirtualLinks: description: > - Information about external VLs to connect the VNF to. See notes 5 and 7. If this attribute + Information about external VLs to connect the VNF to. See notes 5, 7 and 8. If this attribute is present according to note 5 or note 7, it need not contain those entries that are unchanged compared to the entries that were passed in the LCM operation which is related to this granting exchange. type: array @@ -334,7 +350,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" extManagedVirtualLinks: description: > - Information about internal VLs that are managed by other entities than the VNFM. See notes 4, 5 and 7. + Information about internal VLs that are managed by other entities than the VNFM. See notes 4, 5, 7 and 8. type: array items: $ref: "../../VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -621,9 +637,10 @@ definitions: fallbackBestEffort: description: > Indication if the constraint is handled with fall back best effort. Default value is “false”. - If set to true, the Affinity/Anti_Affinity placement constraint need not be fully satisfied, - i.e. if the allocation cannot be honoured with the placement constraint, the request is - processed in a best effort manner. + If set to true, the Affinity/Anti_Affinity placement constraint need not be fully satisfied + due to capacity constraints and/or due to the actual placement of existing resources, i.e. + if resource placement cannot honour the placement constraint, the request is processed in a + best effort manner. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" VimConstraint: diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index c85a97d5..21b773dc 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/vnfpkgm/v2 diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index a1a2548a..f42ab68e 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index da39f0a8..f2563d87 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/vnfpm/v2 diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index e4779029..bb8a265a 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 7fa66462..f6b3114a 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -19,8 +19,8 @@ info: version: 1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/vnfsnapshotpkgm/v1 diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 0d36abfa..42ae1bcb 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -19,8 +19,8 @@ info: version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf + description: ETSI GS NFV-SOL 003 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf servers: - url: http://127.0.0.1/vrqan/v1 diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 9dd75f7b..ca61957a 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -395,7 +395,7 @@ definitions: This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1. - NOTE 1: The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. + NOTE 1: The use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. type: object required: @@ -1008,6 +1008,14 @@ definitions: description: > If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance". See note 2. $ref: "SOL002SOL003_def.yaml#/definitions/Version" + vimConnectionInfo: + description: > + If present, this attribute signals the changes to VIM connection info that were passed in the related + "ChangeCurrentVnfPkgRequest" structure. The provisions for sensitive information defined in clause + 4.4.1.6 apply. + type: object + additionalProperties: + $ref: "SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" LcmOpOccNotificationVerbosityType: description: > @@ -1064,9 +1072,15 @@ definitions: VipCpInfo: description: > - This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1. + This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions + defined in table 5.5.3.28-1. - NOTE: It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. + NOTE 1: It is possible that there is no associated VnfcCp because the VIP CP is available but not + associated yet. + NOTE 2: If only the value or the presence of this attribute is changed in the "VipCpInfo" structure + by an LCM operation occurrence, this does not represent a change that requires including a related + "AffectedVipCp" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" + structure related to this LCM operation occurrence. type: object required: - cpInstanceId @@ -1080,6 +1094,12 @@ definitions: description: > Identifier of the VIP Connection Point Descriptor, VipCpd, in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance + (e.g. during a "Change current VNF package" operation or due to its final failure). See note 2. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" vnfExtCpId: description: > When the VIP CP is exposed as external CP of the VNF, the identifier of this external VNF CP instance. diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index cecd0711..c43f8190 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -310,6 +310,13 @@ definitions: virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the "VnfExtCpData" structure from its parent data structure. + * NOTE 4: If, as defined by the input parameters of a "ChangeVnfFlavour", "ChangeExtVnfConnectivity" or + "ChangeCurrentVnfPkg" operation or as part of the Grant response for any of these operations, a + cpConfig map entry identified by a particular map key value is moved into another "ExtVirtualLinkData" + or "VnfExtCpData" structure, this particular cpConfig map entry may be used by an external CP instance + different than the one that has used it before the operation, or by no external CP instance at all. + Renaming a CPD identifier during the "changeCurrentVnfPkg" operation does not count as moving the + related "cpConfig" map entries to a new "extCpData" structure. type: object required: - cpdId @@ -322,9 +329,10 @@ definitions: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. - The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. + The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" + and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). - See note 2 and note 3. + See notes 2, 3 and 4. type: object additionalProperties: $ref: "#/definitions/VnfExtCpConfig" -- GitLab From 7b7dee37799153e86291c3f049eaf43de5361683 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Fri, 14 Jan 2022 17:27:03 +0500 Subject: [PATCH 03/10] fix issue #3 - redefine global query parameters in SOL003 locally --- .../VNFFaultManagement.yaml | 67 ++-- .../VNFFaultManagementNotification.yaml | 18 +- src/SOL003/VNFIndicator/VNFIndicator.yaml | 93 ++++-- .../VNFIndicatorNotification.yaml | 8 +- .../VNFLifecycleManagement.yaml | 295 ++++++++++++------ .../VNFLifecycleManagementNotification.yaml | 12 +- .../VNFLifecycleOperationGranting.yaml | 12 +- .../VNFPackageManagement.yaml | 279 +++++++++++++---- .../VNFPackageManagementNotification.yaml | 12 +- .../VNFPerformanceManagement.yaml | 92 ++++-- .../VNFPerformanceManagementNotification.yaml | 12 +- .../VNFSnapshotPackageManagement.yaml | 74 +++-- ...edResourcesQuotaAvailableNotification.yaml | 18 +- src/components/SOL003_params.yaml | 119 +++++++ 14 files changed, 829 insertions(+), 282 deletions(-) create mode 100644 src/components/SOL003_params.yaml diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index fdd46301..1df854ad 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -42,10 +42,10 @@ paths: description: | The API consumer can use this method to retrieve information about the alarm list. See clause 7.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType + - $ref: '#/components/parameters/filter_alarm_list' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: 200: $ref: '#/components/responses/Alarms.Get.200' @@ -77,10 +77,10 @@ paths: #SOL003 location: 7.4.3 parameters: - $ref: '#/components/parameters/AlarmId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version get: description: | The API consumer can use this method to read an individual alarm. See clause 7.4.3.3.2. @@ -147,10 +147,10 @@ paths: /subscriptions: #SOL003 location: 7.4.4 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method creates a new subscription. See clause 7.4.4.3.1. @@ -187,8 +187,8 @@ paths: The API consumer can use this method to retrieve the list of active subscriptions for VNF alarms subscribed by the API consumer. It can be used e.g. for resynchronization after error situations. See clause 7.4.4.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_subscriptions' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: 200: $ref: '#/components/responses/Subscriptions.Get.200' @@ -220,15 +220,15 @@ paths: #SOL003 location: 7.4.5 parameters: - $ref: '#/components/parameters/SubscriptionId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method for reading an individual subscription for VNF alarms subscribed by the API consumer. See clause 7.4.5.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType responses: 200: $ref: '#/components/responses/IndividualSubscription.Get.200' @@ -283,6 +283,37 @@ paths: components: parameters: + filter_alarm_list: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 + schema: + type: string + + filter_subscriptions: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 + schema: + type: string + AlarmId: name: alarmId in: path diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 7c5ade92..d097a371 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -33,14 +33,14 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-AlarmNotification: #SOL003 location: 7.4.6 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 7.4.6.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/AlarmNotification' responses: @@ -89,14 +89,14 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-AlarmClearedNotification: #SOL003 location: 7.4.6 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 7.4.6.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/AlarmClearedNotification' responses: @@ -145,14 +145,14 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-AlarmListRebuiltNotification: #SOL003 location: 7.4.6 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 7.4.6.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/AlarmListRebuiltNotification' responses: diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 3e179243..8e4846ba 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -43,11 +43,11 @@ paths: description: | The GET method queries multiple VNF indicators. See clause 8.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/filter_vnf_indicators' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/Indicators.Get.200' @@ -83,12 +83,12 @@ paths: description: | The GET method queries multiple VNF indicators related to a VNF instance. See clause 8.4.3.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/filter_vnf_indicators_related_to_vnf_instance' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/VnfInstanceIndicators.Get.200' @@ -125,10 +125,10 @@ paths: description: | The GET method reads a VNF indicator. See clause 8.4.4.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/VnfInstanceIndividualIndicator.Get.200' @@ -158,10 +158,10 @@ paths: ############################################################################### /subscriptions: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method creates a new subscription. See clause 8.4.5.3.1. @@ -198,8 +198,8 @@ 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. See clause 8.4.5.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_subscriptions' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: 200: $ref: '#/components/responses/Subscriptions.Get.200' @@ -231,14 +231,14 @@ paths: #SOL003 location: 8.4.6 parameters: - $ref: '#/components/parameters/SubscriptionId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version get: description: | The GET method reads an individual subscription. See clause 8.4.6.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept responses: 200: $ref: '#/components/responses/IndividualSubscription.Get.200' @@ -292,6 +292,49 @@ paths: components: parameters: + filter_vnf_indicators: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 data type and in data types + referenced from it shall be supported by the VNFM in the filter expression. + in: query + required: false + schema: + type: string + + filter_vnf_indicators_related_to_vnf_instance: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 data type and in data types + referenced from it shall be supported by the VNFM in the filter expression. + in: query + required: false + schema: + type: string + + filter_subscriptions: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 data type and in + data types referenced from it shall be supported by the VNFM in the filter + expression. + in: query + required: false + schema: + type: string + VnfInstanceId: name: vnfInstanceId in: path diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 77d9fdf4..1a035fa7 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -37,8 +37,8 @@ paths: The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 8.4.7.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/AlarmListRebuiltNotification' responses: @@ -64,8 +64,8 @@ paths: The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. See clause 8.4.7.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 204: $ref: '#/components/responses/VNFINDNotification.Get.204' diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index ce084644..84f19fa9 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -39,9 +39,9 @@ paths: /vnf_instances: #SOL003 location: 5.4.2 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method creates a new VNF instance resource based on a VNF package that is onboarded @@ -76,12 +76,12 @@ paths: description: | The GET method queries information about multiple VNF instances. See clause 5.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_vnf_instances' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/all_fields_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/fields_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/exclude_fields_vnfm + - $ref: '#/components/parameters/exclude_default_vnf_instances' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: 200: $ref: '#/components/responses/VNFInstances.Get.200' @@ -113,14 +113,14 @@ paths: #SOL003 location: 5.4.3.2 parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version get: description: | The GET method retrieves information about a VNF instance by reading an "Individual VNF instance" resource. See clause 5.4.3.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept responses: 200: $ref: '#/components/responses/IndividualVnfInstance.Get.200' @@ -215,9 +215,9 @@ paths: description: | The POST method instantiates a VNF instance. See clause 5.4.4.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/InstantiateVnfRequest' responses: @@ -258,9 +258,9 @@ paths: description: | The POST method requests to scale a VNF instance resource incrementally. See clause 5.4.5.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/ScaleVnfRequest' responses: @@ -299,9 +299,9 @@ paths: description: | The POST method requests to scale a VNF instance resource to a target level. See clause 5.4.6.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/ScaleVnfToLevelRequest' responses: @@ -339,9 +339,9 @@ paths: description: | The POST method changes the deployment flavour of a VNF instance. See clause 5.4.7.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/ChangeVnfFlavourRequest' responses: @@ -380,9 +380,9 @@ paths: The POST method triggers the VNFM to terminate a VNF instance and to request to the VIM the release of its used virtualised resources. See clause 5.4.8.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/TerminateVnfRequest' responses: @@ -420,9 +420,9 @@ paths: description: | The POST method requests to heal a VNF instance. See clause 5.4.9.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/HealVnfRequest' responses: @@ -460,9 +460,9 @@ paths: description: | The POST method changes the operational state of a VNF instance. See clause 5.4.10.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/OperateVnfRequest' responses: @@ -500,9 +500,9 @@ paths: description: | The POST method changes the external connectivity of a VNF instance. See clause 5.4.11.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/ChangeExtVnfConnectivityRequest' responses: @@ -540,9 +540,9 @@ paths: description: | The POST method changes the current VNF package on which the VNF instance is based. See clause 5.4.11a.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/ChangeCurrentVnfPkgRequest' responses: @@ -579,15 +579,15 @@ paths: The API consumer can use this method to query status information about multiple VNF lifecycle management operation occurrences. See clause 5.4.12.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/filter_vnf_lcm_op_occs' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/all_fields_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/fields_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/exclude_fields_vnfm + - $ref: '#/components/parameters/exclude_default_vnf_lcm_op_occs' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/VnfLcmOpOccs.Get.200' @@ -623,9 +623,9 @@ paths: The API consumer can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an "Individual VNF LCM operation occurrence" resource. See clause 5.4.13.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/IndividualVnfLcmOpOcc.Get.200' @@ -661,8 +661,8 @@ paths: failure, i.e. the related "Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. See clause 5.4.14.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 202: $ref: '#/components/responses/RetryVnfLcmOpOcc.Post.202' @@ -700,8 +700,8 @@ paths: failure, i.e. the related "Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. See clause 5.4.15.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 202: $ref: '#/components/responses/RollbackVnfLcmOpOcc.Post.202' @@ -738,9 +738,9 @@ paths: The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation occurrence is in "FAILED_TEMP" state. See clause 5.4.16.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/FailVnfLcmOpOcc.Post.200' @@ -778,8 +778,8 @@ paths: back, i.e. the related "Individual VNF LCM operation occurrence" resource is either in "STARTING" or "PROCESSING" or "ROLLING_BACK" state. See clause 5.4.17.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 202: $ref: '#/components/responses/CancelVnfLcmOpOcc.Post.202' @@ -810,9 +810,9 @@ paths: /subscriptions: #SOL003 location: 5.4.18 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method creates a new subscription. See clause 5.4.18.3.1. @@ -848,8 +848,8 @@ 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. See clause 5.4.18.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_subscriptions' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: 200: $ref: '#/components/responses/Subscriptions.Get.200' @@ -879,14 +879,14 @@ paths: #SOL003 location: 5.4.19 parameters: - $ref: '#/components/parameters/SubscriptionId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version get: description: | The GET method retrieves information about a subscription by reading an "Individual subscription" resource. See clause 5.4.19.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept responses: 200: $ref: '#/components/responses/IndividualSubscription.Get.200' @@ -946,9 +946,9 @@ paths: The POST method requests taking a snapshot a VNF instance and populating a previously created VNF snapshot resource (refer to clause 5.4.23.3.1) with the snapshot content. See clause 5.4.21.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/CreateVnfSnapshotRequest' responses: @@ -988,9 +988,9 @@ paths: description: | The POST method requests reverting a VNF instance to a VNF snapshot. See clause 5.4.22.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/RevertToVnfSnapshotRequest' responses: @@ -1023,9 +1023,9 @@ paths: /vnf_snapshots: #SOL003 location: 5.4.23.2 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method creates a new "Individual VNF snapshot" resource. See clause 5.4.23.3.1. @@ -1059,12 +1059,12 @@ paths: and 5.4.23.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_vnf_snapshots' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/all_fields_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/fields_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/exclude_fields_vnfm + - $ref: '#/components/parameters/exclude_default_vnf_snapshots' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: 200: $ref: '#/components/responses/VnfSnapshots.Get.200' @@ -1096,15 +1096,15 @@ paths: #SOL003 location: 5.4.24.2 parameters: - $ref: '#/components/parameters/VnfSnapshotInfoId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version get: #SOL003 location: 5.4.24.3.2 description: | The GET method retrieves information about a VNF snapshot by reading an "Individual VNF snapshot" resource. See clause 5.4.24.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept responses: 200: $ref: '#/components/responses/IndividualVnfSnapshot.Get.200' @@ -1134,8 +1134,8 @@ paths: description: | This method modifies an "Individual VNF snapshot" resource. See clause 5.4.24.3.4. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VnfSnapshotInfoModificationRequest' responses: @@ -1199,8 +1199,8 @@ paths: #SOL003 location: 5.4.25.2 parameters: - $ref: '#/components/parameters/VnfSnapshotInfoId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version get: #SOL003 location: 5.4.25.3.2 @@ -1209,7 +1209,7 @@ paths: This method shall follow the provisions specified in the tables 5.4.25.3.2-1 and 5.4.25.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept - $ref: '#/components/parameters/Range' responses: 200: @@ -1241,6 +1241,119 @@ paths: components: parameters: + filter_vnf_instances: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 + schema: + type: string + + exclude_default_vnf_instances: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See clause 5.3 + of ETSI GS NFV-SOL 013 [8] 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 + required: false + schema: + type: string + + filter_vnf_lcm_op_occs: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 + schema: + type: string + + exclude_default_vnf_lcm_op_occs: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See + clause 5.3 of ETSI GS NFV-SOL 013 [8] 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 + - lcmCoordinations + - modificationsTriggeredByVnfPkgChange + - warnings + required: false + schema: + type: string + + filter_subscriptions: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 + schema: + type: string + + filter_vnf_snapshots: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 VnfSnapshot and in data types + referenced from it shall be supported by the VNFM in the filter expression. + in: query + required: false + schema: + type: string + + exclude_default_vnf_snapshots: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. + See clause 5.3 of ETSI GS NFV-SOL 013 [8] for details. The VNFM shall + support this parameter. + The following attributes shall be excluded from the VnfSnapshot structure + in the response body if this parameter is provided, or none of the + parameters "all_fields," "fields", "exclude_fields", "exclude_default" are + provided: + - vnfInstance + - vnfcSnapshots + required: false + schema: + type: string + VnfInstanceId: name: vnfInstanceId in: path diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index dbe03283..0c9e5d8b 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -32,8 +32,8 @@ paths: ############################################################################### /URI_is_provided_by_the_client_when_creating_the_subscription-VnfLcmOperationOccurrenceNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method delivers a notification from the API producer to an API consumer. The API consumer shall @@ -85,8 +85,8 @@ paths: ############################################################################### /URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierCreationNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method delivers a notification from the API producer to an API consumer. The API consumer shall @@ -138,8 +138,8 @@ paths: ############################################################################### /URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierDeletionNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method delivers a notification from the API producer to an API consumer. The API consumer shall diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index b5b86885..1e170b37 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -42,9 +42,9 @@ paths: description: | The POST method requests a grant for a particular VNF lifecycle operation. See clause 9.4.2.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version requestBody: $ref: '#/components/requestBodies/GrantRequest' responses: @@ -84,9 +84,9 @@ paths: description: | The GET method reads a grant. See clause 9.4.3.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/IndividualGrant.Get.200' diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 21b773dc..32d61a14 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -42,15 +42,15 @@ paths: description: | The GET method queries the information of the VNF packages matching the filter. See clause 10.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/filter_vnf_packages' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/all_fields_nfvo + - $ref: ../../components/SOL003_params.yaml#/components/parameters/fields_nfvo + - $ref: ../../components/SOL003_params.yaml#/components/parameters/exclude_fields_nfvo + - $ref: '#/components/parameters/exclude_default_vnf_packages' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_nfvo + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/OnboardedVnfPackages.Get.200' @@ -88,10 +88,9 @@ paths: description: | The GET method reads the information of an individual VNF package. Clause 10.4.3.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: '#/components/parameters/include_signature' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/IndividualVnfPackage.Get.200' @@ -121,9 +120,9 @@ paths: description: | The GET method reads the information of an individual VNF package. Clause 10.4.3.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/IndividualOnboardedVnfPackage.Get.200' @@ -158,10 +157,10 @@ paths: description: | The GET method reads the content of the VNFD within a VNF package. See clause 10.4.4.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: '#/components/parameters/include_signature' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signatures_content_of_vnfd' responses: 200: $ref: '#/components/responses/VnfdInIndividualVnfPackage.Get.200' @@ -193,10 +192,10 @@ paths: description: | The GET method reads the content of the VNFD within a VNF package. See clause 10.4.4.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: '#/components/parameters/include_signature' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signatures_content_of_vnfd' responses: 200: $ref: '#/components/responses/VnfdInIndividualOnboardedVnfPackage.Get.200' @@ -231,10 +230,10 @@ paths: description: | The GET method reads the content of the manifest within a VNF package. See clause 10.4.4a.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: '#/components/parameters/include_signature' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signatures_content_of_manifest' responses: 200: $ref: '#/components/responses/ManifestInIndividualVnfPackage.Get.200' @@ -268,10 +267,10 @@ paths: description: | The GET method reads the content of the manifest within a VNF package. See clause 10.4.4a.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: '#/components/parameters/include_signature' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signatures_content_of_manifest' responses: 200: $ref: '#/components/responses/ManifestInIndividualOnboardedVnfPackage.Get.200' @@ -309,10 +308,10 @@ paths: The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO. See clause 10.4.5.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/Range' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/IndividualVnfPackageContent.Get.200' @@ -349,10 +348,10 @@ paths: The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO. See clause 10.4.5.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/Range' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/IndividualOnboardedVnfPackageContent.Get.200' @@ -393,10 +392,15 @@ paths: inclusion/exclusion defined below, embedded in a directory structure being the same as in the VNF package. See clause 10.4.5a.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/Range' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/exclude_all_mano_artifacts' + - $ref: '#/components/parameters/exclude_all_non_mano_artifacts' + - $ref: '#/components/parameters/include_external_artifacts' + - $ref: '#/components/parameters/select_non_mano_artifact_sets' + - $ref: '#/components/parameters/include_signatures_artifacts' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.200' @@ -434,10 +438,15 @@ paths: inclusion/exclusion defined below, embedded in a directory structure being the same as in the VNF package. See clause 10.4.5a.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/Range' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/exclude_all_mano_artifacts' + - $ref: '#/components/parameters/exclude_all_non_mano_artifacts' + - $ref: '#/components/parameters/include_external_artifacts' + - $ref: '#/components/parameters/select_non_mano_artifact_sets' + - $ref: '#/components/parameters/include_signatures_artifacts' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifacts.Get.200' @@ -477,11 +486,11 @@ paths: description: | The GET method fetches the content of an artifact within a VNF package. See clause 10.4.6.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/Range' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: '#/components/parameters/include_signature' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signatures_content_of_artifact' responses: 200: $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.200' @@ -518,11 +527,11 @@ paths: description: | The GET method fetches the content of an artifact within a VNF package. See clause 10.4.6.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/Range' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: '#/components/parameters/include_signature' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signatures_content_of_artifact' responses: 200: $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifact.Get.200' @@ -556,9 +565,9 @@ paths: ############################################################################### /subscriptions: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method creates a new subscription. See clause 10.4.7.3.1. @@ -595,8 +604,8 @@ 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. See clause 10.4.7.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_subscriptions' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_nfvo responses: 200: $ref: '#/components/responses/Subscriptions.Get.200' @@ -628,13 +637,13 @@ paths: #SOL003 location: 10.4.8 parameters: - $ref: '#/components/parameters/SubscriptionId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version get: description: | The GET method reads an individual subscription. See clause 10.4.8.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept responses: 200: $ref: '#/components/responses/IndividualSubscription.Get.200' @@ -688,6 +697,134 @@ paths: components: parameters: + filter_vnf_packages: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013 [8]. + The NFVO shall support receiving this parameter as part of the URI query string. The + VNFM may supply this parameter. + All attribute names that appear in the VnfPkgInfo and in data types referenced from it + shall be supported by the NFVO in the filter expression. + in: query + required: false + schema: + type: string + + exclude_default_vnf_packages: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See clause 5.3 + of ETSI GS NFV-SOL 013 [8] for details. + The NFVO 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 + - checksum + - onboardingFailureDetails. + required: false + schema: + type: string + + exclude_all_mano_artifacts: + name: exclude_all_mano_artifacts + description: > + Flag (i.e. parameter without value) that instructs the NFVO to exclude + the set of additional MANO artifacts (i.e. those that are not images) + from the response payload body. + The NFVO shall support this parameter. The VNFM may supply this + parameter. + in: query + required: false + schema: + type: string + + exclude_all_non_mano_artifacts: + name: exclude_all_non_mano_artifacts + description: > + Flag (i.e. parameter without value) that instructs the NFVO to exclude + the set of non-MANO artifacts from the response payload body. + The NFVO shall support this parameter. The VNFM may supply this + parameter. + in: query + required: false + schema: + type: string + + include_external_artifacts: + name: include_external_artifacts + description: > + Flag (i.e. parameter without value) that instructs the NFVO to include + external artifacts in the response payload body. It shall not be treated + as an error if this flag is provided but there is no external artifact to + include in the result. If this parameter is missing, no external artifacts + shall be included. + The NFVO shall support this parameter. The VNFM may supply this + parameter. + in: query + required: false + schema: + type: string + + select_non_mano_artifact_sets: + name: select_non_mano_artifact_sets + description: > + Comma-separated list of non-MANO artifact set identifiers for which + the artifacts are to be included in the response body. + The NFVO should support this parameter. If the NFVO does not + support this parameter, it shall ignore it, i.e. provide a response as if + no parameter was provided. The VNFM may supply this parameter. + in: query + required: false + schema: + type: string + + include_signatures_artifacts: + name: include_signatures + description: > + If this parameter is provided, the NFVO shall include in the ZIP + archive the individual signatures and, if provided, related certificates + for the included artifacts, in the format in which they are provided in + the VNF package. + If this parameter is not given, the NFVO shall only provide copies of + the artifact files. + This URI query parameter is a flag, i.e. it shall have no value. + The NFVO shall support this parameter. + in: query + required: false + schema: + type: string + + include_signatures_content_of_artifact: + name: include_signatures + description: > + If this parameter is provided, the NFVO shall return the artifact and related security + information (such as signature and optional certificate) in a ZIP archive. + If this parameter is not given, the NFVO shall provide only a copy of the artifact file. + This URI query parameter is a flag, i.e. it shall have no value. + The NFVO shall support this parameter. + in: query + required: false + schema: + type: string + + filter_subscriptions: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + The NFVO shall support receiving this parameter as part of the URI query string. + The VNFM may supply this parameter. + All attribute names that appear in the PkgmSubscription and in data types + referenced from it shall be supported by the NFVO in the filter expression. + in: query + required: false + schema: + type: string + VnfPkgId: name: vnfPkgId in: path @@ -760,18 +897,32 @@ components: schema: type: string - include_signature: - name: include_signature + include_signatures_content_of_vnfd: + name: include_signatures in: query description: | - If this parameter is provided, the NFVO shall include in the ZIP - archive the security information as specified above. + If this parameter is provided, the NFVO shall include in the ZIP archive the security + information as specified above. This URI query parameter is a flag, i.e. it shall have no value. The NFVO shall support this parameter. required: false schema: type: string + include_signatures_content_of_manifest: + name: include_signatures + in: query + description: | + If this parameter is provided, the NFVO shall return the manifest and related + security information (such as certificate) in a ZIP archive. + If this parameter is not given, the NFVO shall provide only a copy of the manifest + file. + This URI query parameter is a flag, i.e. it shall have no value. + The NFVO shall support this parameter. + required: false + schema: + type: string + Range: name: Range in: header diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index f42ab68e..0c97ab76 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -33,15 +33,15 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageOnboardingNotification: #SOL003 location: 10.4.9 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 10.4.9.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VnfPackageOnboardingNotification' responses: @@ -90,15 +90,15 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageChangeNotification: #SOL003 location: 10.4.9 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 10.4.9.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VnfPackageChangeNotification' responses: diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index f2563d87..1536c79d 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -40,14 +40,14 @@ paths: /pm_jobs: #SOL003 location: 6.4.2 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method creates a PM job. See clause 6.4.2.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/CreatePmJobRequest' responses: @@ -78,12 +78,12 @@ paths: description: | The API consumer can use this method to retrieve information about PM jobs. See clause 6.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_pm_jobs' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/all_fields_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/fields_vnfm + - $ref: ../../components/SOL003_params.yaml#/components/parameters/exclude_fields_vnfm + - $ref: '#/components/parameters/exclude_default_pm_jobs' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: 200: $ref: '#/components/responses/PmJobs.Get.200' @@ -115,13 +115,13 @@ paths: #SOL003 location: 6.4.3 parameters: - $ref: '#/components/parameters/PmJobId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version get: description: | The API consumer can use this method for reading an individual PM job. See clause 6.4.3.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept responses: 200: $ref: '#/components/responses/IndividualPmJob.Get.200' @@ -214,9 +214,9 @@ paths: description: | The API consumer can use this method for reading an individual performance report. See clause 6.4.4.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version responses: 200: $ref: '#/components/responses/IndividualPerformanceReport.Get.200' @@ -247,14 +247,14 @@ paths: /thresholds: #SOL003 location: 6.4.5 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method can be used by the API consumer to create a threshold. See clause 6.4.5.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/CreateThresholdRequest' responses: @@ -285,8 +285,8 @@ paths: description: | The API consumer can use this method to query information about thresholds. See clause 6.4.5.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_thresholds' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: 200: $ref: '#/components/responses/Thresholds.Get.200' @@ -318,13 +318,13 @@ paths: #SOL003 location: 6.4.6 parameters: - $ref: '#/components/parameters/ThresholdId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version get: description: | The API consumer can use this method for reading an individual threshold. See clause 6.4.6.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept responses: 200: $ref: '#/components/responses/IndividualThreshold.Get.200' @@ -407,6 +407,48 @@ paths: components: parameters: + filter_pm_jobs: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 + schema: + type: string + + exclude_default_pm_jobs: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See clause 5.3 + of ETSI GS NFV-SOL 013 [8] 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 + required: false + schema: + type: string + + filter_thresholds: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + 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 data type and in data types referenced + from it shall be supported by the VNFM in the filter expression + in: query + required: false + schema: + type: string + PmJobId: name: pmJobId in: path diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index bb8a265a..ecae61f6 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -33,15 +33,15 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification: #SOL003 location: 6.4.9 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method delivers a notification regarding a performance management event from API producer to an API consumer. The API consumer shall have previously created an "Individual PM job" resource or "Individual threshold" resource. See clause 6.4.9.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/PerformanceInformationAvailableNotification' responses: @@ -90,15 +90,15 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification: #SOL003 location: 6.4.9 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version post: description: | The POST method delivers a notification regarding a performance management event from API producer to an API consumer. The API consumer shall have previously created an "Individual PM job" resource or "Individual threshold" resource. See clause 6.4.9.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/ThresholdCrossedNotification' responses: diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index f6b3114a..46f7b457 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -35,16 +35,20 @@ paths: /vnf_snapshot_packages: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization get: description: | The GET method queries the information of the VNF packages matching the filter. See clause 12.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType + - $ref: '#/components/parameters/filter_vnf_packages' + - $ref: '#/components/parameters/exclude_default_vnf_packages' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/all_fields_nfvo + - $ref: ../../components/SOL003_params.yaml#/components/parameters/fields_nfvo + - $ref: ../../components/SOL003_params.yaml#/components/parameters/exclude_fields_nfvo + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_nfvo responses: 200: $ref: '#/components/responses/VNFSnapshotPackages.Get.200' @@ -75,17 +79,15 @@ paths: /vnf_snapshot_packages/{vnfSnapshotPkgId}: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/VnfSnapshotPkgId' get: description: | The GET method reads the information of an individual VNF snapshot package. See clause 12.4.3.3.2 parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType responses: 200: $ref: '#/components/responses/IndividualVNFSnapshotPackages.Get.200' @@ -116,15 +118,15 @@ paths: /vnf_snapshot_packages/{vnfSnapshotPkgId}/package_content: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/VnfSnapshotPkgId' get: description: | The GET method fetches the content of a VNF snapshot package. See clause 12.4.4.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType responses: 200: $ref: '#/components/responses/PackageContent.Get.200' @@ -159,16 +161,16 @@ paths: /vnf_snapshot_packages/{vnfSnapshotPkgId}/artifacts/{artifactPath}: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/VnfSnapshotPkgId' - $ref: '#/components/parameters/ArtifactPath' get: description: | The GET method fetches the content of an artifact within the VNF snapshot package. See clause 12.4.5.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType responses: 200: $ref: '#/components/responses/IndividualArtifact.Get.200' @@ -203,6 +205,38 @@ paths: components: parameters: + filter_vnf_packages: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + The NFVO shall support receiving this parameter as part of the URI query string. The + VNFM may supply this parameter. + All attribute names that appear in the VnfSnapshotPkgInfo and in data types + referenced from it shall be supported by the NFVO in the filter expression. + in: query + required: false + schema: + type: string + + exclude_default_vnf_packages: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See + clause 5.3 of ETSI GS NFV-SOL 013 [8] for details. + The NFVO shall support this parameter. + The following attributes shall be excluded from the VnfSnapshotPkgInfo structure in + the response body if this parameter is provided, or none of the parameters "all_fields," + "fields", "exclude_fields", "exclude_default" are provided: + - vnfcSnapshotImages + - additionalArtifacts + - userDefinedData + - checksum + required: false + schema: + type: string + VnfSnapshotPkgId: name: vnfSnapshotPkgId in: path diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 42ae1bcb..22625c55 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -79,8 +79,8 @@ 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. See clause 11.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_subscriptions' + - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: 200: $ref: '#/components/responses/Subscriptions.Get.200' @@ -172,6 +172,20 @@ paths: components: parameters: + filter_subscriptions: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [8]. + The NFVO shall support receiving this parameter as part of the URI query string. + The VNFM may supply this parameter. + All attribute names that appear in the VrQuotaAvailSubscription and in data types + referenced from it shall be supported by the NFVO in the filter expression. + in: query + required: false + schema: + type: string + SubscriptionId: name: subscriptionId in: path diff --git a/src/components/SOL003_params.yaml b/src/components/SOL003_params.yaml new file mode 100644 index 00000000..32ad1074 --- /dev/null +++ b/src/components/SOL003_params.yaml @@ -0,0 +1,119 @@ +components: + parameters: + Version: + name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + + Accept: + name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF RFC 7231. + in: header + required: true + schema: + type: string + + Authorization: + name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + + ContentType: + name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + + all_fields_vnfm: + name: all_fields + description: > + Include all complex attributes in the response. See clause 5.3 of ETSI + GS NFV-SOL 013 [8] for details. The VNFM shall support this parameter. + in: query + required: false + schema: + type: string + + fields_vnfm: + name: fields + description: > + Complex attributes to be included into the response. See clause 5.3 of ETSI + GS NFV-SOL 013 [8] for details. The VNFM should support this parameter. + in: query + required: false + schema: + type: string + + exclude_fields_vnfm: + name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause 5.3 of ETSI + GS NFV-SOL 013 [8] for details. The VNFM should support this parameter. + in: query + required: false + schema: + type: string + + nextpage_opaque_marker_vnfm: + 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 5.4.2.1 of ETSI + GS NFV-SOL 013 [8] for this resource. + in: query + required: false + schema: + type: string + + all_fields_nfvo: + name: all_fields + description: > + Include all complex attributes in the response. See clause 5.3 of ETSI + GS NFV-SOL 013 [8] for details. The NFVO shall support this parameter. + in: query + required: false + schema: + type: string + + fields_nfvo: + name: fields + description: > + Complex attributes to be included into the response. See clause 5.3 of ETSI + GS NFV-SOL 013 [8] for details. The NFVO should support this parameter + in: query + required: false + schema: + type: string + + exclude_fields_nfvo: + name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause 5.3 of ETSI + GS NFV-SOL 013 [8] for details. The NFVO should support this parameter + in: query + required: false + schema: + type: string + + nextpage_opaque_marker_nfvo: + name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the NFVO if + the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI + GS NFV-SOL 013 [8] for this resource. + in: query + required: false + schema: + type: string \ No newline at end of file -- GitLab From 2991e3db6226281d18a90978347a8c8db721e80f Mon Sep 17 00:00:00 2001 From: AyeshaAyubG Date: Mon, 17 Jan 2022 11:07:34 +0500 Subject: [PATCH 04/10] Implement differences between v3.5.1 and v3.6.1 for SOL002 --- .../VNFFaultManagement.yaml | 2 +- .../SOL002VNFFaultManagement_def.yaml | 41 ++++++++++-- .../VNFFaultManagementNotification.yaml | 2 +- src/SOL002/VNFIndicator/VNFIndicator.yaml | 2 +- .../VNFIndicatorNotification.yaml | 2 +- .../VNFLifecycleManagement.yaml | 2 +- .../SOL002VNFLifecycleManagement_def.yaml | 65 ++++++++++++++++--- .../VNFLifecycleManagementNotification.yaml | 2 +- ...NFLifecycleManagementNotification_def.yaml | 9 +-- 9 files changed, 104 insertions(+), 23 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 381d753b..5693be70 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.5.1 diff --git a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml index 65a2a4b2..89777e08 100644 --- a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml @@ -4,7 +4,30 @@ definitions: Alarm: description: > - The alarm data type encapsulates information about an alarm. + The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in + table 7.5.2.4-1. + + If the attribute "faultType" has the value "NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE", + the following provisions apply for the values of the attribute "faultDetails" related to + changes in the state of virtualised resources: + - One of the entries in the array shall provide information about the anticipated time of maintenance in the + following format: "anticipatedTime=$time", wherein "$time" shall be formatted as a "DateTime", as specified + in ETSI GS NFV-SOL 013 [6]. + - One of the entries in the array shall provide identification information about the affinity/anti-affinity group + defined in the VNFD that is associated to the affected virtualised resource indicated by "rootCauseFaultyResource" + in the following format: "affinityOrAntiAffinityGroupId=$group", wherein "$group" shall be equal to the + "affinityOrAntiAffinityGroupId" value in the corresponding "VduProfile" (for a VNFC/COMPUTE affected resource) + or "VirtualLinkProfile" for a VL/NETWORK affected resource) in the VNFD, which is mapped by the VNFM to the + virtualised resource group identifier in the virtualised resource change notification received by the VNFM from + the VIM. + + NOTE 1: For an alarm about upcoming impact due to NFVI operation and maintenance (i.e. the attribute "faultType" + has the value "NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE"), the attribute "rootCauseFaultyResource" + indicates a resource to be impacted. Further information on the upcoming impact (e.g. group of impacted + resources, time of impact) is provided in the attribute "faultDetails". + NOTE 2: When alarms are due to upcoming NFVI operation and maintenance (i.e. the attribute "faultType" has the + value "NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE"), the attribute "faultDetails" shall include information + about the anticipated time of the maintenance. See provisions under the present table. type: object required: - id @@ -36,7 +59,8 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" rootCauseFaultyResource: description: > - The virtualised resources that are causing the VNF fault. + The virtualised resources that are causing the VNF fault. Shall be present if the alarm affects + virtualised resources. See note 1. $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FaultyResourceInfo" alarmRaisedTime: description: > @@ -75,7 +99,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType" eventTime: description: > - Time stamp indicating when the fault was observed. + Time stamp indicating when the fault was observed. See note 2. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" eventType: description: > @@ -85,10 +109,19 @@ definitions: faultType: description: > Additional information to clarify the type of the fault. + If the alarm is related to changes in the state of virtualised resources due to NFVI + operation and maintenance, this attribute shall be set to "NFVI_OAM_VIRTUALISED_RESOURCE_STATE _CHANGE". type: string probableCause: description: > Information about the probable cause of the fault. + If the attribute "faultType" has the value “NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE”, the + permitted values are: + - "NFVI_COMPONENT_MAINTENANCE": Maintenance of NFVI components, e.g. physical maintenance/repair, + hypervisor software updates, etc. + - "NFVI_COMPONENT_EVACUATION": Evacuation of physical hosts. + - "NFVI_COMPONENT_OPTIMIZATION": Operation and management of NFVI resources, e.g. to support energy + efficiency or resource usage optimization. type: string isRootCause: description: > @@ -104,7 +137,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" faultDetails: description: > - Provides additional information about the fault. + Provides additional information about the fault. See notes 1 and 2. type: array items: type: string diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 65f926df..40b48312 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.5.1 diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 0c2eee1d..f1c9c9d8 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.3.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.5.1 diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 753a99eb..fce09f5f 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.3.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.5.1 diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index a4bb1e96..1068cff7 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.5.1 diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 010a5597..b82ce06a 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -352,7 +352,13 @@ definitions: supported for this VNF instance and is possible based on the current status of this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - + changeCurrentVnfPkg: + description: > + Link to the "Change current VNF package task" resource, if the related operation is + possible based on the current status of this VNF instance resource (i.e. VNF instance is + in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + InstantiateVnfRequest: description: > This type represents request parameters for the "Instantiate VNF" operation. @@ -377,7 +383,12 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" extVirtualLinks: description: > - Information about external VLs to connect the VNF to. + Information about external VLs to connect the VNF to, including configuration information + for the CPs via which the VNF instance can attach to this VL. + The following applies to the "ExtVirtualLinkData" information provided in this request: Even + if the VNF is not instantiated in fully scaled-out state, the API consumer shall provide enough + CP configuration records to allow connecting the VNF instance, fully scaled out in all scaling + aspects, to the external VLs. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" @@ -435,7 +446,15 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" extVirtualLinks: description: > - Information about external VLs to connect the VNF to. + Information about external VLs to connect the VNF to, including configuration information + for the CPs via which the VNF instance can attach to this VL. + Entries in the list of external VLs that are unchanged need not be supplied as part of + this request. + The following applies to the "ExtVirtualLinkData" information provided in this request, together + with the related "ExtVirtualLinkInfo" information known to the VNFM represented in the "VnfInstance" + structure (see clause 5.5.2.2): Even if the VNF is not in fully scaled-out state after changing the + flavour, the API consumer shall provide enough CP configuration records to allow connecting the VNF + instance, fully scaled out in all scaling aspects, to the external VLs. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" @@ -587,7 +606,14 @@ definitions: properties: extVirtualLinks: description: > - Information about external VLs to change (e.g. connect the VNF to). + Information about external VLs to change (e.g. connect the VNF to) including configuration information + for the CPs via which the VNF instance can attach to this VL. + Entries in the list of external VLs that are unchanged need not be supplied as part of this request. + The following applies to the "ExtVirtualLinkData" information provided in this request, together with the + related "ExtVirtualLinkInfo" information known to the VNFM represented in the "VnfInstance" structure (see + clause 5.5.2.2): Even if the VNF is not in fully scaled-out state, the API consumer shall provide enough CP + configuration records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the + external VLs. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" @@ -617,8 +643,15 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" extVirtualLinks: description: > - Information about external VLs to connect the VNF to. Entries in the list that are unchanged need not be - supplied as part of this request. + Information about external VLs to connect the VNF to, including configuration information for + the CPs via which the VNF instance can attach to this VL. + Entries in the list that are unchanged need not be supplied as part of this request. + The following applies to the "ExtVirtualLinkData" information provided in this request, together + with the related "ExtVirtualLinkInfo" information known to the VNFM represented in the + "VnfInstance" structure (see clause 5.5.2.2): Even if the VNF is not in fully scaled-out state + after the change of the VNF package, the API consumer shall provide enough CP configuration + records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the + external VLs. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" @@ -1029,6 +1062,10 @@ definitions: exposes an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. * NOTE 3: The information can be omitted because it is already available as part of the external CP information. + * NOTE 4: If only the value or the presence of this attribute is changed in the "VnfcResourceInfo" structure by + an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVnfc" + structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to + this LCM operation occurrence. type: object required: - id @@ -1047,7 +1084,7 @@ definitions: description: > Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). + current VNF package" operation or due to its final failure). See note 4. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" computeResource: description: > @@ -1123,6 +1160,10 @@ definitions: description: > This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. + NOTE: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo" + structure by an LCM operation occurrence, this does not represent a change that requires including a + related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the + "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id @@ -1142,7 +1183,7 @@ definitions: description: > Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). + current VNF package" operation or due to its final failure). See note. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" networkResource: description: > @@ -1171,6 +1212,11 @@ definitions: description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. + + NOTE: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo" + structure by an LCM operation occurrence, this does not represent a change that requires + including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence + notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id @@ -1189,7 +1235,7 @@ definitions: description: > Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). + current VNF package" operation or due to its final failure). See note. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" storageResource: description: > @@ -1768,6 +1814,7 @@ definitions: Signals the type of change. Permitted values: - ADDED + - MODIFIED - REMOVED type: string enum: diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index dfc2f2e4..d669c131 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.5.1 diff --git a/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml index e7bc25ca..9d64108b 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml @@ -46,6 +46,7 @@ definitions: the "changeType" attribute of "AffectedVirtualLink" structure equal to "ADDED", and another "AffectedVirtualLink" entry signals the addition of VNF link ports of the VL by using the "changeType" equal to "LINK_PORT_ADDED". + NOTE 3: Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. type: object required: - id @@ -159,8 +160,8 @@ definitions: 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. + including VNF configurable properties. Shall be absent otherwise. See + note 3. $ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" affectedVipCps: description: > @@ -189,8 +190,8 @@ definitions: description: > Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package. Shall be present if the "notificationStatus" is set to "RESULT", the "operation" attribute is equal to - "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF - instance information, including VNF configurable properties. Shall be absent otherwise. + "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to + "VnfInstance" attributes. Shall be absent otherwise. See note 3 $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange" error: description: > -- GitLab From 277e768d428ef921a263747c8f88dd9f6238953c Mon Sep 17 00:00:00 2001 From: Ayesha Ayub Date: Tue, 18 Jan 2022 11:15:08 +0500 Subject: [PATCH 05/10] fix issue #3 - redefine global query parameters in SOL002 locally --- .../VNFConfiguration/VNFConfiguration.yaml | 4 +- .../VNFFaultManagement.yaml | 84 ++++-- .../VNFFaultManagementNotification.yaml | 18 +- src/SOL002/VNFIndicator/VNFIndicator.yaml | 80 ++++-- .../VNFIndicatorNotification.yaml | 12 +- .../VNFLifecycleCoordination.yaml | 16 +- .../VNFLifecycleManagement.yaml | 254 +++++++++++++----- .../VNFLifecycleManagementNotification.yaml | 18 +- .../VNFPerformanceManagement.yaml | 101 +++++-- .../VNFPerformanceManagementNotification.yaml | 12 +- ...edResourcesQuotaAvailableNotification.yaml | 12 +- src/components/SOL002SOL003_params.yaml | 117 -------- src/components/SOL002_params.yaml | 78 ++++++ src/endpoints/SOL002SOL003_endpoints.yaml | 2 +- 14 files changed, 501 insertions(+), 307 deletions(-) delete mode 100644 src/components/SOL002SOL003_params.yaml create mode 100644 src/components/SOL002_params.yaml diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 145af239..ac02d976 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -32,8 +32,8 @@ paths: /configuration: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method to read configuration information about a VNF instance and/or its VNFC instances. diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 5693be70..7fe6f08a 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -32,16 +32,16 @@ paths: /alarms: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method to retrieve information about the alarm list. See clause 7.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType + - $ref: '#/components/parameters/filter_alarms' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/Alarms.Get.200' @@ -73,14 +73,14 @@ paths: /alarms/{alarmId}: parameters: - $ref: '#/components/parameters/AlarmId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method to read an individual alarm. See clause 7.4.3.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType responses: "200": $ref: '#/components/responses/IndividualAlarm.Get.200' @@ -113,8 +113,8 @@ paths: description: | This method modifies an individual alarm resource. See clause 7.4.3.3.4. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/IndividualAlarmRequest' responses: @@ -152,8 +152,8 @@ paths: /alarms/{alarmId}/escalate: parameters: - $ref: '#/components/parameters/AlarmId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method enables the API consumer to escalate the perceived severity of an alarm that is represented @@ -190,17 +190,17 @@ paths: /subscriptions: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method to retrieve the list of active subscriptions for VNF alarms subscribed by the API consumer. It can be used e.g. for resynchronization after error situations. See clause 7.4.5.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType + - $ref: '#/components/parameters/filter_subscriptions' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/Subscriptions.Get.200' @@ -233,8 +233,8 @@ paths: description: | The POST method creates a new subscription. See clause 7.4.5.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/FmSubscriptionRequest' responses: @@ -270,15 +270,15 @@ paths: /subscriptions/{subscriptionId}: parameters: - $ref: '#/components/parameters/SubscriptionId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method for reading an individual subscription for VNF alarms subscribed by the API consumer. See clause 7.4.6.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType responses: "200": $ref: '#/components/responses/IndividualSubscription.Get.200' @@ -340,6 +340,38 @@ paths: components: parameters: + filter_subscriptions: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + 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 + in: query + required: false + schema: + type: string + + filter_alarms: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + 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. + in: query + required: false + schema: + type: string + AlarmId: name: alarmId in: path diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 40b48312..e28d179f 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -29,8 +29,8 @@ servers: paths: /URI_is_provided_by_the_client_when_creating_the_subscription-AlarmNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, @@ -58,7 +58,7 @@ paths: The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 7.4.7.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/AlarmNotification' responses: @@ -81,8 +81,8 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-AlarmClearedNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, @@ -110,7 +110,7 @@ paths: The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 7.4.7.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/AlarmClearedNotification' responses: @@ -133,8 +133,8 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-AlarmListRebuiltNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, @@ -162,7 +162,7 @@ paths: The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 7.4.7.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/AlarmListRebuiltNotification' responses: diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index f1c9c9d8..052d3318 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -32,14 +32,14 @@ paths: /indicators: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method queries multiple VNF indicators. See clause 8.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_indicators' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/Indicators.Get.200' @@ -71,14 +71,14 @@ paths: /indicators/{vnfInstanceId}: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method queries multiple VNF indicators related to a VNF instance. See clause 8.4.3.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_vnf_indicators_related_to_vnf_instance' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/VnfIndicators.Get.200' @@ -111,8 +111,8 @@ paths: parameters: - $ref: '#/components/parameters/VnfInstanceId' - $ref: '#/components/parameters/IndicatorId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method reads a VNF indicator. See clause 8.4.4.3.2. @@ -146,15 +146,15 @@ paths: /subscriptions: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization 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 resynchronization after error situations. See clause 8.4.5.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_subscriptions' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/VnfIndicatorSubscriptions.Get.200' @@ -187,8 +187,8 @@ paths: description: | The POST method creates a new subscription. See clause 8.4.5.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VnfIndicatorSubscriptionRequest' responses: @@ -224,8 +224,8 @@ paths: /subscriptions/{subscriptionId}: parameters: - $ref: '#/components/parameters/SubscriptionId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method reads an individual subscription. See clause 8.4.6.3.2. @@ -290,6 +290,50 @@ paths: components: parameters: + filter_subscriptions: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + 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). + in: query + required: false + schema: + type: string + + filter_vnf_indicators_related_to_vnf_instance: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + The API producer shall support receiving this parameter as part of the URI query + string. The VNFM may supply this parameter. + All attribute names that appear in the VnfIndicator data type and in data types + referenced from it shall be supported by the API producer in the filter expression. + in: query + required: false + schema: + type: string + + filter_indicators: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + The API producer shall support receiving this parameter as part of the URI query + string. The VNFM may supply this parameter. + All attribute names that appear in the VnfIndicator data type and in data types + referenced from it shall be supported by the API producer in the filter expression. + in: query + required: false + schema: + type: string + VnfInstanceId: name: vnfInstanceId in: path diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index fce09f5f..6883149c 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -29,8 +29,8 @@ servers: paths: '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIndicatorValueChangeNotification': parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the API producer to test the notification endpoint that is provided by the @@ -58,7 +58,7 @@ paths: The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 8.4.7.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VnfIndicatorValueChangeNotification' responses: @@ -81,8 +81,8 @@ paths: '/URI_is_provided_by_the_client_when_creating_the_subscription-SupportedIndicatorsChangeNotification': parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the API producer to test the notification endpoint that is provided by the @@ -110,7 +110,7 @@ paths: The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 8.4.7.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/SupportedIndicatorsChangeNotification' responses: diff --git a/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml b/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml index 171032a8..aa6f78a9 100644 --- a/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml +++ b/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml @@ -32,15 +32,15 @@ paths: /coordinations: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | This POST method requests the coordination of an LCM operation occurrence with a management operation executed in the API producer. See clause 10.4.2.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/LcmCoordRequest' responses: @@ -76,8 +76,8 @@ paths: /coordinations/{coordinationId}: parameters: - $ref: '#/components/parameters/coordinationId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method reads a coordination result. See clause 10.4.3.3.2. @@ -114,8 +114,8 @@ paths: /coordinations/{coordinationId}/cancel: parameters: - $ref: '#/components/parameters/coordinationId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method initiates the cancellation of an ongoing coordination action. diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 1068cff7..d4717d33 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -32,19 +32,19 @@ paths: /vnf_instances: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method queries information about multiple VNF instances. See clause 5.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: '#/components/parameters/filter_vnf_instances' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/all_fields_vnfm + - $ref: ../../components/SOL002_params.yaml#/components/parameters/fields_vnfm + - $ref: ../../components/SOL002_params.yaml#/components/parameters/exclude_fields_vnfm + - $ref: '#/components/parameters/exclude_default_vnf_instances' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/VnfInstances.Get.200' @@ -78,8 +78,8 @@ paths: The POST method creates a new VNF instance resource based on a VNF package that is onboarded and in "ENABLED" state. See clause 5.4.2.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VnfInstanceCreationRequest' responses: @@ -113,8 +113,8 @@ paths: /vnf_instances/{vnfInstanceId}: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | Information about a VNF instance by reading an "Individual VNF instance". See clause 5.4.3.3.2. @@ -219,8 +219,8 @@ paths: /vnf_instances/{vnfInstanceId}/instantiate: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method instantiates a VNF instance. See clause 5.4.4.3.1. @@ -259,8 +259,8 @@ paths: /vnf_instances/{vnfInstanceId}/scale: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method requests to scale a VNF instance resource incrementally. See clause 5.4.5.3.1. @@ -299,8 +299,8 @@ paths: /vnf_instances/{vnfInstanceId}/scale_to_level: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method requests to scale a VNF instance resource to a target level. See clause 5.4.6.3.1. @@ -339,8 +339,8 @@ paths: /vnf_instances/{vnfInstanceId}/change_flavour: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method changes the deployment flavour of a VNF instance. See clause 5.4.7.3.1. @@ -379,8 +379,8 @@ paths: /vnf_instances/{vnfInstanceId}/terminate: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method triggers the VNFM to terminate a VNF instance and to request to the VIM the release of its @@ -420,8 +420,8 @@ paths: /vnf_instances/{vnfInstanceId}/heal: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method requests to heal a VNF instance. See clause 5.4.9.3.1. @@ -460,8 +460,8 @@ paths: /vnf_instances/{vnfInstanceId}/operate: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method changes the operational state of a VNF instance. See clause 5.4.10.3.1. @@ -500,8 +500,8 @@ paths: /vnf_instances/{vnfInstanceId}/change_ext_conn: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method changes the external connectivity of a VNF instance. See clause 5.4.11.3.1. @@ -540,8 +540,8 @@ paths: /vnf_instances/{vnfInstanceId}/change_vnfpkg: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method changes the current VNF package on which the VNF instance is based. @@ -580,19 +580,19 @@ paths: /vnf_lcm_op_occs: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The client can use this method to query status information about multiple VNF lifecycle management operation occurrences. See clause 5.4.12.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_vnf_lcm_op_occs' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/all_fields_vnfm + - $ref: ../../components/SOL002_params.yaml#/components/parameters/fields_vnfm + - $ref: ../../components/SOL002_params.yaml#/components/parameters/exclude_fields_vnfm + - $ref: '#/components/parameters/exclude_default_vnf_lcm_op_occs' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/VnfLcmOpOccs.Get.200' @@ -624,8 +624,8 @@ paths: /vnf_lcm_op_occs/{vnfLcmOpOccId}: parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence @@ -661,8 +661,8 @@ paths: /vnf_lcm_op_occs/{vnfLcmOpOccId}/retry: parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary @@ -701,8 +701,8 @@ paths: /vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback: parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary @@ -741,8 +741,8 @@ paths: /vnf_lcm_op_occs/{vnfLcmOpOccId}/fail: parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation @@ -780,8 +780,8 @@ paths: /vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel: parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled @@ -819,15 +819,15 @@ paths: /subscriptions: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization 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 resynchronization after error situations. See clause 5.4.18.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: '#/components/parameters/filter_subscriptions' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/Subscriptions.Get.200' @@ -894,8 +894,8 @@ paths: /subscriptions/{subscriptionId}: parameters: - $ref: '#/components/parameters/SubscriptionId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method retrieves information about a subscription by reading an "Individual subscription" resource. @@ -962,8 +962,8 @@ paths: /vnf_instances/{vnfInstanceId}/create_snapshot: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method requests tacking a VNF instance snapshot and populating a previously created VNF snapshot resource @@ -1003,8 +1003,8 @@ paths: /vnf_instances/{vnfInstanceId}/revert_to_snapshot: parameters: - $ref: '#/components/parameters/VnfInstanceId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot. See clause 5.4.22.3.1. @@ -1042,8 +1042,8 @@ paths: /vnf_snapshots: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization post: description: | The POST method creates a new individual VNF snapshot resource. See clause 5.4.23.3.1. @@ -1083,13 +1083,13 @@ paths: description: | The GET method queries information about multiple VNF/VNFC snapshots. See clause 5.4.23.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: '#/components/parameters/filter_vnf_snapshots' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/all_fields_vnfm + - $ref: ../../components/SOL002_params.yaml#/components/parameters/fields_vnfm + - $ref: ../../components/SOL002_params.yaml#/components/parameters/exclude_fields_vnfm + - $ref: '#/components/parameters/exclude_default_vnf_snapshots' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/VnfSnapshots.Get.200' @@ -1121,8 +1121,8 @@ paths: /vnf_snapshots/{vnfSnapshotInfoId}: parameters: - $ref: '#/components/parameters/VnfSnapshotInfoId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method retrieves information about a VNF /VNFC snapshot by reading an individual VNF snapshot resource. @@ -1191,6 +1191,120 @@ paths: components: parameters: + filter_vnf_snapshots: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + 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 VnfSnapshot and in data types + referenced from it shall be supported by the VNFM in the filter + expression. + in: query + required: false + schema: + type: string + + exclude_default_vnf_snapshots: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. + The VNFM shall support this parameter. + The following attributes shall be excluded from the VnfSnapshot + structure in the response body if this parameter is provided, or none + of the parameters "all_fields," "fields", "exclude_fields", + "exclude_default" are provided: + - vnfInstance + - vnfcSnapshots + required: false + schema: + type: string + + filter_subscriptions: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + 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. + in: query + required: false + schema: + type: string + + filter_vnf_lcm_op_occs: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + 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. + in: query + required: false + schema: + type: string + + exclude_default_vnf_lcm_op_occs: + name: exclude_default + in: query + description: > + Indicates to exclude the following complex attributes from the response. See + clause 5.3 of ETSI GS NFV-SOL 013 [6] 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 + - lcmCoordinations + - modificationsTriggeredByVnfPkgChange + - warnings + required: false + schema: + type: string + + filter_vnf_instances: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + 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. + in: query + required: false + schema: + type: string + + exclude_default_vnf_instances: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See + clause 5.3 of ETSI GS NFV-SOL 013 [6] 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 + required: false + schema: + type: string + VnfInstanceId: name: vnfInstanceId in: path diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index d669c131..f5c51493 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -29,8 +29,8 @@ servers: paths: /URI_is_provided_by_the_client_when_creating_the_subscription-VnfLcmOperationOccurrenceNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the server to test the notification endpoint that is provided by the API consumer, @@ -58,7 +58,7 @@ paths: The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VnfLcmOperationOccurrenceNotification' responses: @@ -81,8 +81,8 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierCreationNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the server to test the notification endpoint that is provided by the API consumer, @@ -110,7 +110,7 @@ paths: The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VnfIdentifierCreationNotification' responses: @@ -133,8 +133,8 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierDeletionNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the server to test the notification endpoint that is provided by the API consumer, @@ -162,7 +162,7 @@ paths: The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VnfIdentifierDeletionNotification' responses: diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index a2e55c65..7069255b 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -32,20 +32,20 @@ paths: /pm_jobs: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method to retrieve information about PM jobs. See clause 6.4.2.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType + - $ref: '#/components/parameters/filter_pm_jobs' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/all_fields_vnfm + - $ref: ../../components/SOL002_params.yaml#/components/parameters/fields_vnfm + - $ref: ../../components/SOL002_params.yaml#/components/parameters/exclude_fields_vnfm + - $ref: '#/components/parameters/exclude_default_pm_jobs' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/PmJobs.Get.200' @@ -78,8 +78,8 @@ paths: description: | The POST method creates a PM job. See clause 6.4.2.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/PmJobCreationRequest' responses: @@ -113,13 +113,13 @@ paths: /pm_jobs/{pmJobId}: parameters: - $ref: '#/components/parameters/PmJobId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method for reading an individual PM job. See clause 6.4.3.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept responses: "200": $ref: '#/components/responses/IndividualPmJob.Get.200' @@ -220,13 +220,13 @@ paths: parameters: - $ref: '#/components/parameters/PmJobId' - $ref: '#/components/parameters/ReportId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The API consumer can use this method for reading an individual performance report. See clause 6.4.4.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept responses: "200": $ref: '#/components/responses/IndividualPmJobReport.Get.200' @@ -257,15 +257,15 @@ paths: /thresholds: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The API cosumer can use this method to query information about thresholds. See clause 6.4.5.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: '#/components/parameters/filter_thresholds' + - $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm responses: "200": $ref: '#/components/responses/Thresholds.Get.200' @@ -298,8 +298,8 @@ paths: description: | The POST method can be used by API consumer to create a threshold. See clause 6.4.5.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/ThresholdCreationRequest' responses: @@ -333,13 +333,13 @@ paths: /thresholds/{thresholdId}: parameters: - $ref: '#/components/parameters/ThresholdId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The client can use this method for reading an individual threshold. See clause 6.4.6.3.2. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept responses: "200": $ref: '#/components/responses/IndividualThreshold.Get.200' @@ -372,7 +372,7 @@ paths: description: | This method allows to delete a threshold. See clause 6.4.6.3.5. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept responses: "204": $ref: '#/components/responses/IndividualThreshold.Delete.204' @@ -440,6 +440,49 @@ paths: components: parameters: + filter_thresholds: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + The VNFM shall support receiving this parameter as part of the URI query string. + The API consumer may supply this parameter. + All attribute names that appear in the Thresholds data type and in data types + referenced from it shall be supported by the VNFM in the filter expression. + in: query + required: false + schema: + type: string + + exclude_default_pm_jobs: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See + clause 5.3 of ETSI GS NFV-SOL 013 [6] 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 + required: false + schema: + type: string + + filter_pm_jobs: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [6]. + The VNFM shall support receiving this parameter as part of the URI query string. The + API consumer 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 + schema: + type: string + PmJobId: name: pmJobId in: path diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index b4a2d1fc..d7e4da27 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -29,8 +29,8 @@ servers: paths: '/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification': parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the server to test the notification endpoint that is provided by the client, @@ -58,7 +58,7 @@ paths: The POST method delivers a notification regarding a performance management event from API producer to an API consumer. See clause 6.4.9.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/PerformanceInformationAvailableNotification' responses: @@ -81,8 +81,8 @@ paths: /URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization get: description: | The GET method allows the server to test the notification endpoint that is provided by the client, @@ -110,7 +110,7 @@ paths: The POST method delivers a notification regarding a performance management event from API producer to an API consumer. See clause 6.4.9.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/ThresholdCrossedNotification' responses: diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 22625c55..42d907a0 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -38,14 +38,14 @@ paths: ############################################################################### /subscriptions: parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization post: description: | The POST method creates a new subscription. See clause 11.4.2.3.1. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VrQuotaAvailSubscriptionRequest' responses: @@ -113,8 +113,8 @@ paths: /subscriptions/{subscriptionId}: parameters: - $ref: '#/components/parameters/SubscriptionId' - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization get: description: | The GET method reads an individual subscription. See clause 11.4.3.3.2. diff --git a/src/components/SOL002SOL003_params.yaml b/src/components/SOL002SOL003_params.yaml deleted file mode 100644 index a277a550..00000000 --- a/src/components/SOL002SOL003_params.yaml +++ /dev/null @@ -1,117 +0,0 @@ -components: - parameters: - Version: - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - Accept: - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF RFC 7231. - in: header - required: true - schema: - type: string - - Authorization: - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - - ContentType: - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - filter: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The VNFM shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - all_fields: - name: all_fields - description: > - Include all complex attributes in the response. See clause - 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity - shall support this parameter. - in: query - required: false - schema: - type: string - - fields: - name: fields - description: > - Complex attributes to be included into the response. See clause - 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional - entity should support this parameter. - in: query - required: false - schema: - type: string - - exclude_fields: - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause - 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional - entity should support this parameter. - in: query - required: false - schema: - type: string - - exclude_default: - name: exclude_default - in: query - description: >- - Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 - 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 - - lcmCoordinations - - modificationsTriggeredByVnfPkgChange - - warnings - required: false - schema: - type: string - - nextpage_opaque_marker: - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by - the VNFM if the entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string diff --git a/src/components/SOL002_params.yaml b/src/components/SOL002_params.yaml new file mode 100644 index 00000000..ba54fb11 --- /dev/null +++ b/src/components/SOL002_params.yaml @@ -0,0 +1,78 @@ +components: + parameters: + Version: + name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + + Accept: + name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF RFC 7231. + in: header + required: true + schema: + type: string + + Authorization: + name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + + ContentType: + name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + + all_fields_vnfm: + name: all_fields + description: > + Include all complex attributes in the response. See clause 5.3 of ETSI + GS NFV-SOL 013 [6] for details. The VNFM shall support this parameter. + in: query + required: false + schema: + type: string + + fields_vnfm: + name: fields + description: > + Complex attributes to be included into the response. See clause 5.3 of ETSI + GS NFV-SOL 013 [6] for details. The VNFM should support this parameter. + in: query + required: false + schema: + type: string + + exclude_fields_vnfm: + name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause 5.3 of ETSI + GS NFV-SOL 013 [6] for details. The VNFM should support this parameter. + in: query + required: false + schema: + type: string + + nextpage_opaque_marker_vnfm: + 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 5.4.2.1 of + ETSI GS NFV-SOL 013 [6] for this resource. + in: query + required: false + schema: + type: string \ No newline at end of file diff --git a/src/endpoints/SOL002SOL003_endpoints.yaml b/src/endpoints/SOL002SOL003_endpoints.yaml index d6f7328c..cfdfd0ce 100644 --- a/src/endpoints/SOL002SOL003_endpoints.yaml +++ b/src/endpoints/SOL002SOL003_endpoints.yaml @@ -3,7 +3,7 @@ endpoints: api-versions: parameters: - - $ref: ../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../components/SOL002_params.yaml#/components/parameters/Version get: description: > The GET method reads API version information. This method shall follow the provisions specified in SOL013 table 9.3.3.3.2-1 -- GitLab From d073111e4851a441dca811d95ca7cfa04a2116b2 Mon Sep 17 00:00:00 2001 From: Ayesha Ayub Date: Tue, 18 Jan 2022 11:27:05 +0500 Subject: [PATCH 06/10] SOL002: update version to 3.6.1 in externalDocs --- src/SOL002/APIVersion/APIVersion.yaml | 4 ++-- src/SOL002/VNFConfiguration/VNFConfiguration.yaml | 4 ++-- .../VNFFaultManagementNotification.yaml | 4 ++-- src/SOL002/VNFIndicator/VNFIndicator.yaml | 4 ++-- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 4 ++-- .../VNFLifecycleCoordination/VNFLifecycleCoordination.yaml | 4 ++-- src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml | 4 ++-- .../VNFLifecycleManagementNotification.yaml | 4 ++-- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 4 ++-- .../VNFPerformanceManagementNotification.yaml | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index 6da2dab9..c481b196 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -19,8 +19,8 @@ info: version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf paths: /vnfconfig/api_versions: diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index ac02d976..1ae7e870 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -19,8 +19,8 @@ info: version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/vnfconfig/v1 diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index e28d179f..60d9631e 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 052d3318..2fbcd440 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -19,8 +19,8 @@ info: version: 1.3.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/vnfind/v1 diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 6883149c..be7145b9 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -19,8 +19,8 @@ info: version: 1.3.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml b/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml index aa6f78a9..01690249 100644 --- a/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml +++ b/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml @@ -19,8 +19,8 @@ info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/lcmcoord/v1 diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index d4717d33..dcff6e40 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/vnflcm/v2 diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index f5c51493..a3a49f41 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 7069255b..e72a10cc 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/vnfpm/v2 diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index d7e4da27..8c90b809 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/callback/v2 -- GitLab From c3188367ff01840cad3c17b131ed0662e4bf874b Mon Sep 17 00:00:00 2001 From: Ayesha Ayub Date: Tue, 18 Jan 2022 11:38:44 +0500 Subject: [PATCH 07/10] SOl002: fix version in externalDocs tag of VNFFaultManagement --- src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 7fe6f08a..2a5e496e 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -19,8 +19,8 @@ info: version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V3.5.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf + description: ETSI GS NFV-SOL 002 V3.6.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf servers: - url: http://127.0.0.1/vnffm/v1 -- GitLab From 7ef52765275a465ddb2d1bef1ba9899ca8ff267c Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 21 Feb 2022 13:28:01 +0500 Subject: [PATCH 08/10] update description of vnfdId attribute in SOL003VNFLifecycleManagement --- .../definitions/SOL003VNFLifecycleManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 6a56505c..0537c2e1 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -1110,7 +1110,7 @@ definitions: description: > Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). + current VNF package" operation or due to its final failure). See note. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" storageResource: description: > -- GitLab From b97307775946c7a5ebd36c4658b715f1f5294ff9 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Tue, 22 Feb 2022 12:18:11 +0500 Subject: [PATCH 09/10] fix CI failing issue due to rdoc in Dockerfile --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 9b3d8380..b2bc2158 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -12,7 +12,7 @@ RUN apk add asciidoctor RUN apk add openjdk8 RUN apk add ca-certificates wget && update-ca-certificates RUN apk add openssl -RUN gem install rdoc --pre || gem install rdoc --pre +RUN gem install rdoc -v 6.3.3 || gem install rdoc -v 6.3.3 RUN gem install asciidoctor-pdf-cjk RUN wget https://forge.etsi.org/swagger2markup-cli-1.3.2.jar RUN npm config set proxy $http_proxy -- GitLab From e341542433f51ba820b7ffa3f8345be924869240 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Sat, 28 May 2022 07:59:40 +0000 Subject: [PATCH 10/10] Update Readme.md --- Readme.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Readme.md b/Readme.md index c57246ee..21666972 100644 --- a/Readme.md +++ b/Readme.md @@ -8,8 +8,6 @@ The APIs described in this repository are defined for the following reference po * `Or-Vnfm` * `Ve-vnfm` -**IMPORTANT: These [OpenAPI](https://www.openapis.org/) specifications are in development phase. In case of discrepancies the published ETSI Group Specification takes precedence.** - More information at [NFV Solutions wiki](https://nfvwiki.etsi.org/index.php?title=NFV_Solutions). ## Content structure -- GitLab