SOL002VNFLifecycleManagement_def.yaml 92.6 KB
Newer Older
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfVirtualLinkDescId:
        description: >
          Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
        $ref: "../../../definitions/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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      networkResource:
        description: >
          Reference to the VirtualNetwork resource providing this VL.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      vnfLinkPorts:
        description: >
          Link ports of this VL.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLinkPortInfo"

  VnfcResourceInfo:
    description: >
      This type represents the information on virtualised compute and storage
      resources used by a VNFC in a VNF instance.
      * NOTE 1:	ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.
      * NOTE 2:	A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that
                exposes an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly
                to an external VL.
      * NOTE 3:	The information can be omitted because it is already available as part of the external CP information.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
    type: object
    required:
      - id
      - vduId
      - computeResource
    properties:
      id:
        description: >
          Identifier of this VnfcResourceInfo instance.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vduId:
        description: >
          Reference to the applicable VDU in the VNFD. See note 1.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        $ref: "../../../definitions/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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      computeResource:
        description: >
          Reference to the VirtualCompute resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      storageResourceIds:
        description: >
          References to the VirtualStorage resources. The value refers to a
          VirtualStorageResourceInfo item in the VnfInstance.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      reservationId:
        description: >
          The reservation identifier applicable to the resource. It shall be
          present when an applicable reservation exists.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfcCpInfo:
        description: >
          All the CPs of the VNFC instance.
        type: array
        items:
          type: object
          required:
            - id
            - cpdId
          properties:
            id:
              description: >
                Identifier of this VNFC CP instance and the associated array
                entry.
              $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
            cpdId:
              description: >
                Identifier of the VDU CPD, cpdId, in the VNFD. See note 1.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
              $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
            vnfExtCpId:
              description: >
                Identifier of the related external CP. Shall be present when the VNFC CP is exposed as an external CP of
                the VNF instance or connected to an external CP of the VNF instance (see note 2) and shall be absent otherwise.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
              $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
            cpProtocolInfo:
              description: >
                Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP.
                The information can be omitted because it is already available as part of the external CP information.
                See note 3.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
              type: array
              items:
                $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CpProtocolInfo"
            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)
                of the VNF instance and shall be absent otherwise.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
              $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
            parentCpId:
              description: >
                Identifier of another VNFC CP instance that corresponds to the parent port
                of a trunk that the present VNFC CP instance participates in.
                Shall be provided if the present CP instance participates in a trunk as subport.
              $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            metadata:
              description: >
                Metadata about this CP.
              $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      metadata:
        description: >
          Metadata about this resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  VnfVirtualLinkResourceInfo:
    description: >
      This type represents the information that allows addressing a virtualised
      resource that is used by an internal VL instance in a VNF instance.
    type: object
    required:
      - id
      - vnfVirtualLinkDescId
      - networkResource
      - vnfLinkPorts
