SOL002SOL003VNFLifecycleManagement_def.yaml 48.8 KB
Newer Older
          array in "VnfInstance", as defined below this table.
        $ref: "#/definitions/VimConnectionInfo"

  VnfInstanceSubscriptionFilter:
    description: >
      This type represents subscription filter criteria to match VNF
      instances.
    type: object
    properties:
      vnfdIds:
        description: >
          If present, match VNF instances that were created based on a VNFD
          identified by one of the vnfdId values listed in this attribute.
          The attributes "vnfdIds" and "vnfProductsFromProviders" are
          alternatives to reference to VNF instances that are based on certain
          VNFDs in a filter. They should not be used both in the same filter
          instance, but one alternative should be chosen.
        type: array
        items:
          $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfProductsFromProviders:
        description: >
          If present, match VNF instances that belong to VNF products from
          certain providers.
          The attributes "vnfdIds" and "vnfProductsFromProviders" are
          alternatives to reference to VNF instances that are based on certain
          VNFDs in a filter. They should not be used both in the same filter
          instance, but one alternative should be chosen.
        type: array
        items:
          type: object
          required:
            - vnfProvider
          properties:
            vnfProvider:
              description: >
                Name of the VNF provider to match.
              type: string
            vnfProducts:
              description: >
                If present, match VNF instances that belong to VNF products
                with certain product names, from one particular provider.
              type: array
              items: 
                type: object
                required:
                  - vnfProductName
                properties:
                  vnfProductName:
                    description: >
                      Name of the VNF product to match.
                    type: string
                  versions:
                    description: >
                      If present, match VNF instances that belong to VNF
                      products with certain versions and a certain product
                      name, from one particular provider.
                    type: array
                    items:
                      type: object
                      required:
                        - vnfSoftwareVersions
                      properties:
                        vnfSoftwareVersions:
                          description: >
                            Software version to match.
                          $ref: "#/definitions/Version"
                        vnfdVersions:
                          description: >
                            If present, match VNF instances that belong to VNF
                            products with certain VNFD versions, a certain
                            software version and a certain product name, from
                            one particular provider.
                          type: array
                          items: 
                            $ref: "#/definitions/Version"

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

  VnfOperationalStateType:
    type: string
    enum:
      - STARTED
      - STOPPED
      - ERROR