VNFPackageManagementNotification_def.yaml 6.69 KB
Newer Older
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt

definitions:
  PackageChangeType:
    description: >
      - OP_STATE_CHANGE: The "operationalState" attribute has been changed.
      - DELETE_PEND_CHANGE: The "deletionPending" attribute has been changed.
      - PKG_DELETE: The VNF package has been deleted.
    type: string
    enum: 
      - OP_STATE_CHANGE
      - DELETE_PEND_CHANGE
      - PKG_DELETE

  PackageOperationalStateType:
    description: >
      - ENABLED: The VNF package is enabled, i.e. it can be used for
        instantiation of new VNF instances.
      - DISABLED: The VNF package is disabled, i.e. it cannot be used for
        further VNF instantiation requests (unless and until the VNF package
        is re-enabled).
    type: string
    enum:
      - ENABLED
      - DISABLED

  VnfPackageChangeNotification:
    description: >
      This type represents a VNF package management notification, which
      informs the receiver of a change of the status in a VNF package.
      Only changes in operationalState and/or deletionPending attributes will
      be reported. Change in usageState attribute is not reported. The support
      of this notification is mandatory.
      The notification is triggered when there is a change in the status of a
      VNF package, including:
      * Change of states (operationalState and/or deletionPending) of an
        on-boarded VNF package.
      * Deletion of an on-boarded VNF package.
    type: object
    required: 
      - id
      - notificationType
      - timeStamp
      - onboardedVnfPkgId
      - vnfdId
      - changeType
      - _links
    properties: 
      id:
        description: >
          Identifier of this notification. If a notification is sent multiple
          times due to multiple subscriptions, the "id" attribute of all these
          notifications shall have the same value.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      notificationType:
        description: >
          Discriminator for the different notification types. 
          Shall be set to "VnfPackageChangeNotification" for this notification type.
        type: string
        enum:
          - VnfPackageChangeNotification
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
      onboardedVnfPkgId:
        description: >
          Identifier of the on-boarded VNF package. This identifier is
          allocated by the NFVO.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfdId:
        description: >
          Identifier of the VNFD contained in the VNF package, which also
          identifies the VNF package. This identifier is allocated by the VNF
          provider and copied from the VNFD.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      changeType:
        description: >
          The type of change of the VNF package.
        $ref: "#/definitions/PackageChangeType"
      operationalState:
        description: >
          New operational state of the VNF package.
          Only present when changeType is OP_STATE_CHANGE.
        $ref: "#/definitions/PackageOperationalStateType"
      deletionPending:
        description: >
          The value "true" indicates that the deletion instance of the VNF
          package has been requested but the VNF package is still being used
          by instantiated VNFs.
          Only present when changeType is DELETE_PEND_CHANGE.
        type: boolean
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "#/definitions/PkgmLinks"

  VnfPackageOnboardingNotification:
    description: >
      This type represents a VNF package management notification, which
      informs the receiver of the on-boarding of a VNF package.
      The notification is triggered when a new VNF package is on-boarded.
    type: object
    required: 
      - id
      - notificationType
      - timeStamp
      - onboardedVnfPkgId
      - vnfdId
      - _links
    properties: 
      id:
        description: >
          Identifier of this notification. If a notification is sent multiple
          times due to multiple subscriptions, the "id" attribute of all these
          notifications shall have the same value.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      notificationType:
        description: >
          Discriminator for the different notification types.
          Shall be set to "VnfPackageOnboardingNotification" for this
          notification type.
        type: string
        enum:
          - VnfPackageOnboardingNotification
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
      onboardedVnfPkgId:
        description: >
          Identifier of the on-boarded VNF package. This identifier is
          allocated by the NFVO.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfdId:
        description: >
          This identifier, which is managed by the VNF provider, identifies
          the VNF package and the VNFD in a globally unique way.
          It's copied from the VNFD of the on-boarded VNF package.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "#/definitions/PkgmLinks"

  PkgmLinks:
    description: >
      This type represents the links to resources that a VNF package management
      notification can contain.
    type: object
    required: 
      - vnfPackage
      - subscription
    properties:
      vnfPackage:
        description: >
          Link to the resource representing the VNF package to which the notified
          change applies, i.e. the individual on-boarded VNF package resource
          that represents the VNF package.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
      subscription:
        description: >
          Link to the related subscription.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"