Francesca Moscatelli's avatar
Francesca Moscatelli committed
    properties:
      id:
        description: >
          Identifier of this VnfVirtualLinkResourceInfo instance.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfVirtualLinkDescId:
        description: >
          Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
        $ref: "../../../definitions/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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      networkResource:
        description: >
          Reference to the VirtualNetwork resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      reservationId:
        description: >
          The reservation identifier applicable to the resource. It shall be
          present when an applicable reservation exists.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfLinkPorts:
        description: >
          Links ports of this VL.
          Shall be present when the linkPort is used for external connectivity
          by the VNF (refer to VnfLinkPortInfo).
          May be present otherwise.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLinkPortInfo"
      metadata:
        description: >
          Metadata about this resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  VirtualStorageResourceInfo:
    description: >
      This type represents the information that allows addressing a virtualised
      resource that is used by a VNF instance.
    type: object
    required:
      - id
      - virtualStorageDescId
      - storageResource
    properties:
      id:
        description: >
          Identifier of this VirtualStorageResourceInfo instance.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      virtualStorageDescId:
        description: >
          Identifier of the VirtualStorageDesc in the VNFD.
        $ref: "../../../definitions/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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      storageResource:
        description: >
          Reference to the VirtualStorage resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      reservationId:
        description: >
          The reservation identifier applicable to the resource. It shall be
          present when an applicable reservation exists.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      metadata:
        description: >
          Metadata about this resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  AffectedVnfc:
    description: >
      This type provides information about added, deleted, modified and
      temporary VNFCs.
    type: object
    required:
      - id
      - vduId
      - changeType
      - computeResource
    properties:
      id:
        description: >
          Identifier of the Vnfc instance, identifying the applicable
          "vnfcResourceInfo" entry in the "VnfInstance" data type.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vduId:
        description: >
          Identifier of the related VDU in the VNFD.
        $ref: "../../../definitions/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 VNFC instance is
          associated to a VDU which is referred from the source or destination VNFD.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      changeType:
        description: >
          Signals the type of change. Permitted values:
          * ADDED
          * REMOVED
          * MODIFIED
          * TEMPORARY
          For a temporary resource, an AffectedVnfc structure exists as long
          as the temporary resource exists.
        type: string
        enum:
          - ADDED
          - REMOVED
          - MODIFIED
          - TEMPORARY
      computeResource:
        description: >
          Reference to the VirtualCompute resource. Detailed information is
          (for new and modified resources) or has been (for removed
          resources) available from the VIM.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      metadata:
        description: >
          Metadata about this resource.
          The content of this attribute shall be a copy of the content of the
          "metadata" attribute of the VnfcResourceInfo structure.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      affectedVnfcCpIds:
        description: >
          Identifiers of CP(s) of the VNFC instance that were affected by the
          change.
          Shall be present for those affected CPs of the VNFC instance that
          are associated to an external CP of the VNF instance.
          May be present for further affected CPs of the VNFC instance.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      addedStorageResourceIds:
        description: >
          References to VirtualStorage resources that have been added. Each
          value refers to a VirtualStorageResourceInfo item in the
          VnfInstance that was added to the VNFC. It shall be provided if at
          least one storage resource was added to the VNFC.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      removedStorageResourceIds:
        description: >
          References to VirtualStorage resources that have been removed.
          The value contains the identifier of a VirtualStorageResourceInfo
          item that has been removed from the VNFC, and might no longer exist
          in the VnfInstance.
          It shall be provided if at least one storage resource was removed
          from the VNFC.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"

  AffectedVirtualLink:
    description: >
      This type provides information about added, deleted, modified and
      temporary VLs, and added or removed VNF link ports.
