SOL003VNFLifecycleManagement_def.yaml 146 KB
Newer Older
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            description: >
              Link to the "Operate VNF task" resource, if the related operation is
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          changeExtConn:
            description: >
              Link to the "Change external VNF connectivity task" resource, if the related
              operation is possible based on the current status of this VNF
              instance resource (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          createSnapshot:
            description: >
              Link to the "Create VNF snapshot task" resource, if the related operation is
              supported for this VNF instance and is possible based on the current status of
              this VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          revertToSnapshot:
            description: >
              Link to the "Revert to VNF snapshot task" resource, if the related operation is
              supported for this VNF instance and is possible based on the current status of
              this VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
          changeCurrentVnfPkg:
            description: >
              Link to the "Change current VNF package task" resource, if the related
              operation is possible based on the current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
  ExtManagedVirtualLinkInfo:
    type: object
    required:
      - id
      - vnfVirtualLinkDescId
      - networkResource
    properties:
      id:
        description: >
          Identifier of the externally-managed internal VL and the related
          externally-managed VL information instance.
          The identifier is assigned by the NFV-MANO entity that manages this
          VL instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      vnfVirtualLinkDescId:
        description: >
          Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
        $ref: "../../General_Definitions/SOL003_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: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      networkResource:
        description: >
          Reference to the VirtualNetwork resource providing this VL.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
      vnfLinkPorts:
        description: >
          Link ports of this VL.
        type: array
        items:
          $ref: "#/definitions/VnfLinkPortInfo"
      extManagedMultisiteVirtualLinkId:
        description: >
          Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFVMANO entity
          that manages the externally managed multi-site VL instance. It shall be present when the externally-managed
          internal VL is part of a multi-site VL, e.g., in support of multi-site VNF spanning several VIMs.
          All externally-managed internal VL instances corresponding to an internal VL created based on the same
          virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"

  VirtualStorageResourceInfo:
    description: >
      This type represents the information that allows addressing a virtualised
      resource that is used by a VNF instance.

      Note: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo"
            structure by an LCM operation occurrence, this does not represent a change that requires
            including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
            notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
    type: object
    required:
      - id
      - virtualStorageDescId
      - storageResource
    properties:
      id:
        description: >
          Identifier of this VirtualStorageResourceInfo instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      virtualStorageDescId:
        description: >
          Identifier of the VirtualStorageDesc in the VNFD.
        $ref: "../../General_Definitions/SOL003_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). See note.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      storageResource:
        description: >
          Reference to the VirtualStorage resource.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
      zoneId:
        description: >
          The identifier of the resource zone, as managed by the resource
          management layer (typically, the VIM), where the referenced
          VirtualStorage resource is placed. Shall be provided if this
          information is available from the VIM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      reservationId:
        description: >
          The reservation identifier applicable to the resource. It shall be
          present when an applicable reservation exists.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      metadata:
        description: >
          Metadata about this resource.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
  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.
      NOTE 4: If only the value or the presence of this attribute is changed in the "VnfcResourceInfo"
              structure by an LCM operation occurrence, this does not represent a change that requires
              including a related "AffectedVnfc" structure in the VNF LCM operation occurrence notifications
              or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
    type: object
    required:
      - id
      - vduId
      - computeResource
    properties:
      id:
        description: >
          Identifier of this VnfcResourceInfo instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vduId:
        description: >
          Reference to the applicable VDU in the VNFD. See note 1.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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). See note 4.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      computeResource:
        description: >
          Reference to the VirtualCompute resource.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      zoneId:
        description: >
          The identifier of the resource zone, as managed by the
          resource management layer (typically, the VIM), where
          the referenced VirtualCompute resource is placed.
          Shall be provided if this information is available from the VIM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      storageResourceIds:
        description: >
          References to the VirtualStorage resources. The value refers to a
          VirtualStorageResourceInfo item in the VnfInstance.
        type: array
        items:
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      reservationId:
        description: >
          The reservation identifier applicable to the resource. It shall be
          present when an applicable reservation exists.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfcCpInfo:
        description: >
          CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance 
          is exposed as an external CP of the VNF instance or is connected to an external CP of the 
          VNF instance. See note 2. May be present otherwise.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
        type: array
        items:
          type: object
          required:
            - id
            - cpdId
          properties:
            id:
              description: >
                Identifier of this VNFC CP instance and the associated array
                entry.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            cpdId:
              description: >
                Identifier of the VDU CPD, cpdId, in the VNFD. See note 1.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            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.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            cpProtocolInfo:
              description: >
                Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. 
                See note 3.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
              type: array
              items:
                $ref: "#/definitions/CpProtocolInfo"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            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.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            metadata:
              description: >
                Metadata about this CP.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
      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, and
          the referred VNFC CP instances are also present in the vnfcCpInfo attribute.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      metadata:
        description: >
          Metadata about this resource.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
Francesca Moscatelli's avatar
Francesca Moscatelli committed

  VnfSnapshotInfo:
    description: >
      This type represents an "Individual VNF snapshot" resource.
    type: object
    required:
      - id
      - _links
    properties:
      id:
        description: >
          Identifier of the "Individual VNF snapshot" resource. This identifier is allocated by the VNFM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfSnapshotPkgId:
        description: >
          Identifier of the VNF snapshot package information held by the NFVO. Shall be present when the
          “Individual VNF snapshot" resource is created from a VNF snapshot package extraction.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfSnapshot:
        description: >
          Information about the VNF snapshot, content and/or references to its content. Shall be present
          when the "Individual VNF snapshot" resource is associated to a VNF snapshot created via the
          corresponding "Create VNF Snapshot" task resource or extracted from a VNF snapshot package.
        $ref: "#/definitions/VnfSnapshot"
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: >
              URI of this resource.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          takenFrom:
            description: >
              Link to the VNF instance from which this snapshot was taken. Shall be present when the
              "Individual VNF snapshot" resource is associated to a VNF snapshot created via the
              corresponding "Create VNF snapshot" task resource.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed

  VnfStateSnapshotInfo:
    description: >
      This type represents information about VNF-specific state snapshot data.
    type: object
    required:
      - checksum
      - isEncrypted
    properties:
      checksum:
        description: >
          Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts
          are defined in ETSI GS NFV-SOL 010.
          $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Checksum"
      isEncrypted:
        description: >
          Reflects whether the VNF state snapshot content is encrypted (true) or not (false).
          $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Boolean"
      metadata:
        description: >
          The metadata with additional information such as content type, size, creation date, etc.
          $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  VnfSnapshot:
    description: >
      This type represents a VNF snapshot.
    type: object
    required:
      - id
      - vnfInstanceId
      - triggeredAt
      - vnfdId
      - vnfInfo
      - vnfcSnapshots
    properties:
      id:
        description: >
          Identifier of the VNF Snapshot. This identifier is allocated by the VNFM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfInstanceId:
        description: >
          Identifier of the snapshotted VNF instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      creationStartedAt:
        description: >
          Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      creationFinishedAt:
        description: >
          Timestamp indicating when the VNF snapshot has been completed by the VNFM.
          Shall be present once the VNF snapshot creation has been completed.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfdId:
        description: >
          Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfInstance:
        description: >
          VNF Instance information of the snapshotted VNF instance. This is a copy of the "ndividual VNF instance" resource.
        $ref: '#/definitions/VnfInstance'
      vnfcSnapshots:
        description: >
          Information about VNFC snapshots constituting this VNF snapshot.
        type: array
        items:
          $ref: '#/definitions/VnfcSnapshotInfo'
      vnfStateSnapshotInfo:
        description: >
          Information about VNF-specific state snapshot data.
          This attribute shall not be present before the VNF snapshot has been completed.
          Otherwise, this attribute shall be present if the VNF snapshot has associated
          additional VNF-specific state data.
        $ref: '#/definitions/VnfStateSnapshotInfo'
      userDefinedData:
        description: >
          User defined data for the VNF snapshot.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: >
              URI of this resource.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          vnfStateSnapshot:
            description: >
              Link to the "VNF state snapshot" resource. This attribute shall not be
              present before the VNF snapshot has been completed. Otherwise, this
              attribute shall be present if the VNF snapshot has associated additional
              VNFspecific state data.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed

  VnfcSnapshotInfo:
    description: >
      This type represents a VNFC snapshot.

      NOTE 1:	The identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot 
              being returned from the VIM as output data in the response message of the individual resource 
              operations. This attribute shall only be present for a VNFC snapshot that has been newly created 
              by the VNFM as a result of the "Create VNF snapshot task".
      NOTE 2:	The identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being 
              returned from the VIM as output data in the response message of the individual resource operations. 
              This attribute shall only be present for a VNFC snapshot with an associated storage resource and that 
              has been newly created by the VNFM as a result of the "Create VNF snapshot task".
Francesca Moscatelli's avatar
Francesca Moscatelli committed
    type: object
    required:
      - id
      - vnfcInstanceId
      - triggeredAt
      - vnfcResourceId
    properties:
      id:
        description: >
          Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by
          the VNFM and is unique within the scope of a VNF snapshot.
          The attribute also identifies the compute snapshot image associated to this VNFC snapshot within the context of 
          a referred VNF snapshot.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierLocal"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfcInstanceId:
        description: >
          Identifier of the snapshotted VNFC instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      creationStartedAt:
        description: >
          Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      creationFinishedAt:
        description: >
          Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot
          creation has been completed by the VNFM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfcResourceInfoId:
        description: >
          Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resource
          of the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute
          of the "VnfSnapshot" structure.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      computeSnapshotResource:
        description: >
          Reference to a compute snapshot resource. See note 1.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      storageSnapshotResources:
        description: >
          Mapping of the storage resources associated to the VNFC with the storage snapshot resources.
        type: array
        items:
          type: object
          required:
            - storageResourceId
          properties:
            storageResourceId:
              description: >
                Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure
                that represents the virtual storage resource.
                The attribute also identifies the storage snapshot image associated to this VNFC snapshot 
                within the context of a referred VNF snapshot.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
            storageSnapshotResource:
              description: >
                Reference to a storage snapshot resource. See note 2.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      userDefinedData:
        description: >
          User defined data for the VNFC snapshot.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
Francesca Moscatelli's avatar
Francesca Moscatelli committed

  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.

      Note: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo"
            structure by an LCM operation occurrence, this does not represent a change that requires including
            a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
            "VnfLcmOpOcc" structure related to this LCM operation occurrence.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
    type: object
    required:
      - id
      - vnfVirtualLinkDescId
      - networkResource
    properties:
      id:
        description: >
          Identifier of this VnfVirtualLinkResourceInfo instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfVirtualLinkDescId:
        description: >
          Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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). See note.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      networkResource:
        description: >
          Reference to the VirtualNetwork resource.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      zoneId:
        description: >
          The identifier of the resource zone, as managed by the resource
          management layer (typically, the VIM), where the referenced
          VirtualNetwork resource is placed. Shall be provided if this
          information is available from the VIM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      reservationId:
        description: >
          The reservation identifier applicable to the resource. It shall be
          present when an applicable reservation exists.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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/VnfLinkPortInfo"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      metadata:
        description: >
          Metadata about this resource.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
Francesca Moscatelli's avatar
Francesca Moscatelli committed

  AffectedVnfc:
    description: >
      This type provides information about added, deleted, modified and temporary VNFCs.

      NOTE:	The "resourceDefinitionId" attribute provides information to the API consumer 
            (i.e. the NFVO) to assist in correlating the resource changes performed during 
            the LCM operation with the granted resources in a specific Grant exchange, which 
            is identified by the "grantId" available in the "Individual VNF lifecycle management 
            operation occurrence" and the "id" in the "Individual Grant".
Francesca Moscatelli's avatar
Francesca Moscatelli committed
    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: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vduId:
        description: >
          Identifier of the related VDU in the VNFD.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      resourceDefinitionId:
        description: >
          The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence. 
          It shall be present when an applicable GrantInfo for thegranted resource exists. See note.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierLocal"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      zoneId:
        description: >
          The identifier of the resource zone, as managed by the resource management
           layer (typically, the VIM), where the referenced VirtualCompute resource is placed.
           Shall be provided if this information is available from the VIM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Francesca Moscatelli's avatar
