From 8c835f77e46f8aff0d1204d61f9c5084b1dbf104 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 1 Jun 2020 12:23:42 +0200 Subject: [PATCH] SOL002_29->SOL002_70: Datatypes updated --- .../SOL002VNFLifecycleManagement_def.yaml | 245 ++++++++++++++- ...OL002SOL003VNFLifecycleManagement_def.yaml | 286 ++++++++++++++++-- src/definitions/SOL002SOL003_def.yaml | 39 ++- 3 files changed, 542 insertions(+), 28 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index efaadd95..322347b0 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -485,12 +485,27 @@ definitions: stopType: description: > It signals whether forceful or graceful stop is requested. - Ignored if changeStateTo=STARTED. - Permitted values: - FORCEFUL: The VNFM will stop down the VNF or the affected VNFCs immediately after accepting the request. + The "stopType" and "gracefulStopTimeout" attributes shall be absent, when the "changeStateTo" attribute is + equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the "changeStateTo" is equal to + "STOPPED" and the "stopType" attribute is equal to "GRACEFUL". The "gracefulStopTimeout" attribute shall be + absent, when the "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute is equal to + "FORCEFUL". The request shall be treated as if the "stopType" attribute has been set to "FORCEFUL", when the + "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute is absent. type: string enum: - FORCEFUL + - GRACEFUL + gracefulStopTimeout: + description: > + The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop, + before stopping the VNF. + The "stopType" and "gracefulStopTimeout" attributes shall be absent, when the "changeStateTo" attribute is + equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the "changeStateTo" is equal to + "STOPPED" and the "stopType" attribute is equal to "GRACEFUL". The "gracefulStopTimeout" attribute shall be + absent, when the "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute is equal to + "FORCEFUL". The request shall be treated as if the "stopType" attribute has been set to "FORCEFUL", when the + "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute is absent. + type: integer additionalParams: description: > Additional parameters passed by the NFVO as input to the process, @@ -521,6 +536,55 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeCurrentVnfPkgRequest: + description: > + This type represents request parameters for the "Change current VNF package" operation to replace the VNF package + on which a VNF instance is based. + type: object + required: + - vnfdId + properties: + vnfdId: + description: > + Identifier of the VNFD which defines the destination VNF Package for the change. + $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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" + extManagedVirtualLinks: + description: > + Information about internal VLs that are managed by other entities than the VNFM. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + vimConnectionInfo: + description: > + Information about VIM connections to be used for managing the resources for the VNF instance, or refer to + external virtual links. This attribute shall only be supported and may be present if VNF-related resource + management in direct mode is applicable. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + additionalParams: + description: > + Additional parameters passed by the EM as input to the process, specific to the VNF of which the underlying + VNF package is changed, as declared in the VNFD as part of "ChangeCurrentVnfPkgOpConfig". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + descriptions: > + If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance", + as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, and needed passed + parameter values in case of conflicts, are defined in clause 5.4.11a.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfConfigurableProperties: + description: > + If present, this attribute provides modifications to the values of the VNF configurable properties attribute + in the "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during + the operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfInfoModificationRequest: description: > @@ -577,7 +641,180 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" CreateVnfSnapshotRequest: + description: > + This type represents request parameters for the "Create VNF Snapshot" operation. + type: object + required: + - vnfSnapshotResId + properties: + vnfSnapshotResId: + description: > + Identifier of the individual VNF snapshot resource to which the VNF Snapshot is to be associated. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcInstanceId: + description: > + Identifier of the VNFC instance to be snapshotted. If this attribute is provided, only a snapshot of the + referred VNFC instance shall be created. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + additionalParams: + description: > + Additional input parameters for the snapshot creation process, specific for the VNF being “snapshotted”, + as declared in the VNFD as part of "CreateSnapshotVnfOpConfig". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + userDefinedData: + description: > + User defined data for the VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" RevertToVnfSnapshotRequest: + description: > + This type represents request parameters for the "Revert-to VNF Snapshot" operation. + type: oject + properties: + vnfInstanceId: + description: > + Identifier of the VNF instance to be reverted. Only one of the tuples (vnfInstanceId; vnfSnapshotInfoId) or + (vnfcInstanceId; vnfcSnapshotInfoId) shall be present, indicating whether a VNF instance or a VNFC instance + shall be reverted. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshotId: + description: > + Identifier of the VNF snapshot to be reverted to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcInstanceId: + description: > + Identifier of the VNFC instance to be reverted. Only one of the tuples (vnfInstanceId; vnfSnapshotInfoId) or + (vnfcInstanceId; vnfcSnapshotInfoId) shall be present, indicating whether a VNF instance or a VNFC instance + shall be reverted. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcSnapshotId: + description: > + Identifier of the VNFC snapshot to be reverted to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + + VnfSnapshotRes: + description: > + This type represents an individual VNF snapshot resource. + type: object + required: + - id + properties: + id: + description: > + Identifier of the individual VNF snapshot resource. This identifier is allocated by the VNFM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshot: + description: > + VNF snapshot information, content and/or references to its content. Shall be present when the individual VNF + snapshot resource is associated to a VNF snapshot created via the corresponding "Create VNF snapshot" task + resource or extracted from a VNF snapshot package. + $ref: '#/definitions/VnfSnapshot' + + VnfSnapshot: + description: > + This type represents a VNF snapshot. + type: object + required: + - id + - vnfInstanceId + - triggeredAt + - vnfdId + - vnfInfo + - vnfcSnapshots + properties: + id: + description: > + Identifier of the VNF Snapshot. This identifier is allocated by the VNFM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInstanceId: + description: > + Identifier of the snapshotted VNF instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + triggeredAt: + description: > + Timestamp indicating when the VNF snapshot creation has been started. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + createdAt: + description: > + Timestamp indicating when the VNF snapshot has been completed. Shall be present once the VNF snapshot creation + has been completed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfdId: + description: > + Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInfo: + description: > + VnfInfo of the snapshotted VNF instance. This is a copy of the individual VNF instance resource. + $ref: '#/definitions/VnfInstance' + vnfcSnapshots: + description: > + Information about VNFC snapshots constituting this VNF snapshot. + type: array + items: + $ref: '#/definitions/VnfcSnapshotInfo' + userDefinedData: + description: > + User defined data for the VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VnfSnapshotRes: \ No newline at end of file + VnfcSnapshotInfo: + description: > + This type represents a VNFC snapshot. + type: object + required: + - id + - vnfcInstanceId + - triggeredAt + - vnfcInfo + properties: + id: + description: > + Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by + the VNFM and is unique within the scope of a VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcInstanceId: + description: > + Identifier of the snapshotted VNFC instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + triggeredAt: + description: > + Timestamp indicating when the VNF snapshot creation has been started. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + createdAt: + description: > + Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot + creation has been completed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfcInfo: + description: > + Information of the snapshotted VNFC instance. This is a copy of the individual VnfcResourceInfo. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfo" + computeSnapshotResource: + description: > + Reference to a compute snapshot resource. The identifiers of the compute and storage snapshot resources are + assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message + of the individual resource operations. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + storageSnapshotResources: + description: > + Reference to a storage snapshot resource. The identifiers of the compute and storage snapshot resources are + assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message + of the individual resource operations. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + userDefinedData: + description: > + User defined data for the VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + StopType: + description: > + The enumeration StopType. + * FORCEFUL: The VNFM will stop the VNF instance or VNFC instance(s) immediately after accepting the request. + * GRACEFUL: The VNFM will first arrange to take the VNF instance or VNFC instance(s) out of service after accepting + the request. Once that operation is successful or once the timer value specified in the "gracefulStopTimeout" + attribute expires, the VNFM will stop the VNF instance or VNFC instance(s). + type: string + enum: + - FORCEFUL + - GRACEFUL \ No newline at end of file diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 8324f4b4..5f5a3b73 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -242,7 +242,8 @@ definitions: VnfLcmOpOcc: description: > - This type represents a VNF lifecycle management operation occurrence. + This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" + attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. type: object required: - id @@ -306,6 +307,9 @@ definitions: * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications + * CREATE_SNAPSHOT: CreateVnfSnapshotRequest + * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest + * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest type: object isCancelPending: description: > @@ -337,8 +341,8 @@ definitions: description: > Information about VNFC instances that were affected during the lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. type: array items: @@ -347,19 +351,27 @@ definitions: description: > Information about VL instances that were affected during the lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. type: array items: $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle operation. This allows + the API consumer to obtain the information contained in the latest "result" notification if it has not + received it due to an error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected during the lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. + This allows the API consumer to obtain the information contained + in the latest "result" notification if it has not received it due to + an error or a wrongly configured subscription filter. type: array items: $ref: "#/definitions/AffectedVirtualStorage" @@ -380,6 +392,19 @@ definitions: type: array items: $ref: "#/definitions/ExtVirtualLinkInfo" + modificationsTriggeredByVnfPkgChange: + description: > + Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package, + if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG". + This allows the API consumer to obtain the information contained in the latest "result" notification if it has + not received it due to an error or a wrongly configured subscription filter. + Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. + $ref: "#/definitions/ModificationsTriggeredByVnfPkgChange" + vnfSnapshotResId: + description: > + Identifier of the individual VNF snapshot resource, if applicable by the type of LCM operation, i.e., if value + of operation is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" _links: description: > Links to resources related to this resource. @@ -424,6 +449,11 @@ definitions: for this VNF LCM operation occurrence, if declaring as failed is currently allowed. $ref: "SOL002SOL003_def.yaml#/definitions/Link" + vnfSnapshot: + description: > + Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot. + Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". + $ref: "SOL002SOL003_def.yaml#/definitions/Link" CancelMode: description: > @@ -465,6 +495,11 @@ definitions: This attribute shall only be present if the subscriber requires authorization of notifications. $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" + verbosity: + description: > + This attribute signals the requested verbosity of LCM operation occurrence notifications. If it is not present, + it shall default to the value "FULL". + $ref: "#/definitions/LcmOpOccNotificationVerbosityType" LccnSubscription: description: > @@ -491,6 +526,10 @@ definitions: description: > The URI of the endpoint to send the notification to. $ref: "SOL002SOL003_def.yaml#/definitions/Uri" + verbosity: + description: > + This attribute signals the verbosity of LCM operation occurrence notifications. + $ref: "#/definitions/LcmOpOccNotificationVerbosityType" _links: description: > Links to resources related to this resource. @@ -545,6 +584,12 @@ definitions: description: > Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + 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). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" networkResource: description: > Reference to the VirtualNetwork resource. @@ -566,6 +611,12 @@ definitions: description: > Identifier of the scaling aspect. $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). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the @@ -590,6 +641,12 @@ definitions: description: > Reference to the applicable VDU 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). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" computeResource: description: > Reference to the VirtualCompute resource. @@ -679,6 +736,12 @@ definitions: description: > Identifier of the VNF Virtual Link Descriptor (VLD) 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). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" networkResource: description: > Reference to the VirtualNetwork resource. @@ -727,6 +790,12 @@ definitions: description: > Identifier of the VirtualStorageDesc 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). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" storageResource: description: > Reference to the VirtualStorage resource. @@ -760,7 +829,7 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" resourceHandle: description: > - Reference to the virtualised network resource realizing this link + Reference to the virtualised resource realizing this link port. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" cpInstanceId: @@ -856,6 +925,16 @@ definitions: MAC address, if assigned. At least one of "macAddress" or "ipAddresses" shall be present. $ref: "SOL002SOL003_def.yaml#/definitions/MacAddress" + segmentationId: + description: > + Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a + subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. + Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment + value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an + identifier used between the application and the NFVI networking infrastructure to identify the network + sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local + segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology. + type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP @@ -926,6 +1005,12 @@ definitions: description: > Identifier of the monitoring parameter defined 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). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" name: description: > Human readable name of the monitoring parameter, as defined in the @@ -1011,6 +1096,12 @@ definitions: description: > Identifier of the related VLD in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected VL instance is + associated to a VLD which is referred from the source or destination VNFD. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" changeType: description: > Signals the type of change. Permitted values: @@ -1036,6 +1127,15 @@ definitions: (for new and modified resources) or has been (for removed resources) available from the VIM. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" + vnfLinkPortIds: + description: > + Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. + Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related vnfLinkPort + structures are present (case "added") or have been present (case "removed") in the VnfVirtualLinkResourceInfo + structure that is represented by the "vnfVirtualLinkResourceInfo" attribute in the "VnfInstance" structure. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" resourceDefinitionId: description: > The identifier of the "ResourceDefinition" in the granting exchange @@ -1061,6 +1161,41 @@ definitions: "metadata" attribute of the VnfVirtualLinkResourceInfo structure. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + AffectedExtLinkPort: + description: > + This type provides information about added and deleted external link ports (link ports attached to external virtual links). + type: object + required: + - id + - changeType + - extCpInstanceId + - resourceHandle + properties: + id: + description: > + Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" data + type (see clause 5.5.3.3). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + Signals the type of change. + Permitted values: + - ADDED + - REMOVED + type: string + enum: + - ADDED + - REMOVED + extCpInstanceId: + description: > + Identifier of the related external CP instance. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + resourceHandle: + description: > + Reference to the link port resource. + Detailed information is (for added resources) or has been (for removed resources) available from the VIM. + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" + AffectedVirtualStorage: description: > This type provides information about added, deleted, modified and @@ -1081,6 +1216,12 @@ definitions: description: > Identifier of the related VirtualStorage descriptor in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected virtual storage + instance is associated to a VirtualStorage descriptor which is referred from the source or destination VNFD. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" changeType: description: > Signals the type of change. Permitted values: @@ -1170,6 +1311,12 @@ definitions: description: > Identifier of the external CPD, VnfExtCpd, 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). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" cpProtocolInfo: description: > Network protocol information for this CP. @@ -1319,7 +1466,8 @@ definitions: - VnfLcmOperationOccurrenceNotification subscriptionId: description: > - Identifier of the subscription that this notification relates to. + Identifier of the subscription that this notification relates to.Shall be set to the value of the "id" attribute + of the "LccnSubscription" representing the associated "Individual subscription" resource. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" timeStamp: description: > @@ -1358,10 +1506,17 @@ definitions: triggered by auto-heal). Set to false otherwise. type: boolean + verbosity: + description: > + This attribute signals the verbosity of the notification. If it is not present, it shall default to the value "FULL". + If the value is "SHORT", full change details can be obtained by performing a GET request on the "Individual LCM + operation occurrence" resource that is signalled by the "vnfLcmOpOcc" child attribute of the "_links" attribute. + $ref: '#/definitions/LcmOpOccNotificationVerbosityType' vnfLcmOpOccId: description: > - The identifier of the VNF lifecycle management operation occurrence - associated to the notification. + The identifier of the VNF lifecycle management operation occurrence associated to the notification. Shall be + set to the value of the "id" attribute of the "VnfLcmOpOcc" representing the associate "Individual VNF lifecycle + management operation occurrence" resource. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" affectedVnfcs: description: > @@ -1389,6 +1544,16 @@ definitions: type: array items: $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle operation. Shall be present + if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" and the operation + has performed any resource modification. Shall be absent otherwise. This attribute contains information about + the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence + and by any of the error handling procedures for that operation occurrence. + type: array + items: + $ref: "#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -1406,23 +1571,31 @@ definitions: description: > Information about the changed VNF instance information, including changed VNF configurable properties. - Shall be present if the "notificationStatus" is set to "RESULT" and - the operation has performed any changes to VNF instance information, - including VNF configurable properties. - Shall be absent otherwise. + Shall be present if the "notificationStatus" is set to "RESULT", + 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. $ref: "#/definitions/VnfInfoModifications" changedExtConnectivity: description: > Information about changed external connectivity, if this notification represents the result of a lifecycle operation occurrence. - Shall be present if the "notificationStatus" is set to "RESULT" and - the "operation" has made any changes to the external connectivity of - the VNF instance. Shall be absent otherwise. - Only information about external VL instances that have been added or - modified shall be provided. + Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has made + any changes to the external connectivity of the VNF instance. Shall be + absent otherwise. Only information about external VL instances that + have been added or modified shall be provided. type: array items: $ref: "#/definitions/ExtVirtualLinkInfo" + modificationsTriggeredByVnfPkgChange: + description: > + Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package. + Shall be present if the "notificationStatus" is set to "RESULT", the "operation" attribute is equal to + "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF + instance information, including VNF configurable properties. Shall be absent otherwise. + $ref: "#/definitions/ModificationsTriggeredByVnfPkgChange" error: description: > Details of the latest error, if one has occurred during executing @@ -1542,6 +1715,7 @@ definitions: description: > Changes of the configurable properties of the VNFC instance. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + VnfcInfo: description: > This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the @@ -1588,4 +1762,72 @@ definitions: Configurable properties referred in this attribute are declared in the VNFD. This attribute can be modified with the PATCH method - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + ModificationsTriggeredByVnfPkgChange: + description: > + This type represents attribute modifications that were performed on an "Individual VNF instance" resource when + changing the current VNF package. The attributes that can be included consist of those requested to be modified + explicitly in the "ChangeCurrentVnfPkgRequest" data structure, and additional attributes of the "VnfInstance" + data structure that were modified implicitly during the operation. + type: object + properties: + vnfConfigurableProperties: + description: > + This attribute signals the content of the "vnfConfigurableProperties" attribute in "VnfInstance" after the + modification and shall be present if that attribute was modified during the operation. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + This attribute signals the content of the "metadata" attribute in "VnfInstance" after the modification and + shall be present if that attribute was modified during the operation. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + This attribute signals the content of the "extensions" attribute in "VnfInstance" after the modification and + shall be present if that attribute was modified during the operation. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfdId: + description: > + If present, this attribute signals the new value of the "vnfdId" attribute in "VnfInstance". + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + vnfProvider: + description: > + If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". If present, + this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related + operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" + attribute. + type: string + vnfProductName: + description: > + If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". If present, + this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related + operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" + attribute. + type: string + vnfSoftwareVersion: + description: > + If present, this attribute signals the new value of the "vnfSoftwareVersion" attribute in "VnfInstance". If present, + this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related + operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" + attribute. + $ref: "SOL002SOL003_def.yaml#/definitions/Version" + vnfdVersion: + description: > + If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance". If present, + this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related + operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" + attribute. + $ref: "SOL002SOL003_def.yaml#/definitions/Version" + + LcmOpOccNotificationVerbosityType: + description: > + The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation + occurrence notifications. + * FULL: This signals a full notification which contains all change details. + * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to + be sent via the notification mechanism. + type: string + enum: + - FULL + - SHORT \ No newline at end of file diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index abd97498..b1df20d6 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -313,7 +313,8 @@ definitions: properties: cpdId: description: > - The identifier of the CPD in the VNFD. + The identifier of the CPD in the VNFD. In case this identifier refers to a CPD with trunking enabled, + the external CP instances created from this CPD will represent ports in a trunk. $ref: "#/definitions/IdentifierInVnfd" cpConfig: description: > @@ -332,7 +333,19 @@ definitions: shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. type: object + required: + - id properties: + id: + description: > + Identifier of the VnfExtCpConfig entry. Managed by the API consumer. + $ref: "#/definitions/IdentifierInVnf" + parentCpConfigId: + description: > + Reference to the "VnfExtCpConfig" entry that corresponds to the parent port of the trunk. Only present in + "VnfExtCpConfig" structures that provide configuration information for a CP which represents a sub-port in + a trunk, and if parent ports are supported. + $ref: "#/definitions/IdentifierInVnf" cpInstanceId: description: > Identifier of the external CP instance to which this set of @@ -423,6 +436,16 @@ definitions: the VIM. At least one of "macAddress" or "ipAddresses" shall be present. $ref: "#/definitions/MacAddress" + segmentationId: + description: > + Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a + subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. + Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment + value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an + identifier used between the application and the NFVI networking infrastructure to identify the network + sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local + segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology. + type: string ipAddresses: description: > List of IP addresses to assign to the CP instance. Each entry @@ -706,7 +729,10 @@ definitions: HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. - MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. + MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. + CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation. + REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation. + CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. type: string enum: - INSTANTIATE @@ -718,6 +744,9 @@ definitions: - OPERATE - CHANGE_EXT_CONN - MODIFY_INFO + - CREATE_SNAPSHOT + - REVERT_TO_SNAPSHOT + - CHANGE_VNFPKG ProblemDetails: #SOL003 location: 4.3.5.3 @@ -879,6 +908,12 @@ definitions: description: > Identifier of the related VDU in the VNFD. $ref: "#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected VNFC instance is + associated to a VDU which is referred from the source or destination VNFD. + $ref: "#/definitions/Identifier" changeType: description: > Signals the type of change. Permitted values: -- GitLab