Francesca Moscatelli's avatar
Francesca Moscatelli committed

      NOTE:	When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, 
            the "networkResource" attribute refers to the affected virtual link instance, not the link port 
            instance. The resource handles of the affected VNF link ports can be found by dereferencing the 
            identifiers in the "vnfLinkPortIds" attribute.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
    type: object
    required:
      - id
      - vnfVirtualLinkDescId
      - changeType
      - networkResource
    properties:
      id:
        description: >
          Identifier of the virtual link instance, identifying the applicable
          "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" entry in the "VnfInstance" data type.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfVirtualLinkDescId:
        description: >
          Identifier of the related VLD in the VNFD.
        $ref: "../../../definitions/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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      changeType:
        description: >
          Signals the type of change. Permitted values:
          * ADDED
          * REMOVED
          * MODIFIED
          * TEMPORARY
          * LINK_PORT_ADDED
          * LINK_PORT_REMOVED
          For a temporary resource, an AffectedVirtualLink structure exists as
          long as the temporary resource exists.
          When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the
          "networkResource" attribute refers to the affected virtual link instance, not the link port instance.
          The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the
          "vnfLinkPortIds" attribute.
        type: string
        enum:
          - ADDED
          - REMOVED
          - MODIFIED
          - TEMPORARY
          - LINK_PORT_ADDED
          - LINK_PORT_REMOVED
      networkResource:
        description: >
          Reference to the VirtualNetwork resource. Detailed information is
          (for new and modified resources) or has been (for removed
          resources) available from the VIM. See note.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      vnfLinkPortIds:
        description: >
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          Identifiers of the link ports of the affected VL related to the change. Each identifier references a 
          "VnfLinkPortInfo" structure.
          
          Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related 
          "VnfLinkPortInfo" structures are present (case "added") or have been present (case "removed") in the 
          "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structures that are represented by the 
          "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. 
          See note.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      metadata:
        description: >
          Metadata about this resource.
          The content of this attribute shall be a copy of the content of the
          "metadata" attribute of the applicable "VnfVirtualLinkResourceInfo" structure
          if such structure is referenced by the "id" attribute and it has metadata.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  AffectedVirtualStorage:
    description: >
      This type provides information about added, deleted, modified and
      temporary virtual storage resources.
    type: object
    required:
      - id
      - virtualStorageDescId
      - changeType
      - storageResource
    properties:
      id:
        description: >
          Identifier of the storage instance, identifying the applicable
          "virtualStorageResourceInfo" entry in the "VnfInstance" data type.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      virtualStorageDescId:
        description: >
          Identifier of the related VirtualStorage descriptor in the VNFD.
        $ref: "../../../definitions/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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      changeType:
        description: >
          Signals the type of change. Permitted values:
          * ADDED
          * REMOVED
          * MODIFIED
          * TEMPORARY
          For a temporary resource, an AffectedVirtualStorage structure exists
          as long as the temporary resource exists.
        type: string
        enum:
          - ADDED
          - REMOVED
          - MODIFIED
          - TEMPORARY
      storageResource:
        description: >
          Reference to the VirtualStorage resource. Detailed information is
          (for new and modified resources) or has been (for removed
          resources) available from the VIM.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      metadata:
        description: >
          Metadata about this resource.
          The content of this attribute shall be a copy of the content of the
          "metadata" attribute of the VirtualStorageResourceInfo structure.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  VnfLcmOpOcc:
    description: >
      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.
      * NOTE 1:	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.
      * NOTE 2:	Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present.
      * NOTE 3:	For a particular affected VL, there shall be as many "AffectedVirtualLink" entries as needed
                for signalling the different types of changes, i.e. one per virtual link and change type.
                For instance, in the case of signaling affected VL instances involving the addition of a
                particular VL instance with links ports, one "AffectedVirtualLink" entry signals the addition
                of the VL by using the "changeType" attribute of "AffectedVirtualLink" structure equal to "ADDED",
                and another "AffectedVirtualLink" entry signals the addition of VNF link ports of the VL by using the
                "changeType" equal to "LINK_PORT_ADDED".
      * NOTE 4:	A coordination action has timed out if the VNFM has not been able to read the
                "Individual coordination action" resource within a timeout interval after requesting the coordination
                to be started or to be cancelled. The length of the timeout interval is defined by means outside
                the scope of the present document.
      * NOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has
                reached a terminal state, i.e. one of "COMPLETED", "FAILED" and "ROLLED_BACK".
Francesca Moscatelli's avatar
Francesca Moscatelli committed
    type: object
    oneOf:
      - required:
          - changedInfo
      - required:
          - modificationsTriggeredByVnfPkgChange
    required:
      - id
      - operationState
      - stateEnteredTime
      - startTime
      - vnfInstanceId
      - operation
      - isAutomaticInvocation
      - isCancelPending
    properties:
      id:
        description: >
          Identifier of this VNF lifecycle management operation occurrence.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      operationState:
        description: >
          The state of the LCM operation.
        $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType"
      stateEnteredTime:
        description: >
          Date-time when the current state has been entered.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
      startTime:
        description: >
          Date-time of the start of the operation.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
      vnfInstanceId:
        description: >
          Identifier of the VNF instance to which the operation applies
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      grantId:
        description: >
          Identifier of the grant related to this VNF LCM operation
          occurrence. Shall be set to the value of the "id" attribute
          in the "Grant" representing the associated "Individual Grant",
          if such grant exists.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      operation:
        description: >
          Type of the actual LCM operation represented by this VNF LCM
          operation occurrence.
        $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.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean"
      operationParams:
        description: >
          Input parameters of the LCM operation. This attribute shall be
          formatted according to the request data type of the related LCM
          operation. The following mapping between operationType and the
          data type of this attribute shall apply:
          * INSTANTIATE: InstantiateVnfRequest
          * SCALE: ScaleVnfRequest
          * SCALE_TO_LEVEL: ScaleVnfToLevelRequest
          * CHANGE_FLAVOUR: ChangeVnfFlavourRequest
          * OPERATE: OperateVnfRequest
          * HEAL: HealVnfRequest
          * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest
          * TERMINATE: TerminateVnfRequest
          * MODIFY_INFO: VnfInfoModifications
          * CREATE_SNAPSHOT: CreateVnfSnapshotRequest
          * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest
          * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest
        type: object
      isCancelPending:
        description: >
          If the VNF LCM operation occurrence is in "STARTING", "PROCESSING"
          or "ROLLING_BACK" state and the operation is being cancelled, this
          attribute shall be set to true. Otherwise, it shall be set to false.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean"
      cancelMode:
        description: >
          The mode of an ongoing cancellation. Shall be present when
          isCancelPending=true, and shall be absent otherwise.
        $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CancelModeType"
      error:
        description: >
          If "operationState" is "FAILED_TEMP" or "FAILED" or "operationState"
          is "PROCESSING" or "ROLLING_BACK" and previous value of
          "operationState" was "FAILED_TEMP", this attribute shall be present
          and contain error information, unless it has been requested to be
          excluded via an attribute selector.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
      resourceChanges:
        description: >
          This attribute contains information about the cumulative changes to
          virtualised resources that were performed so far by the LCM
          operation since its start, if applicable.
        type: object
        properties:
          affectedVnfcs:
            description: >
              Information about VNFC instances that were affected during the
              lifecycle operation. See note 1.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            type: array
            items:
              $ref: "#/definitions/AffectedVnfc"
          affectedVirtualLinks:
            description: >
              Information about VL instances that were affected during the
              lifecycle operation. See note 1 and note 3.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            type: array
            items:
              $ref: "#/definitions/AffectedVirtualLink"
          affectedExtLinkPorts:
            description: >
              Information about external VNF link ports that were affected during the lifecycle operation.
              See note 1.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            type: array
            items:
              $ref: "#/definitions/AffectedExtLinkPort"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          affectedVirtualStorages:
            description: >
              Information about virtualised storage instances that were affected
              during the lifecycle operation. See note 1.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            type: array
            items:
              $ref: "#/definitions/AffectedVirtualStorage"
      changedInfo:
        description: >
          Information about the changed VNF instance information, including
          VNF configurable properties, if applicable. See note 1 and note 2.
        $ref: "#/definitions/VnfInfoModifications"
      affectedVipCps:
        description: >
          Information about virtual IP CP instances that were affected during
          the execution of the lifecycle management operation.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVipCp"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      changedExtConnectivity:
        description: >
          Information about changed external connectivity, if applicable. See note 1.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/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".
          See note 1 and note 2.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange"
      vnfSnapshotInfoId:
        description: >
          Identifier of the "individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation,
          i.e., if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      lcmCoordinations:
        description: >
          Information about LCM coordination actions (see clause 10) related to this LCM operation occurrence.
        type: object
        required:
          - id
          - coordinationActionName
          - startTime
          - endpointType
        properties:
          id:
            description: >
              Identifier of this coordination action. For a terminated coordination action,
              this attribute refers to the "id" attribute in the "LcmCoord" data structure
              (see clause 10.5.2.3). For a timed-out or ongoing coordination action,
              this attribute refers to the {coordinationId} URI variable in the "Location"
              header of the "202 Accepted" HTTP response to the POST request that has initiated
              the coordination action (see clause 10.4.2.3.1).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
          coordinationActionName:
            description: >
              Indicator of the actual coordination action.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
          coordinationResult:
            description: >
              The result of executing the coordination action which also implies the action to
              be performed by the VNFM as the result of this coordination. See note 4.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmCoordResultType"
          startTime:
            description: >
              The time when the VNFM has received the confirmation that the coordination action has been started.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
          endTime:
            description: >
              The end time when the VNFM has received the confirmation thatof the coordination action
              has finished or has been cancelled, or the time when a coordination action has timed out.
              Shall be present for a coordination action that has finished or timed out (see note 4) and
              shall be absent if the coordination is ongoing.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
          endpointType:
            description: >
              The endpoint type used by this coordination action.
              Valid values:
              - MGMT: coordination with other operation supporting management systems (e.g. EM)
              - VNF: coordination with the VNF instance
            type: string
            enum:
              - MGMT
              - VNF
          delay:
            description: >
              The end of the delay period.
              This attribute shall be present if the last known HTTP response related to this coordination
              has contained a "Retry-After" header, and shall be absent otherwise.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
      rejectedLcmCoordinations:
        description: >
          Information about LCM coordination actions (see clause 10) that were rejected by 503 error which
          means they will be tried again after a delay. See note 5.
        type: object
        required:
          - coordinationActionName
          - rejectionTime
          - endpointType
          - delay
        properties:
          coordinationActionName:
            description: >
              Indicator of the actual coordination action.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
          rejectionTime:
            description: >
              The time when the VNFM has received the 503 response that rejects the actual coordination.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
          endpointType:
            description: >
              The endpoint type used by this coordination action.
              Valid values:
              - MGMT: coordination with other operation supporting management systems (e.g. EM)
              - VNF: coordination with the VNF instance
            type: string
            enum:
              - MGMT
              - VNF
          delay:
            description: >
              The end of the delay period, as calculated from the startTime and "Retry-After" header.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
      warnings:
        description: >
          Warning messages that were generated while the operation was executing.

          If the operation has included LCM coordination actions and these have resulted
          in warnings, such warnings should be added to this attribute.
        type: array
        items:
          type: string
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
          - vnfInstance
        properties:
          self:
            description: >
              URI of this resource.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          vnfInstance:
            description: >
              Link to the VNF instance that the operation applies to.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          grant:
            description: >
              Link to the grant for this operation, if one exists.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          cancel:
            description: >
              Link to the task resource that represents the "cancel" operation
              for this VNF LCM operation occurrence, if cancelling is
              currently allowed.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          retry:
            description: >
              Link to the task resource that represents the "retry" operation
              for this VNF LCM operation occurrence, if retrying is currently
              allowed.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          rollback:
            description: >
              Link to the task resource that represents the "rollback"
              operation for this VNF LCM operation occurrence, if rolling back
              is currently allowed.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          fail:
            description: >
              Link to the task resource that represents the "fail" operation
              for this VNF LCM operation occurrence, if declaring as failed is
              currently allowed.
            $ref: "../../../definitions/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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"

  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.2).
        $ref: "../../../definitions/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: "../../../definitions/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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"

  VnfInfoModifications:
    description: >
      This type represents attribute modifications that were performed on an
      "Individual VNF instance" resource. The attributes that can be included
      consist of those requested to be modified explicitly in the
      "VnfInfoModificationRequest" data structure, and additional attributes
      of the "VnfInstance" data structure that were modified implicitly e.g.
      when modifying the referenced VNF package.
      * NOTE:	If present, this attribute (which depends on the value of the "vnfdId" attribute)
                was modified implicitly following a request to modify the "vnfdId" attribute, by
                copying the value of this attribute from the VNFD in the VNF Package identified
                by the "vnfdId" attribute.
    type: object
    properties:
      vnfInstanceName:
        description: >
          If present, this attribute signals modifications of the
          "vnfInstanceName" attribute in "VnfInstance".
        type: string
      vnfInstanceDescription:
        description: >
          If present, this attribute signals modifications of the
          "vnfInstanceDescription" attribute in "VnfInstance".
        type: string
      vnfConfigurableProperties:
        description: >
          If present, this attribute signals modifications of the
          "vnfConfigurableProperties" attribute in "VnfInstance".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      metadata:
        description: >
          If present, this attribute signals modifications of the "metadata"
          attribute in "VnfInstance".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
          If present, this attribute signals modifications of the "extensions"
          attribute in "VnfInstance".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      vnfdId:
        description: >
          If present, this attribute signals modifications of the "vnfdId"
          attribute in "VnfInstance".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfProvider:
        description: >
          If present, this attribute signals modifications of the
          "vnfProvider" attribute in "VnfInstance". See note.
        type: string
      vnfProductName:
        description: >
          If present, this attribute signals modifications of the
          "vnfProductName" attribute in "VnfInstance". See note.
        type: string
      vnfSoftwareVersion:
        description: >
          If present, this attribute signals modifications of the
          "vnfSoftwareVersion" attribute in "VnfInstance".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version"
      vnfdVersion:
        description: >
          If present, this attribute signals modifications of the
          "vnfdVersion" attribute in "VnfInstance". See note.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version"
      vnfcInfoModifications:
        description: >
          If present, this attribute signals modifications of certain
          entries in the "vnfcInfo" attribute array in the
          "instantiatedVnfInfo" attribute of "VnfInstance", as defined
          in clause 5.5.2.12
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfoModifications"