# Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: CreateVnfRequest: type: object required: - vnfdId properties: vnfdId: description: > Identifier that identifies the VNFD which defines the VNF instance to be created. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" vnfInstanceName: description: > Human-readable name of the VNF instance to be created. type: string vnfInstanceDescription: description: > Human-readable description of the VNF instance to be created. type: string metadata: description: > If present, this attribute provides additional initial values, overriding those obtained from the VNFD, for the "metadata" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling metadata during the operation are defined in clause 5.4.2.3.1. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ScaleVnfRequest: type: object required: - type - aspectId properties: type: description: > Indicates the type of the scale operation requested. Permitted values: * SCALE_OUT: adding additional VNFC instances to the VNF to increase capacity * SCALE_IN: removing VNFC instances from the VNF in order to release unused capacity. type: string enum: - SCALE_OUT - SCALE_IN aspectId: description: > Identifier of the scaling aspect. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" numberOfSteps: description: > Number of scaling steps to be executed as part of this Scale VNF operation. It shall be a positive number and the default value shall be 1. type: integer default: 1 additionalParams: description: > Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled, as declared in the VNFD as part of "ScaleVnfOpConfig". $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ScaleVnfToLevelRequest: description: > This type represents request parameters for the "Scale VNF to Level" operation. It shall comply with the provisions defined in table 5.5.2.6-1. See clause B.2 for an explanation of VNF scaling. NOTE: Either the instantiationLevelId attribute or the scaleInfo attribute shall be included. type: object anyOf: - oneOf: - required: - instantiationLevelId - required: - scaleInfo properties: instantiationLevelId: description: > Identifier of the target instantiation level of the current deployment flavour to which the VNF is requested to be scaled. See note. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" scaleInfo: description: > For each scaling aspect of the current deployment flavour, indicates the target scale level to which the VNF is to be scaled. See note. type: array items: $ref: "#/definitions/ScaleInfo" additionalParams: description: > Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled, as declared in the VNFD as part of "ScaleVnfToLevelOpConfig". $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfInfoModificationRequest: description: > This type represents attribute modifications for an "Individual VNF instance" resource, i.e. modifications to a resource representation based on the "VnfInstance" data type. The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2 are included in the "VnfInfoModificationRequest" data type. The "VnfInfoModificationRequest" data type shall comply with the provisions defined in table 5.5.2.12-1. type: object properties: vnfInstanceName: description: > New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute. type: string vnfInstanceDescription: description: > New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute. type: string vnfdId: description: > New value of the "vnfdId" attribute in "VnfInstance". The value "null" is not permitted. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" vnfConfigurableProperties: description: > Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396 [15]). $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > Modifications of the "metadattametadata" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396 [15]). $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > Modifications of the "extensions" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396 [15]). $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfcInfoModifications: description: > Modifications of certain entries in the "vnfcInfo" attribute array in the "instantiatedVnfInfo" attribute of "VnfInstance"." to be used as "newList" as defined below this table. type: array items: $ref: "#/definitions/VnfcInfoModifications" vnfcInfoModificationsDeleteIds: description: > List of identifiers entries to be deleted from the 'vnfcInfoModifications" attribute array to be used as "deleteIdList" as defined below this table. The following provisions shall apply when modifying an attribute that is an array of objects of type "VnfcInfo" by supplying an array of objects of type "VnfcInfoModifications". Assumptions: 1) "oldList" is the "VnfcInfo" array to be modified and "newList" is the "VnfcInfoModifications" array that contains the changes. 2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList". 3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that has the same content of the "id" attribute as the "newEntry"; a "newEntry" has no corresponding entry if no such "oldEntry" exists. 4) In any array of "VnfcInfo" resp. "VnfcInfoModifications" structures, the content of "id" is unique (i.e. there are no two entries with the same content of "id"). Provisions: 1) For each "newEntry" in "newList" that has no corresponding entry in "oldList", the "oldList" array shall be modified by adding that "newEntry". 2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList", the value of "oldEntry" shall be updated with the content of "newEntry" as specified for the data type of "newEntry (refer to clause 5.5.3.24 for the data type "VnfcInfoModifications"). type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" CancelMode: description: > This type represents a parameter to select the mode of cancelling an ongoing VNF LCM operation occurrence. type: object required: - cancelMode properties: cancelMode: description: > Cancellation mode to apply. $ref: "#/definitions/CancelModeType" LccnSubscriptionRequest: description: > This type represents a subscription request related to notifications about VNF lifecycle changes. type: object required: - callbackUri properties: filter: description: > Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. $ref: "#/definitions/LifecycleChangeNotificationsFilter" callbackUri: description: > The URI of the endpoint to send the notification to. $ref: "SOL002SOL003_def.yaml#/definitions/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. 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: > This type represents a subscription related to notifications about VNF lifecycle changes. type: object required: - id - callbackUri - verbosity - _links properties: id: description: > Identifier of this subscription resource. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" filter: description: > Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. $ref: "#/definitions/LifecycleChangeNotificationsFilter" callbackUri: 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. type: object required: - self properties: self: description: > URI of this resource. $ref: "SOL002SOL003_def.yaml#/definitions/Link" ExtVirtualLinkInfo: description: > This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1. NOTE: This attribute reflects the current configuration information that has resulted from merging into this attribute the "VnfExtCpData" information which was passed as part of the "ExtVirtualLinkData" structure in the input of the most recent VNF LCM operation such as "InstantiateVnfRequest", "ChangeExtVnfConnectivityRequest", "ChangeVnfFlavourRequest" or "ChangeCurrentVnfPkgRequest", or in the Grant response. If applying such change results in an empty list of "currentVnfExtCpData" structure instances, the affected instance of "ExtVirtualLinkInfo" shall be removed from its parent data structure. type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" resourceHandle: description: > Reference to the resource realizing this VL. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" extLinkPorts: description: > Link ports of this VL. type: array items: $ref: "#/definitions/ExtLinkPortInfo" currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/VnfExtCpData" ScaleInfo: required: - aspectId - scaleLevel type: object properties: aspectId: 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 maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer VnfLinkPortInfo: description: > This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. type: object required: - id - resourceHandle properties: id: description: > Identifier of this link port as provided by the entity that has created the link port. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" resourceHandle: description: > Reference to the virtualised resource realizing this link port. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" cpInstanceId: description: > When the link port is used for external connectivity by the VNF, this attribute represents the identifier of the external CP associated with this link port. When the link port is used for internal connectivity in the VNF, this attribute represents the identifier of the VNFC CP to be connected to this link port. Shall be present when the link port is used for external connectivity by the VNF. May be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance. The value refers to an "extCpInfo" item in the VnfInstance or a "vnfcCpInfo" item of a "vnfcResourceInfo" item in the VnfInstance. See note 1. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present and shall be absent otherwise. Permitted values: - VNFC_CP: The link port is connected to a VNFC CP. - EXT_CP: The link port is associated to an external CP. See note 1. type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > VIP CP instance of the VNF connected to this link port. May be present. See notes 1, and 2. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" trunkResourceId: description: > Identifier of the trunk resource in the VIM. Shall be present if the present link port corresponds to the parent port that the trunk resource is associated with. See note 3. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVim" ExtLinkPortInfo: description: > 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 2: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. type: object required: - id - resourceHandle properties: id: description: > Identifier of this link port as provided by the entity that has created the link port. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" resourceHandle: description: > Reference to the virtualised resource realizing this link port. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" cpInstanceId: description: > Identifier of the external CP of the VNF connected to this link port. There shall be at most one link port associated with any external connection point instance. The value refers to an "extCpInfo" item in the VnfInstance. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" secondaryCpInstanceId: description: > Additional external CP of the VNF connected to this link port. If present, this attribute shall refer to a "secondary" ExtCpInfo item in the VNF instance that exposes a virtual IP CP instance which shares this linkport with the external CP instance referenced by the "cpInstanceId" attribute. See note 1. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" trunkResourceId: description: > Identifier of the trunk resource in the VIM. Shall be present if the present link port corresponds to the parent port that the trunk resource is associated with. See note 2. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVim" CpProtocolInfo: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1. NOTE: This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > IP addresses over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to " IP_OVER_ETHERNET", and shall be absent otherwise. $ref: "#/definitions/IpOverEthernetAddressInfo" IpOverEthernetAddressInfo: description: > This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1. NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present. NOTE 2: Exactly one of "addresses" or "addressRange" shall be present. NOTE 3: If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. NOTE 4: 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: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange properties: macAddress: description: > MAC address, if assigned. See note 1. $ref: "SOL002SOL003_def.yaml#/definitions/MacAddress" segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). See note 2. type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress" isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g. in case of egress connections. See note 2. type: object required: - minAddress - maxAddress properties: minAddress: description: > Lowest IP address belonging to the range. $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress" maxAddress: description: > Highest IP address belonging to the range $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress" subnetId: description: > Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses are bound to that subnet. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVim" MonitoringParameter: type: object required: - id - performanceMetric properties: id: 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 VNFD. type: string performanceMetric: description: > Performance metric that is monitored. This attribute shall contain the related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string LifecycleChangeNotificationsFilter: description: > This type represents a subscription filter related to notifications about VNF lifecycle changes. It shall comply with the provisions defined in table 5.5.3.12-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute). NOTE: The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems. type: object properties: vnfInstanceSubscriptionFilter: description: > Filter criteria to select VNF instances about which to notify. $ref: "SOL002SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter" notificationTypes: description: > Match particular notification types. Permitted values: - VnfLcmOperationOccurrenceNotification - VnfIdentifierCreationNotification - VnfIdentifierDeletionNotification See note. type: array items: type: string enum: - VnfLcmOperationOccurrenceNotification - VnfIdentifierCreationNotification - VnfIdentifierDeletionNotification operationTypes: description: > Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/LcmOperationType" operationStates: description: > Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: $ref: "#/definitions/LcmOperationStateType" LccnLinks: description: > This type represents the links to resources that a notification can contain. type: object required: - vnfInstance - subscription properties: vnfInstance: description: > Link to the resource representing the VNF instance to which the notified change applies. $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" subscription: description: > Link to the related subscription. $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" vnfLcmOpOcc: description: > Link to the VNF lifecycle management operation occurrence that this notification is related to. Shall be present if there is a related lifecycle operation occurrence. $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" VnfExtCpInfo: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.17 1. NOTE 1: The attributes "associatedVnfcCpId", "associatedVipCpId" and "associatedVnfVirtualLinkId" are mutually exclusive. Exactly one shall be present. NOTE 2: An external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 5.5.3.2. type: object required: - id - cpdId - cpConfigId - cpProtocolInfo oneOf: - required: - associatedVnfcCpId - required: - associatedVipCpId - required: - associatedVnfVirtualLinkId properties: id: description: > Identifier of the external CP instance and the related information instance. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" cpdId: description: > Identifier of the external CPD, VnfExtCpd, in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" cpConfigId: description: > Identifier that references the applied "VnfExtCpConfig" entry in the "cpConfig" map of the "currentVnfExtCpData" in the "ExtVirtualLinkInfo" structure. $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" cpProtocolInfo: description: > Network protocol information for this CP. type: array items: $ref: "#/definitions/CpProtocolInfo" extLinkPortId: description: > Identifier of the "ExtLinkPortInfo" structure inside the "ExtVirtualLinkInfo" structure. Shall be present if the CP is associated to a link port. See note 2. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" metadata: description: > Metadata about this external CP. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" associatedVnfcCpId: description: > Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure that represents the VNFC CP which is exposed by this external CP instance, either directly or via a floating IP address. Shall be present in case this CP instance maps to a VNFC CP. See note 1. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" associatedVipCpId: description: > Identifier of the VIP CP instance that is exposed as this VnfExtCp instance, either directly or via a floating IP address, and the related "VipCpInfo" structure in "VnfInstance". Shall be present if the cpdId of this VnfExtCp has a vipCpd attribute. See note 1. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" associatedVnfVirtualLinkId: description: > Identifier of the "VnfVirtualLinkResourceInfo" structure that represents the internal VL or of the "ExtManagedVirtualLinkInfo" structure that represents the externally-managed internal VL which is exposed by this external CP instance. Shall be present in case this CP instance maps to an internal VL (including externally-managed internal VL). See note 1. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" VnfOperationalStateType: description: > STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down. type: string enum: - STARTED - STOPPED LcmOperationStateType: description: > STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible. type: string enum: - STARTING - PROCESSING - COMPLETED - FAILED_TEMP - FAILED - ROLLING_BACK - ROLLED_BACK CancelModeType: description: > Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state. type: string enum: - GRACEFUL - FORCEFUL ######################################################################################################################## VnfIdentifierCreationNotification: description: > This type represents a VNF identifier creation notification, which informs the receiver of the creation of a new "Individual VNF instance" resource and the associated VNF instance identifier. This notification shall be triggered by the VNFM when it has created an "Individual VNF instance" resource and the associated VNF instance identifier. type: object required: - id - notificationType - subscriptionId - timeStamp - vnfInstanceId - _links properties: id: description: > Identifier of the VNF instance. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "VnfIdentifierCreationNotification" for this notification type. type: string enum: - VnfIdentifierCreationNotification subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" timeStamp: description: > Date-time of the generation of the notification. $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" vnfInstanceId: description: > The created VNF instance identifier. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" _links: description: > Links to resources related to this notification. $ref: "#/definitions/LccnLinks" VnfIdentifierDeletionNotification: description: > This type represents a VNF identifier deletion notification, which informs the receiver of the deletion of a new "Individual VNF instance" resource and the associated VNF instance identifier. This notification shall be triggered by the VNFM when it has deleted an "Individual VNF instance" resource and the associated VNF instance identifier. type: object required: - id - notificationType - subscriptionId - timeStamp - vnfInstanceId - _links properties: id: description: > Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the "id" attribute of all these notifications shall have the same value. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "VnfIdentifierDeletionNotification" for this notification type. type: string enum: - VnfIdentifierDeletionNotification subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" timeStamp: description: > Date-time of the generation of the notification. $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" vnfInstanceId: description: > The deleted VNF instance identifier. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" _links: description: > Links to resources related to this notification. $ref: "#/definitions/LccnLinks" VnfcInfoModifications: description: > This type represents modifications of an entry in an array of "VnfcInfo" objects. * NOTE: The attribute "id" in this data type represents the same identifier as the attribute "vnfcInstanceId" in other related data types in the present document. For reasons of backward compatibility, this misalignment is not corrected. type: object required: - id - vnfcConfigurableProperties properties: id: description: > Identifier of the VNFC instance of which the information is to be modified. The identifier references the "id" attribute in a "VnfcInfo" structure. See note. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vnfcConfigurableProperties: description: > Changes of the configurable properties of the VNFC instance. When this structure is part of a request, the modifications signalled in this attribute shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396). In addition, the provisions in clause 5.7 shall apply. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfcInfo: description: > This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE: This allows to represent the error condition that a VNFC instance has lost its resources. type: object required: - id - vduId - vnfcState properties: id: description: > Identifier of the VNFC instance. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vduId: description: > Reference to the applicable VDU information element in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vnfcResourceInfoId: description: > Identifier of the VnfcResourceInfo instance representing the virtualised resources used by this VNFC instance. See note. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vnfcState: description: > Identifier of the VnfcResourceInfo instance representing the virtualised resources used by this VNFC instance. State of the VNFC instance. Permitted values: • STARTED: The VNFC instance is up and running. • STOPPED: The VNFC instance has been shut down type: string enum: - STARTED - STOPPED $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vnfcConfigurableProperties: description: > Current values of the configurable properties of the VNFC instance. Configurable properties referred in this attribute are declared in the VNFD. This attribute can be modified with the PATCH method. In addition, the provisions in clause 5.7 shall apply. $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. The "ModificationsTriggeredByVnfPkgChange" data type shall comply with the provisions defined in table 5.5.3.21-1. NOTE 1: This attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at its completion. NOTE 2: If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related operation and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the "vnfdId" attribute. type: object properties: vnfConfigurableProperties: description: > This attribute signals the modifications of the "vnfConfigurableProperties" attribute in "VnfInstance" performed by the operation and shall be present if that attribute was modified during the operation. See note 1. In addition, the provisions in clause 5.7 shall apply. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > This attribute signals the modifications of the "metadata" attribute in "VnfInstance" performed by the operation and shall be present if that attribute was modified during the operation. See note 1. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > This attribute signals the modifications of the "extensions" attribute in "VnfInstance" performed by the operation and shall be present if that attribute was modified during the operation. See note 1. In addition, the provisions in clause 5.7 shall apply. $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". See note 2. type: string vnfProductName: description: > If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". See note 2. type: string vnfSoftwareVersion: description: > If present, this attribute signals the new value of the "vnfSoftwareVersion" attribute in "VnfInstance". See note 2. $ref: "SOL002SOL003_def.yaml#/definitions/Version" vnfdVersion: description: > If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance". See note 2. $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 AffectedVipCp: description: > This type provides information about added, deleted and modified virtual IP CP instances. type: object required: - cpInstanceId - cpdId - changeType properties: cpInstanceId: description: > Identifier of the virtual IP CP instance and the related "VipCpInfo" structure in "VnfInstance". $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" cpdId: description: > Identifier of the VipCpd in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" vnfdId: description: > Reference to the VNFD. Shall be present in case of a "change current VNF Package" to identify whether the affected virtual CP instance is associated to a VipCpd which is referred from the source or destination VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" changeType: description: > Signals the type of change. Permitted values: - ADDED - REMOVED - MODIFIED type: string enum: - ADDED - REMOVED - MODIFIED 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. NOTE: It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. type: object required: - cpInstanceId - cpdId properties: cpInstanceId: description: > Identifier of this VIP CP instance and of this VipCpInfo information element. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" cpdId: description: > Identifier of the VIP Connection Point Descriptor, VipCpd, in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" vnfExtCpId: description: > When the VIP CP is exposed as external CP of the VNF, the identifier of this external VNF CP instance. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" cpProtocolInfo: description: > Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2. type: array items: $ref: "#/definitions/CpProtocolInfo" associatedVnfcCpIds: description: > Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vnfLinkPortId: description: > Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structure. Shall be present if the CP is associated to a link port on an internal VL (including externally-managed internal VL). $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" metadata: description: > Metadata about this VIP CP. type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"