# Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: NsLcmOperationOccurrenceNotification: type: object required: - id - nsInstanceId - nsLcmOpOccId - operation - notificationType - subscriptionId - timestamp - notificationStatus - operationState - isAutomaticInvocation - _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. NOTE: 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 NS LCM operation occurrence and by any of the error handling procedures for that operation occurrence. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsInstanceId: description: > The identifier of the NS instance affected. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsLcmOpOccId: description: > The identifier of the NS lifecycle operation occurrence associated to the notification. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" operation: description: > The lifecycle operation. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpType" notificationType: description: > Discriminator for the different notification types. Shall be set to "NsLcmOperationOccurrenceNotification" for this notification type. type: string subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" timestamp: description: > Date-time of the generation of the notification. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" notificationStatus: description: > Indicates whether this notification reports about the start of a NS lifecycle operation or the result of a NS lifecycle operation. Permitted values: - START: Informs about the start of the NS LCM operation occurrence. - RESULT: Informs about the final or intermediate result of the NS LCM operation occurrence. type: string enum: - START - RESULT operationState: description: > The state of the NS lifecycle operation occurrence. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOperationStateType" isAutomaticInvocation: description: > Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise. $ref: "../../definitions/SOL005_def.yaml#/definitions/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 "nsLcmOpOcc" child attribute of the "_links" attribute. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LcmOpOccNotificationVerbosityType" affectedVnf: description: > Information about the VNF instances that were affected during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf" affectedPnf: description: > Information about the PNF instances that were affected during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf" affectedVl: description: > Information about the VL instances that were affected during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" affectedVnffg: description: > Information about the VNFFG instances that were affected during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg" affectedNs: description: > Information about the SAP instances that were affected during the lifecycle operation.See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedNs" affectedSap: description: > Information about the SAP instances that were affected during the lifecycle operation. See note. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap" error: description: > Details of the latest error, if one has occurred during executing the LCM operation (see clause 6.3 of ETSI GS NFV SOL 013). Shall be present if operationState is "FAILED_TEMP" or "FAILED", and shall be absent otherwise. $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" _links: description: > Links to resources related to this notification. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" NsIdentifierCreationNotification: type: object required: - id - notificationType - subscriptionId - timestamp - nsInstanceId - _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/SOL005_def.yaml#/definitions/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "NsIdentifierDeletionNotification" for this notification type. type: string subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" timestamp: description: > Date-time of the generation of the notification. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" nsInstanceId: description: > The created NS instance identifier. Shall be set to the same "id" attribute value of the associated "NsInstance" representation of the "Individual NS instance" resource. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" _links: description: > Links to resources related to this notification. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" NsIdentifierDeletionNotification: type: object required: - id - notificationType - subscriptionId - timestamp - nsInstanceId - _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/SOL005_def.yaml#/definitions/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "NsIdentifierDeletionNotification" for this notification type. type: string subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" timestamp: description: > Date-time of the generation of the notification. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" nsInstanceId: description: > The deleted NS instance identifier. Shall be set to the same "id" attribute value of the associated "NsInstance" representation of the "Individual NS instance" resource. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" _links: description: > Links to resources related to this notification. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" NsLcmCapacityShortageNotification: description: > This type represents an NS LCM capacity shortage notification, which informs the receiver about resource shortage conditions during the execution of NS LCM operations. The notifications are triggered by the NFVO when a capacity shortage condition occurs during the execution of an NS LCM operation, which fails due to the resource shortage, or which succeeds despite the resource shortage because the NFVO has reduced the resource consumption of other NSs by requesting these NSs to be scaled in or terminated. The notification shall comply with the provisions defined in Table 6.5.2.19-1. The support of the notification is mandatory. This notification shall be triggered by the NFVO when there is a capacity shortage condition during the execution of an NS LCM operation which will cause the LCM operation to be not successfully completed, or which will trigger the automatic executing of an LCM operation to reduce the resource consumption of one or more NS instances to resolve a resource shortage situation. The shortage conditions include: • Necessary resources could not be allocated during an LCM operation because of resource shortage which causes the LCM operation to fail. • An LCM operation on an NS instance with higher priority pre-empted an LCM operation on NS instance with lower priority because of resource shortage. • An LCM operation on an NS instance with higher priority pre-empted an existing NS instance. Resources were de-allocated from the lower priority NS instance to allow the LCM operation on a higher priority NS instance. • The resource capacity shortage situation has ended, and it can be expected that an LCM operation that had failed could succeed now if retried. NOTE: ETSI GS NFV-IFA 013 [x] defines further shortage situations. These are not supported by the present version of the present document. This notification shall also be triggered by the NFVO when a shortage condition has ended that has previously led to NS LCM operation occurrences failing. The notification shall be sent to all API consumers (OSS/BSS) that have subscribed to notifications related to capacity shortage and meeting the filter conditions of all pre-empted (low priority) and all pre-empting (high priority NS instance(s)). See ETSI GS NFV-IFA 010 [2], Annex D.2 for the use cases. The notification about the result of an unsuccessful LCM operation occurrence shall include appropriate information about the resource shortage when the cause for failure is a resource shortage. The notification where a pre-emption occurred due to e.g. a higher priority LCM operation during resource shortage shall include appropriate information about the pre-emption. NOTE: Not all operation occurrences that are in "FAILED_TEMP" have been pre-empted by a resource shortage. When the operation occurrences were pre-empted, the NS instances affected by the resource shortage end (“status“ = "LCM_SHORTAGE_END") which are pointed by "affectedNsId" in the list of "affectedOpOccs" structure can have the operations retried again (which needs a request by the OSS/BSS). NOTE 1: The present version of the present document supports only the resource shortage status enumeration values “LCM_RESOURCES_NOT_AVAILABLE” and “LCM_SHORTAGE_END” which represent a subset of the trigger conditions defined in clause 8.3.5.2 of ETSI GS NFV-IFA 013 [x]. type: object required: - id - notificationType - subscriptionId - timestamp - status 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/SOL005_def.yaml#/definitions/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "NsLcmCapacityShortageNotification" for this notification type. type: string enum: - NsLcmCapacityShortageNotification subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" timestamp: description: > Date-time of the generation of the notification. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" preemptingNsLcmOpOccId: description: > Identifier of the LCM operation occurrence that has triggered a pre-emption. Shall be absent when the instantiation of a lower priority NS instance has failed because all resources are allocated to higher priority NS instance(s). In this case the current instantiate operation is represented in “affectedCondition” with the value “PRE_EMPTED“. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" highPrioNsInstanceId: description: > Identifier of the higher priority NS instance affected by the lifecycle operation represented by the "preemptingNsLcmOpOccId" attribute. Shall be present if "preemptingNsLcmOpOccId" is present and shall be absent otherwise. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" status: description: > Indicates the situation of capacity shortage. Permitted values: - LCM_RESOURCES_NOT_AVAILABLE: the lifecycle operation identified by the nsLcmOpOccId attribute could not be completed because necessary resources were not available. - LCM_SHORTAGE_END: the shortage situation which has caused the lifecycle management operation identified by the nsLcmOpOccId attribute to fail has ended. type: string enum: - LCM_RESOURCES_NOT_AVAILABLE - LCM_SHORTAGE_END shortageType: description: > Indicates whether this notification reports about a resource shortage or NFV-MANO capacity or performance shortage. Permitted values: - RESOURCE_SHORTAGE: the notification reports a resource shortage. Shall be present when a resources shortage situation has been identified starts and the notification is sent with “status“ = “LCM_RESOURCES_NOT_AVAILABLE“ and shall be absent otherwise. type: string enum: - RESOURCE_SHORTAGE affectedOpOccs: description: > List of NS LCM operation occurrence(s) that were affected by the resource shortage. type: array items: type: object required: - affectedNsId - affectedOpOccId - affectedCondition - _links properties: affectedNsId: description: > Identifier of the NS instance related to the operation occurrence that was affected by the shortage. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" affectedOpOccId: description: > Identifier of the NS LCM operation occurrence that was affected by the shortage. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" affectedCondition: description: > This flag indicates in what condition (pre-empted or triggered) the operation occurrence(s) were affected by the resource shortage. Permitted values: - PRE_EMPTED: the operation was pre-empted and the "operationState" = "FAILED_TEMP” of the NsLcmOpOcc structure identified by "affectedOpOccId" attribute. - TRIGGERED: the operation was triggered by NFVO and the “operationState” = "FAILED_TEMP” of the NsLcmOpOcc structure identified by "affectedOpOccId" attribute. In case the notification indicates the end of a shortage condition (“status“ = "LCM_SHORTAGE_END"), only entries with “affectedCondition“ = "PRE_EMPTED" shall be included. See note. type: string enum: - PRE_EMPTED - TRIGGERED _links: description: > Links related to NS resources affected by the shortage of this operation occurrence. type: object required: - affectedLcmOpOcc - affectedNs properties: affectedLcmOpOcc: description: > Link related to the NS lifecycle management operation occurrence. $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" affectedNs: description: > Link related to the NS instance that was affected by the shortage. $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" capacityInformation: description: > References to NFVI capacity information related to the shortage. type: array items: type: object required: - vimId - _link properties: vimId: description: > Identifier of the VIM where the capacity shortage occurs. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" _link: description: > Link to the related "Individual VIM’s capacity information" resource. $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" _links: description: > Links to resources related to this notification. type: object required: - subscription properties: preemptingNsLcmOpOcc: description: > Link to the resource representing the pre-empting LCM operation occurrence identified by preemptingNsLcmOpOccId. Shall be present if preemptingNsLcmOpOccId is present and shall be absent otherwise. $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" highPrioNsInstance: description: > Link to the resource representing the high-priority NS instance identified by highPrioNsInstanceId. Shall be present if highPrioNsInstanceId is present and shall be absent otherwise. $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" subscription: description: > Link to the subscription that triggered this notification. $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" NsChangeNotification: description: > This type represents an NS change notification, which informs the receiver of changes on the NS instance caused by the LCM operation occurrence, which directly or indirectly impacts its NS component and is triggered without any context of this NS instance. This notification is different from the NsLcmOperationOccurenceNotification (see clause 6.5.2.5), which is triggered by the NS LCM operation occurrence on the NS instance itself. It shall comply with the provisions defined in Table 6.5.2.8-1. The support of the notification is mandatory. The trigger conditions include: 1) NS LCM operation occurrence which directly or indirectly impacts the NS component (start and result). If this is a notification about the start of an LCM operation occurrence impacting the NS component, the notification shall be sent as soon as the impact on the NS component is identified. If this is a notification about a final result state of an NS LCM operation occurrence impacting the NS component, the notification shall be sent after the impact on the NS component has been executed. type: object required: - id - nsInstanceId - nsComponentType - nsComponentId - lcmOpOccIdImpactingNsComponent - lcmOpNameImpactingNsComponent - lcmOpOccStatusImpactingNsCompon - notificationType - subscriptionId - timestamp - _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/SOL005_def.yaml#/definitions/Identifier" nsInstanceId: description: > The identifier of the NS instance affected. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsComponentType: description: > Indicates the impacted NS component type. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsComponentType" nsComponentId: description: > The identifier of the impacted NS component. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" lcmOpOccIdImpactingNsComponent: description: > The identifier of the lifecycle operation occurrence which is associated to the notification and impacts the NS component directly or indirectly. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" lcmOpNameImpactingNsComponent: description: > Indicates the name of the lifecycle operation occurrence which is associated to the notification and impacts the NS component directly or indirectly. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LcmOpNameForChangeNotificationType" lcmOpOccStatusImpactingNsComponent: description: > Indicates this status of the lifecycle operation occurrence which is associated to the notification and impacts the NS component directly or indirectly. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LcmOpOccStatusForChangeNotificationType" notificationType: description: > Discriminator for the different notification types. Shall be set to "NsChangeNotification" for this notification type. type: string subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" timestamp: description: > Date-time of the generation of the notification. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" error: description: > Details of the latest error, if one has occurred during executing the LCM operation (see clause 6.3 of ETSI GS NFV-SOL 013 [16]). Shall be present if lcmOpOccStatusImpactingNsCompon ent is "PARTIALLY_COMPLETED" or "FAILED", and shall be absent otherwise. $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" _links: description: > Links to resources related to this notification. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks"