# Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: VnfLcmOperationOccurrenceNotification: description: > This type represents a VNF lifecycle management operation occurrence notification, which informs the receiver of changes in the VNF lifecycle caused by a VNF LCM operation occurrence. The support of the notification is mandatory. This notification shall be triggered by the VNFM when there is a change in the VNF lifecycle caused by a VNF LCM operation occurrence, including: * Instantiation of the VNF * Scaling of the VNF instance (including auto-scaling) * Healing of the VNF instance (including auto-healing) * Change of the state of the VNF instance (i.e. Operate VNF) * Change of the deployment flavour of the VNF instance * Change of the external connectivity of the VNF instance * Termination of the VNF instance * Modification of VNF instance information and/or VNF configurable properties through the "PATCH" method on the "Individual VNF instance" resource. If this is the initial notification about the start of a VNF LCM operation occurrence, it is assumed that the notification is sent by the VNFM before any action (including sending the grant request) is taken as part of the LCM operation. Due to possible race conditions, the "start" notification, the grant request and the LCM operation acknowledgment can arrive in any order at the NFVO, and the NFVO shall be able to handle such a situation. If this is a notification about a final or intermediate result state of a VNF LCM operation occurrence, the notification shall be sent after all related actions of the LCM operation that led to this state have been executed. The new state shall be set in the VnfLcmOpOcc resource before the notification about the state change is sent. type: object required: - id - notificationType - subscriptionId - timeStamp - notificationStatus - operationState - vnfInstanceId - operation - isAutomaticInvocation - vnfLcmOpOccId - _links properties: id: description: > Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the "id" attribute of all these notifications shall have the same value. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "VnfLcmOperationOccurrenceNotification" for this notification type. type: string enum: - VnfLcmOperationOccurrenceNotification subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" timeStamp: description: > Date-time of the generation of the notification. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" notificationStatus: description: > Indicates whether this notification reports about the start of a lifecycle operation or the result of a lifecycle operation. Permitted values: * START: Informs about the start of the VNF LCM operation occurrence. * RESULT: Informs about the final or intermediate result of the VNF LCM operation occurrence. type: string enum: - START - RESULT operationState: description: > The state of the VNF LCM operation occurrence. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" vnfInstanceId: description: > The identifier of the VNF instance affected. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" operation: description: > The lifecycle management operation. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" isAutomaticInvocation: description: > Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise. type: boolean vnfLcmOpOccId: description: > The identifier of the VNF lifecycle management operation occurrence associated to the notification. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" affectedVnfcs: description: > Information about VNFC instances that were affected during the lifecycle operation. Shall be present if the "notificationStatus" is set to "RESULT" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AffectedVnfc" affectedVirtualLinks: description: > Information about VL instances that were affected during the lifecycle operation. Shall be present if the "notificationStatus" is set to "RESULT" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence. type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected during the lifecycle operation. Shall be present if the "notificationStatus" is set to "RESULT" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence. type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage" changedInfo: description: > Information about the changed VNF instance information, including changed VNF configurable properties. Shall be present if the "notificationStatus" is set to "RESULT" and the operation has performed any changes to VNF instance information, including VNF configurable properties. Shall be absent otherwise. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" changedExtConnectivity: description: > Information about changed external connectivity, if this notification represents the result of a lifecycle operation occurrence. Shall be present if the "notificationStatus" is set to "RESULT" and the "operation" is set to "CHANGE_EXT_CONN". Shall be absent otherwise. type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" error: description: > Details of the latest error, if one has occurred during executing the LCM operation. Shall be present if the "operationState" attribute is "FAILED_TEMP" or "FAILED", and shall be absent otherwise. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" _links: description: > Links to resources related to this notification. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks"