Commit d24c506c authored by Muhammad Umair Zafar's avatar Muhammad Umair Zafar
Browse files

Add missing attributes in AppPkgMgmt API

parent 577bb75f
Loading
Loading
Loading
Loading
Loading
+562 −68

File changed.

Preview size limit exceeded, changes collapsed.

+234 −0
Original line number Original line Diff line number Diff line
@@ -1063,6 +1063,17 @@ components:
          items:
          items:
            type: string
            type: string
          description: Identifies version(s) of MEC system compatible with the MEC application described in this version of the AppD. The value shall be formatted as comma-separated list of strings. Each entry shall have the format <x>.<y>.<z> where <x>, <y> and <z> are decimal numbers representing the version of the present document. Whitespace between list entries shall be trimmed before validation.
          description: Identifies version(s) of MEC system compatible with the MEC application described in this version of the AppD. The value shall be formatted as comma-separated list of strings. Each entry shall have the format <x>.<y>.<z> where <x>, <y> and <z> are decimal numbers representing the version of the present document. Whitespace between list entries shall be trimmed before validation.
        virtualStorageDescriptor:
        type: array
        items:
          $ref: '#/components/schemas/VirtualStorageDescriptor'
        description: Defines descriptors of virtual storage resources to be used by the MEC application. 
        userContextTransferCapability:
          type: string
          $ref: '#/components/schemas/UserContextTransferCapability'
        appNetworkPolicy:
          type: string
          $ref: '#/components/schemas/AppNetworkPolicy'
        swImageDescriptor:
        swImageDescriptor:
          type: array
          type: array
          items:
          items:
@@ -1126,6 +1137,229 @@ components:
            Array of KVP requirements for VNF-specific parameters to be passed when invoking the
            Array of KVP requirements for VNF-specific parameters to be passed when invoking the
            OperateVnf operation. See note.
            OperateVnf operation. See note.


    AppNetworkPolicy:
      type: object
      properties:
        steeredNetwork:
          type: object
          properties:
            cellularNetwork:
              type: boolean
              description: If present and the application prefers to use a cellular network, set to true. Otherwise, set to false.
            wi-fiNetwork:
              type: boolean
              description: If present and the application prefers to use a Wi-Fi network, set to true. Otherwise, set to false.
            fixedAccessNetwork:
              type: boolean
              description: If present and the application prefers to use a fixed access network, set to true. Otherwise, set to false.
          description: Option for the application to specify a type of network to carry its traffic.
      required:
        - steeredNetwork
      description: Network policy in the application instantiation and operation.

    UserContextTransferCapability:
      type: object
      properties:
        statefulApplication:
          type: boolean
          description: If the application is stateful, this attribute shall be set to true. Otherwise, set to false.
        userContextTransferSupport:
          type: boolean
          nullable: true
          description: This attribute shall be present if the application is stateful and absent otherwise. If the application supports user context transfer, set to true. Otherwise, set to false.
      required:
        - statefulApplication
      description: Information about user context transfer capability of the application.

    VirtualStorageDescriptor:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of this VirtualStorageDesc in the VNFD.
        typeOfStorage:
          type: string
          enum:
          - BLOCK
          - OBJECT
          - FILE
          description: Type of virtualized storage resource.
        blockStorageData:
          $ref: '#/components/schemas/BlockStorageData'
          description: Details of block storage. Required when typeOfStorage is set to "BLOCK".
        objectStorageData:
          $ref: '#/components/schemas/ObjectStorageData'
          description: Details of object storage. Required when typeOfStorage is set to "OBJECT".
        fileStorageData:
          $ref: '#/components/schemas/FileStorageData'
          description: Details of file storage. Required when typeOfStorage is set to "FILE".
        nfviMaintenanceInfo:
          $ref: '#/components/schemas/NfviMaintenanceInfo'
          description: Information on NFVI operation and maintenance rules for instances based on this VirtualStorageDesc.
        perVnfcInstance:
          type: boolean
          description: Indicates whether the virtual storage resource should be instantiated per VNFC instance.

    NfviMaintenanceInfo:
      type: object
      properties:
        impactNotificationLeadTime:
          type: number
          description: The minimum notification lead time requested for upcoming impact of the virtualised resource or their group.
        isImpactMitigationRequested:
          type: boolean
          description: Indicates if it is requested to provide virtualised resource(s) of the same characteristics as the impacted ones to compensate for the impact.
        supportedMigrationType:
          type: array
          items:
            type: string
          enum:
          - NO_MIGRATION
          - OFFLINE_MIGRATION
          - LIVE_MIGRATION
          description: Specifies the allowed migration types in order of preference in case of an impact.
        maxUndetectableInterruptionTime:
          type: number
          description: Specifies the maximum interruption time that can go undetected at the VNF level during live migration.
        minRecoveryTimeBetweenImpacts:
          type: number
          description: Specifies the time required by the group to recover from an impact, indicating the minimum time between consecutive impacts of the group.
        maxNumberOfImpactedInstances:
          type: array
          items:
            $ref: '#/components/schemas/MaxNumberOfImpactedInstances'
          description: Specifies the maximum number of instances that can be impacted simultaneously within the group of virtualised resources for different group sizes.
        minNumberOfPreservedInstances:
          type: array
          items:
            $ref: '#/components/schemas/MinNumberOfPreservedInstances'
          description: Specifies the minimum number of instances which need to be preserved simultaneously within the group of virtualised resources for different group sizes.
    MaxNumberOfImpactedInstances:
      type: object
      properties:
        groupSize:
          type: integer
          description: Determines the size of the group for which the maxNumberOfImpactedInstances is specified.
        maxNumberOfImpactedInstances:
          type: integer
          description: The maximum number of instances that can be impacted simultaneously within the group of the specified size.
    MinNumberOfPreservedInstances:
      type: object
      properties:
        groupSize:
          type: integer
          description: Determines the size of the group for which the minNumberOfPreservedInstances is specified.
        minNumberOfPreservedInstances:
          type: integer
          description: The minimum number of instances which need to be preserved simultaneously within the group of the specified size.

    ObjectStorageData:
      type: object
      properties:
        maxSizeOfStorage:
          type: number
          description: Maximum size of virtualized storage resource in GB.
    FileStorageData:
      type: object
      properties:
        sizeOfStorage:
          type: number
          description: Size of virtualized storage resource in GB.
        fileSystemProtocol:
          type: string
          description: The shared file system protocol (e.g. NFS, CIFS).
        intVirtualLinkDesc:
          $ref: '#/components/schemas/VnfVirtualLinkDesc'
          description: Reference of the internal VLD which this file storage connects to.
    VirtualLinkDescFlavour:
      type: object
      properties:
        flavourId:
          type: string
          description: Identifies a flavour within a VnfVirtualLinkDesc.
        qos:
          $ref: '#/components/schemas/QoS'
          description: QoS of the VL.
      required:
      - flavourId

    QoS:
      type: object
      properties:
        latency:
          type: number
          description: Specifies the maximum latency in ms.
        packetDelayVariation:
          type: number
          description: Specifies the maximum jitter in ms.
        packetLossRatio:
          type: number
          description: Specifies the maximum packet loss ratio.
      required:
      - latency
      - packetDelayVariation

    ConnectivityType:
      type: object
      properties:
        layerProtocol:
          type: array
          items:
            type: string
          description: Specifies the protocols that the VL uses.
          enum:
          - Ethernet
          - MPLS
          - ODU2
          - IPV4
          - IPV6
          - Pseudo-Wire
          - Etc.
          minItems: 1
        flowPattern:
          type: string
          description: Specifies the flow pattern of the connectivity (Line, Tree, Mesh, etc.).
      required:
      - layerProtocol

    VnfVirtualLinkDesc:
      type: object
      properties:
        virtualLinkDescId:
          type: string
          description: Unique identifier of this internal VLD in VNFD.
        virtualLinkDescFlavour:
          type: array
          items:
            $ref: '#/components/schemas/VirtualLinkDescFlavour'
          description: Describes a specific flavour of the VL with specific bitrate requirements.
        connectivityType:
          $ref: '#/components/schemas/ConnectivityType'
          description: See clause 7.1.7.3.
        testAccess:
          type: array
          items:
            type: string
          description: Specifies test access facilities expected on the VL.
        description:
          type: string
          description: Provides human-readable information on the purpose of the VL.
        monitoringParameter:
          type: array
          items:
            $ref: '#/components/schemas/MonitoringParameter'
          description: Specifies the virtualised resource related performance metrics on VLD level to be tracked by the VNFM.
        nfviMaintenanceInfo:
          $ref: '#/components/schemas/NfviMaintenanceInfo'
          description: Provides information on the rules to be observed when an instance based on this VnfVirtualLinkDesc is impacted during NFVI operation and maintenance.
        externallyManaged:
          type: string
          enum:
          - REQUIRED
          - ALLOWED
          default: ALLOWED
          description: Specifies the intent of the VNF designer with respect to the internal VL instances created from this descriptor being externally managed.

    TerminateAppInstanceOpConfig:
    TerminateAppInstanceOpConfig:
      type: object
      type: object
      description: >
      description: >