Francesca Moscatelli committed

  VnfLcmOpOcc:
    description: >
      This type represents a VNF lifecycle management operation occurrence.

      NOTE 1:	This allows the NFVO to obtain the information contained in the latest 
              "result" notification if it has not received it due to an error or a 
              wrongly configured subscription filter.
      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 externally visible 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: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      operationState:
        description: >
          The state of the LCM operation.
        $ref: "#/definitions/LcmOperationStateType"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      stateEnteredTime:
        description: >
          Date-time when the current state has been entered.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      startTime:
        description: >
          Date-time of the start of the operation.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      vnfInstanceId:
        description: >
          Identifier of the VNF instance to which the operation applies
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      operation:
        description: >
          Type of the actual LCM operation represented by this VNF LCM
          operation occurrence.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/LcmOperationType"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/Boolean"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      operationParams:
        description: >
          Input parameters of the LCM operation. This attribute shall be
          formatted according to the request data type of the related LCM
          operation. In addition, the provisions in clause 5.7 shall apply. 
          
          The following mapping between operationType and the
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          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: "../../General_Definitions/SOL003_def.yaml#/definitions/Boolean"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      cancelMode:
        description: >
          The mode of an ongoing cancellation. Shall be present when
          isCancelPending=true, and shall be absent otherwise.
        $ref: "#/definitions/CancelModeType"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/ProblemDetails"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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 notes 1 and 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/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/ExtVirtualLinkInfo"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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 notes 1 and 2.
        $ref: "#/definitions/ModificationsTriggeredByVnfPkgChange"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      lcmCoordinations:
        description: >
          Information about LCM coordination actions (see clause 10 in ETSI GS NFV-SOL002) related to this LCM operation occurrence.
        type: array
        items:
          type: object
          required:
            - id
            - coordinationActionName
            - startTime
            - endpointType
          properties:
            id:
              description: >
                Identifier of this coordination action.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
            coordinationActionName:
              description: >
                Indicator of the actual coordination action.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
                The result of executing the coordination action which also implies the action to be performed by the VNFM as 
                the result of this coordination. 
                
                Shall be present if the coordination has been finished. Shall be absent if the coordination is ongoing or has 
                timed out (see note 4).
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/LcmCoordResultType"
                The time when the VNFM has received the confirmation that the coordination action has been started.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
                The time when the VNFM has received the confirmation that 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: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
            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: "../../General_Definitions/SOL003_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
      rejectedLcmCoordinations:
        description: >
          Information about LCM coordination actions (see clause 10 in ETSI GS NFV-SOL002) that were rejected
          by 503 error which means they can be tried again after a delay. See note 5.
        type: array
        items:
          type: object
          required:
            - coordinationActionName
            - rejectionTime
            - endpointType
            - delay
          properties:
            coordinationActionName:
              description: >
                Indicator of the actual coordination action.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
            rejectionTime:
              description: >
                The time when the VNFM has received the 503 response that rejects the actual coordination.
              $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
            delay:
              description: >
                The end of the delay period, as calculated from the startTime and "Retry-After" header.
              $ref: "../../General_Definitions/SOL003_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
      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: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          vnfInstance:
            description: >
              Link to the VNF instance that the operation applies to.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          grant:
            description: >
              Link to the grant for this operation, if one exists.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          cancel:
            description: >
              Link to the task resource that represents the "cancel" operation
              for this VNF LCM operation occurrence, if cancelling is
              currently allowed.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          retry:
            description: >
              Link to the task resource that represents the "retry" operation
              for this VNF LCM operation occurrence, if retrying is currently
              allowed.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          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: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          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: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
          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: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
  AffectedExtLinkPort:
    description: >
      This type provides information about added and deleted external link ports (link ports attached to external virtual links).

      NOTE:	The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to assist in correlating 
            the resource changes performed during the LCM operation with the granted resources in a specific Grant exchange, which 
            is identified by the "grantId" available in the "Individual VNF lifecycle management operation occurrence" and the "id" 
            in the "Individual Grant".
    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: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      changeType:
        description: >
          Signals the type of change.
          Permitted values:
          -	ADDED
          -	REMOVED
        type: string
        enum:
          - ADDED
          - MODIFIED
          - REMOVED
      extCpInstanceId:
        description: >
          Identifier of the related external CP instance.
        $ref: "../../General_Definitions/SOL003_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: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
      resourceDefinitionId:
        description: >
          The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence. 
          It shall be present when an applicable GrantInfo for the granted resource exists. See note.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierLocal"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
  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 1:	When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, 
              the "networkResource" and "resourceDefinitionId" attributes refer 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.
      NOTE 2:	The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to 
              assist in correlating the resource changes performed during the LCM operation with the granted 
              resources in a specific Grant exchange, which is identified by the "grantId" available in the 
              "Individual VNF lifecycle management operation occurrence" and the "id" in the "Individual Grant".
Francesca Moscatelli's avatar
Francesca Moscatelli committed
    type: object
    required: