SOL005NSLifecycleManagement_def.yaml 126 KB
Newer Older
        description: >
          The lifecycle operation.
        $ref: "#/definitions/NsLcmOpType"
      notificationType:
        description: >
          Discriminator for the different notification types. Shall be
          set to "NsLcmOperationOccurrenceNotification" for this
          notification type.
        type: string
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "SOL005_def.yaml#/definitions/Identifier"
      timestamp:
        description: >
          Date-time of the generation of the notification.
      notificationStatus:
        description: >
          Indicates whether this notification reports about the start
          of a NS lifecycle operation or the result of a NS lifecycle
          operation.
          Permitted values:
          - START: Informs about the start of the NS LCM
          operation occurrence.
          - RESULT: Informs about the final or intermediate
          result of the NS LCM operation occurrence.
        type: string
        enum:
          - START
      operationState:
        description: >
          The state of the NS lifecycle operation occurrence.
        $ref: "#/definitions/NsLcmOperationStateType"
      isAutomaticInvocation:
        description: >
          Set to true if this NS LCM operation occurrence has
          been automatically triggered by the NFVO. This occurs
          in case of auto-scaling, auto-healing and when a nested
          NS is modified as a result of an operation on its
          composite NS. Set to false otherwise.
        type: boolean
      affectedVnf:
        description: >
          Information about the VNF instances that were affected
          during the lifecycle operation.
      affectedPnf:
        description: >
          Information about the PNF instances that were affected
          during the lifecycle operation.
        $ref: "#/definitions/AffectedPnf"
      affectedVl:
        description: >
          Information about the VL instances that were affected
          during the lifecycle operation.
        type: array
        items:
          $ref: "#/definitions/AffectedVirtualLink"
      affectedVnffg:
        description: >
          Information about the VNFFG instances that were
          affected during the lifecycle operation.
        type: array
        items:
          $ref: "#/definitions/AffectedVnffg"
      affectedNs:
        description: >
          Information about the SAP instances that were affected
          during the lifecycle operation. See note.
        type: array
        items:
          $ref: "#/definitions/AffectedSap"
      affectedSap:
        description: >
          The lifecycle operation.
        $ref: "#/definitions/NsLcmOpType"
      error:
        description: >
          Details of the latest error, if one has occurred during
          executing the LCM operation (see clause 4.3.5). Shall
          be present if operationState is "FAILED_TEMP" or
          "FAILED", and shall be absent otherwise.
        $ref: "SOL005_def.yaml#/definitions/ProblemDetails"
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "#/definitions/LccnLinks"
  NsIdentifierCreationNotification:
    type: object
    required:
      - subscriptionId
    properties:
      notificationType:
        description: >
          Discriminator for the different notification types.
          Shall be set to "NsIdentifierDeletionNotification" for this
          notification type.
        type: string
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "SOL005_def.yaml#/definitions/Identifier"
      timestamp:
        description: >
          Date-time of the generation of the notification.
      nsInstanceId:
        description: >
          The created NS instance identifier
        $ref: "SOL005_def.yaml#/definitions/Identifier"
      _links:
        description: >
          Links to resources related to this notification.

  NsIdentifierDeletionNotification:
    type: object
    required:
      - subscriptionId
    properties:
      notificationType:
        description: >
          Discriminator for the different notification types.
          Shall be set to "NsIdentifierDeletionNotification" for this
          notification type.
        type: string
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "SOL005_def.yaml#/definitions/Identifier"
      timestamp:
        description: >
          Date-time of the generation of the notification.
      nsInstanceId:
        description: >
          The created NS instance identifier
        $ref: "SOL005_def.yaml#/definitions/Identifier"
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "#/definitions/LccnLinks"
  NsScaleInfo:
    description: >
      This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.
    type: object
    required:
      - nsScalingAspectId
      - nsScaleLevelId
    properties:
      nsScalingAspectId:
        description: >
          Identifier of the NS scaling aspect.
        $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd"
      nsScaleLevelId:
        description: >
          Identifier of the NS scale level.
        $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd"
  ScaleNsData:
    description: >
      This type represents the information to scale a NS.
    type: object
    properties:
      vnfInstanceToBeAdded:
        description: >
          An existing VNF instance to be added to the NS
          instance as part of the scaling operation. If
          needed, the VNF Profile to be used for this VNF
          instance may also be provided.
        type: array
        items:
          $ref: "#/definitions/VnfInstanceData"
      vnfInstanceToBeRemoved:
        description: >
          The VNF instance to be removed from the NS
          instance as part of the scaling operation.
        type: array
        items:
          $ref: "SOL005_def.yaml#/definitions/Identifier"
      scaleNsByStepsData:
        description: >
          The information used to scale an NS instance by
          one or more scaling steps.
        $ref: "#/definitions/ScaleNsByStepsData"
      scaleNsToLevelData:
        description: >
          The information used to scale an NS instance to a target size.
        $ref: "#/definitions/ScaleNsToLevelData"
      additionalParamsForNs:
        description: >
          Allows the OSS/BSS to provide additional
          parameter(s) at the NS level necessary for the
          NS scaling (as opposed to the VNF level, which is
          covered in additionalParamForVnf).
      additionalParamsForVnf:
        description: >
          Allows the OSS/BSS to provide additional
          parameter(s) per VNF instance (as opposed to
          the NS level, which is covered in
          additionalParamforNs). This is for VNFs that are
          to be created by the NFVO as part of the NS
          scaling and not for existing VNF that are covered
          by the scaleVnfData.
        type: array
      locationConstraints:
        description: >
          The location constraints for the VNF to be
          instantiated as part of the NS scaling.
          An example can be a constraint for the VNF to be
          in a specific geographic location.
        type: array
        items:
          $ref: "#/definitions/VnfLocationConstraint"

  ScaleVnfData:
    description: >
      This type represents defines the information to scale a VNF instance 
      to a given level, or to scale a VNF instance by steps.
    type: object
    required:
      - vnfInstanceid
    properties:
      vnfInstanceid:
        description: >
          Identifier of the VNF instance being scaled.
        $ref: "SOL005_def.yaml#/definitions/Identifier"
      scaleVnfType:
        description: >
          Type of the scale VNF operation requested.
          Allowed values are:
          - SCALE_OUT
          - SCALE_IN
          - SCALE_TO_INSTANTIATION_LEVEL
          - SCALE_TO_SCALE_LEVEL(S)
          The set of types actually supported depends on the
          capabilities of the VNF being managed.
        type: string
          - SCALE_IN
          - SCALE_TO_INSTANTIATION_LEVEL
          - SCALE_TO_SCALE_LEVEL(S)
      scaleToLevelData:
        description: >
          The information used for scaling to a given level.
      scaleByStepData:
        description: >
          The information used for scaling by steps.
  ScaleNsByStepsData:
    description: >
      This type represents the information used to scale an NS instance by one or more scaling steps, with respect to a
      particular NS scaling aspect. Performing a scaling step means increasing/decreasing the capacity of an NS instance in a
      discrete manner, i.e. moving from one NS scale level to another. The NS scaling aspects and their corresponding NS
      scale levels applicable to the NS instance are declared in the NSD.
    type: object
    required:
      - scalingDirection
      - aspectId
    properties:
      scalingDirection:
        description: >
          The scaling direction. Possible values are:
          - SCALE_IN
          - SCALE_OUT.
        type: string
        enum:
          - SCALE_IN
          - SCALE_OUT
      aspectId:
        description: >
          The aspect of the NS that is requested to be scaled, as
          declared in the NSD.
        $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd"
      numberOfSteps:
        description: >
          The number of scaling steps to be performed. Defaults to 1.
        type: integer
        default: 1

  ScaleNsToLevelData:
    description: >
      This type represents the information used to scale an NS instance to a target size. The target size is either expressed as
      an NS instantiation level or as a list of NS scale levels, one per NS scaling aspect, of the current DF. The NS
      instantiation levels, the NS scaling aspects and their corresponding NS scale levels applicable to the NS instance are
      declared in the NSD.
    type: object
    properties:
      nsInstantiationLevel:
        description: >
          Identifier of the target NS instantiation level of the
          current DF to which the NS instance is requested to be scaled.
        $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd"
      nsScaleInfo:
        description: >
          For each NS scaling aspect of the current DF, defines
          the target NS scale level to which the NS instance is to be scaled.
        type: array
          $ref: "#/definitions/NsScaleInfo"
  ScaleToLevelData:
    description: >
      This type describes the information used to scale a VNF instance to a target size. The target size is either expressed as
      an instantiation level of that DF as defined in the VNFD, or given as a list of scale levels, one per scaling aspect of that
      DF. Instantiation levels and scaling aspects are declared in the VNFD. The NFVO shall then invoke the
      ScaleVnfToLevel operation towards the appropriate VNFM..
    type: object
    properties:
      vnfInstantiationLevelId:
        description: >
          Identifier of the target instantiation level of the current
          deployment flavor to which the VNF is requested to be scaled.
        $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd"
      vnfScaleInfo:
        description: >
          For each scaling aspect of the current deployment
          flavor, indicates the target scale level to which the VNF
          is to be scaled.
        type: array
      additionalParams:
        description: >
          Additional parameters passed by the NFVO as input to
          the scaling process, specific to the VNF being scaled.
        $ref: "SOL005_def.yaml#/definitions/KeyValuePairs"

  ScaleByStepData:
    description: >
      This type describes the information to scale a VNF instance by steps. 
      The NFVO shall then invoke the Scale VNF
      operation towards the appropriate VNFM.
    type: object
    required:
      - aspectId
    properties:
      aspectId:
        description: >
          Identifier of (reference to) the aspect of the VNF that is
          requested to be scaled, as declared in the VNFD.
        $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd"
      numberOfSteps:
        description: >
          Number of scaling steps. It shall be a positive number.
          Defaults to 1.
          The VNF provider defines in the VNFD whether or not a
          particular VNF supports performing more than one step
          at a time. Such a property in the VNFD applies for all
          instances of a particular VNF.
        type: integer
      additionalParams:
        description: >
          Additional parameters passed by the NFVO as input to
          the scaling process, specific to the VNF instance being scaled.
        $ref: "SOL005_def.yaml#/definitions/KeyValuePairs"

  NsInstanceSubscriptionFilter:
    description: >
      This type represents subscription filter criteria to match NS instances. 
      It shall comply with the provisions defined in
      Table 4.4.1.5-1.
    type: object
    properties:
      nsdIds:
        description: >
          If present, match NS instances that were created
          based on a NSD identified by one of the nsdId
          values listed in this attribute.
        type: array
        items:
          $ref: "SOL005_def.yaml#/definitions/Identifier"
      vnfdIds:
        description: >
          If present, match NS instances that contain VNF
          instances that were created based on a VNFD
          identified by one of the vnfdId values listed in
          this attribute.
        type: array
        items:
          $ref: "SOL005_def.yaml#/definitions/Identifier"
      pnfdIds:
        description: >
          If present, match NS instances that contain
          PNFs that are represented by a PNFD identified
          by one of the pnfdId values listed in this attribute.
        type: array
        items:
          $ref: "SOL005_def.yaml#/definitions/Identifier"
      nsInstanceIds:
        description: >
          If present, match NS instances with an instance
          identifier listed in this attribute.
        type: array
          $ref: "SOL005_def.yaml#/definitions/Identifier"
      nsInstanceNames:
        description: >
          If present, match NS instances with a NS
          Instance Name listed in this attribute.
        type: array
          $ref: "SOL005_def.yaml#/definitions/String"
  LcmOperationStateType:
    description: >
      Value | Description
      ------|------------
      PROCESSING | The LCM operation is currently in execution.
      COMPLETED | The LCM operation has been completed successfully.
      PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors.
      FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed.
      FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed.
      OLLING_BACK | The LCM operation is currently being rolled back.
      ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible.
    type: string
    enum:
      - PROCESSING
      - COMPLETED
      - PARTIALLY_COMPLETED
      - FAILED_TEMP
      - FAILED
      - ROLLING_BACK
      - ROLLED_BACK
  NsComponentType:
    description: >
      The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1.
      Value | Description
      ------|------------
      VNF | Represents the impacted NS component is a VNF.
      PNF | Represents the impacted NS component is a PNF.
      NS | Represents the impacted NS component is a nested NS.
    type: string
    enum:
      - VNF
      - PNF
  LcmOpNameForChangeNotificationType:
    description: >
      The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1.
      Value | Description
      ------|------------
      VNF_INSTANTIATE | Represents the "Instantiate VNF" LCM operation.
      VNF_SCALE | Represents the "Scale VNF" LCM operation.
      VNF_SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation.
      VNF_CHANGE_FLAVOUR | Represents the "Change VNF Flavor" LCM operation.
      VNF_TERMINATE | Represents the "Terminate VNF" LCM operation.
      VNF_HEAL | Represents the "Heal VNF" LCM operation.
      VNF_OPERATE | Represents the "Operate VNF" LCM operation.
      VNF_CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation.
      VNF_MODIFY_INFO | Represents the "Modify VNF Information" LCM operation.           
      NS_INSTANTIATE | Represents the "Instantiate NS" LCM operation
      NS_SCALE | Represents the "Scale NS" LCM operation.
      NS_UPDATE | Represents the "Update NS" LCM operation.
      NS_TERMINATE | Represents the "Terminate NS" LCM operation.
      NS_HEAL | Represents the "Heal NS" LCM operation.
    type: string
    enum:
      - VNF_INSTANTIATE
      - VNF_SCALE
      - VNF_CHANGE_FLAVOUR
      - VNF_TERMINATE
      - VNF_HEAL
      - VNF_OPERATE
      - VNF_CHANGE_EXT_CONN
      - VNF_MODIFY_INFO
      - NS_INSTANTIATE
      - NS_SCALE
      - NS_TERMINATE
      - NS_HEAL
  LcmOpOccStatusForChangeNotificationType:
    description: >
      The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management
      operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the
      provisions defined in Table 6.5.4.7-1.
      Value | Description
      ------|------------
      START | The impact on the NS component is identified.
      COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully.
      PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component.
      FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component.
      ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.
    type: string
    enum:
      - START
      - COMPLETED
      - FAILED
      - ROLLED_BACK