MEC021_AppMobilityService.yaml 54.6 KB
Newer Older
      - callbackReference
      - filterCriteria
      - subscriptionType
      type: object
Elian Kraja's avatar
Elian Kraja committed
      properties:
        _links:
          $ref: '#/components/schemas/AdjacentAppInfoSubscription.links'
        callbackReference:
          type: string
          format: uri
          description: URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response.
        requestTestNotification:
          type: boolean
          description: Shall be set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, specified in ETSI GS MEC 009, as described in clause 6.12a.
        websockNotifConfig:
          $ref: '#/components/schemas/WebsockNotifConfig'
Elian Kraja's avatar
Elian Kraja committed
        expiryDeadline:
          description: Identifies a boundary after which the subscription will expire.
          $ref: '#/components/schemas/TimeStamp'
Elian Kraja's avatar
Elian Kraja committed
        filterCriteria:
          $ref: '#/components/schemas/AdjacentAppInfoSubscription.filterCriteria'
        subscriptionType:
          const: AdjacentAppInfoSubscription
Elian Kraja's avatar
Elian Kraja committed
          type: string
          description: Shall be set to "AdjacentAppInfoSubscription".
          examples:
          - AdjacentAppInfoSubscription
    AdjacentAppInstanceInfo:
      title: AdjacentAppInstanceInfo
Elian Kraja's avatar
Elian Kraja committed
      required:
      - appDId
      - appInstanceCommLink
      - appInstanceId
Elian Kraja's avatar
Elian Kraja committed
      type: object
      properties:
        appDId:
          type: string
          description: Identifier of the application descriptor.
Elian Kraja's avatar
Elian Kraja committed
        appInstanceCommLink:
          type: array
          items:
            $ref: '#/components/schemas/CommunicationInterface'
          description: It specifies the communication interface of application instance.
Elian Kraja's avatar
Elian Kraja committed
        appInstanceId:
          type: string
          description: Identifier of the application instance.
Elian Kraja's avatar
Elian Kraja committed
        mecHostInformation:
          $ref: '#/components/schemas/MECHostInformation'
        registeredInstanceId:
          type: string
          description: dentifier of the application instance that registers to the AMS, which is instantiated from the application descriptor identified by the attribute "appDId".
Elian Kraja's avatar
Elian Kraja committed
    AppMobilityServiceLevel:
      title: AppMobilityServiceLevel
Elian Kraja's avatar
Elian Kraja committed
      enum:
      - APP_MOBILITY_NOT_ALLOWED
      - APP_MOBILITY_WITH_CONFIRMATION
      - APP_MOBILITY_WITHOUT_CONFIRMATION
Elian Kraja's avatar
Elian Kraja committed
      type: string
      description: This attribute provides an option for the application instance (server) to communicate with the application client before relocating this application instance to another MEC host.
      examples:
      - APP_MOBILITY_NOT_ALLOWED
Elian Kraja's avatar
Elian Kraja committed
    CommunicationInterface.IpAddresses:
      title: CommunicationInterface.IpAddresses
      required:
      - host
      - port
      type: object
      properties:
        host:
          type: string
        port:
          type: integer
          contentEncoding: int32
Elian Kraja's avatar
Elian Kraja committed
    CommunicationInterface:
      title: CommunicationInterface
      type: object
Elian Kraja's avatar
Elian Kraja committed
      properties:
        ipAddresses:
          type: array
          items:
            $ref: '#/components/schemas/CommunicationInterface.IpAddresses'
          description: ''
Elian Kraja's avatar
Elian Kraja committed
    MobilityProcedureSubscription.links:
      title: MobilityProcedureSubscription.links
      required:
      - self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'
Elian Kraja's avatar
Elian Kraja committed
    MobilityProcedureSubscription.filterCriteria:
      title: MobilityProcedureSubscription.filterCriteria
      type: object
      properties:
        appInstanceId:
          type: string
          description: Identifier of the application instance that registers the Application Mobility Service.
        associateId:
          type: array
          items:
            $ref: '#/components/schemas/AssociateId'
          description: 0 to N identifiers to associate the information for specific UE(s) and flow(s).
        mobilityStatus:
          type: array
          items:
            $ref: '#/components/schemas/MobilityStatus'
          description: In case mobilityStatus is not included in the subscription request, the default value 1 = INTER_HOST_MOBILITY_TRIGGERED shall be used and included in the response.
      description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
    
    WebsockNotifConfig:
      type: object
      properties:
        websocketUri:
          description: Set by AMS to indicate to the service consumer the Websocket URI to be used for delivering notifications.
          type: string
          format: uri
        requestWebsocketUri:
          type: boolean
          description: Set to true by the service consumer to indicate that Websocket delivery is requested.
        
Elian Kraja's avatar
Elian Kraja committed
    MobilityProcedureSubscription:
      title: MobilityProcedureSubscription
      required:
      - filterCriteria
      - subscriptionType
Elian Kraja's avatar
Elian Kraja committed
      type: object
      properties:
        _links:
          $ref: '#/components/schemas/MobilityProcedureSubscription.links'
        callbackReference:
          type: string
          format: uri
          description: URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response.
        requestTestNotification:
          type: boolean
          description: Shall be set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, specified in ETSI GS MEC 009, as described in clause 6.12a.
        websockNotifConfig:
          description: Provides details to negotiate and signal the use of a Websocket connection between AMS and the service consumer for notifications.
          $ref: '#/components/schemas/WebsockNotifConfig'
Elian Kraja's avatar
Elian Kraja committed
        expiryDeadline:
          description: Identifies a boundary after which the subscription will expire.
Elian Kraja's avatar
Elian Kraja committed
          $ref: '#/components/schemas/TimeStamp'
        filterCriteria:
          $ref: '#/components/schemas/MobilityProcedureSubscription.filterCriteria'
        subscriptionType:
          const: MobilityProcedureSubscription
Elian Kraja's avatar
Elian Kraja committed
          type: string
          description: Shall be set to "MobilityProcedureSubscription".
          examples:
          - MobilityProcedureSubscription
    MobilityProcedureNotification:
      title: MobilityProcedureNotification
      required:
        - notificationType
        - associateId
        - mobilityStatus
        - links
      properties:
        notificationType:
          type: string
          description: Shall be set to "MobilityProcedureNotification".
        timeStamp:
          description: Date and time of the generation of the notification
          $ref: '#/components/schemas/TimeStamp'
        associateId:
           type: array
           description: 1 to N identifiers to associate the information for specific
           items:
             $ref: '#/components/schemas/AssociateId'
        mobilityStatus:
          description: Indicate the status of the UE mobility. Values are defined as following 1 = INTERHOST_MOVEOUT_TRIGGERED. 2 = INTERHOST_MOVEOUT_COMPLETED. 3 = INTERHOST_MOVEOUT_FAILED. Other values are reserved.
          $ref: '#/components/schemas/MobilityStatus'
        targetAppInfo:
          type: object
          required:
            - appInstanceId
          properties:
            appInstanceId:
              type: string
              description: Identifiers of the target application instance.
            commInterface:
              description: If present, it specifies the communication interface of the application instance.
              $ref: '#/components/schemas/CommunicationInterface'
        _links:
            $ref: '#/components/schemas/LinkType'

    AdjacentAppInfoNotification:
      title: AdjacentAppInfoNotification
      required:
        - notificationType
        - _links
      properties:
        notificationType:
          type: string
          description: Shall be set to "AdjacentAppInfoNotification".
        timeStamp:
          description: Date and time of the generation of the notification
          $ref: '#/components/schemas/TimeStamp'
        associateId:
           type: array
           description: 1 to N identifiers to associate the information for specific
           items:
             $ref: '#/components/schemas/AssociateId'
        adjacentAppInfo:
          type: object
          required:
            - appInstanceId
            - commInterface
          properties:
            appInstanceId:
              type: string
              description: Identifier of the adjacent application instance.
            commInterface:
              type: array
              description: If present, it represents the communication interface(s) information of the application instance.
              items:
               $ref: '#/components/schemas/CommunicationInterface'
        _links:
            $ref: '#/components/schemas/LinkType'

    ExpiryNotification:
      title: ExpiryNotification
      required:
        - notificationType
        - _links
        - expiryDeadline
      properties:
        notificationType:
          type: string
          description: Shall be set to "ExpiryNotification".
        timeStamp:
          description: Date and time of the generation of the notification
          $ref: '#/components/schemas/TimeStamp'
        _links:
           type: object
           required:
             - subscription
           properties:
              subscription:
                $ref: '#/components/schemas/LinkType'

        expiryDeadline:
          description: The boundary value setting in the subscription request.
          $ref: '#/components/schemas/TimeStamp'
    TestNotification:
      title: TestNotification
      required:
        - notificationType
        - _links
      properties:
        notificationType:
          type: string
          description: Shall be set to "TestNotification".
        _links:
           type: object
           description: Hyperlink related to the resource.
           required:
             - subscription
           properties:
              subscription:
                description: URI identifying the subscription for the test notification.
                $ref: '#/components/schemas/LinkType'
Elian Kraja's avatar
Elian Kraja committed
    MobilityStatus:
      title: MobilityStatus
Elian Kraja's avatar
Elian Kraja committed
      enum:
      - INTERHOST_MOVEOUT_TRIGGERED
      - INTERHOST_MOVEOUT_COMPLETED
      - INTERHOST_MOVEOUT_FAILED
      type: string
      description: Indicate the status of the UE mobility
      examples:
      - INTERHOST_MOVEOUT_TRIGGERED
Elian Kraja's avatar
Elian Kraja committed
    RegistrationInfo.deviceInformation:
      title: RegistrationInfo.deviceInformation
      required:
      - associateId
      type: object
      properties:
        associateId:
          $ref: '#/components/schemas/AssociateId'
        appMobilityServiceLevel:
          $ref: '#/components/schemas/AppMobilityServiceLevel'
        contextTransferState:
          $ref: '#/components/schemas/contextTransferState'
Elian Kraja's avatar
Elian Kraja committed
    RegistrationInfo.serviceConsumerId:
      title: RegistrationInfo.serviceConsumerId
      type: object
      properties:
        appInstanceId:
          type: string
          description: If present, it represents the identifier of the application instance registering the Application Mobility Service.
        mepId:
          type: string
          description: If present, it represents the identifier of the MEC platform registering the Application Mobility Service.
      description: The identifier of service consumer requesting the application mobility service, i.e. either the application instance ID or the MEC platform ID.
Elian Kraja's avatar
Elian Kraja committed
    RegistrationInfo:
      title: RegistrationInfo
      required:
      - serviceConsumerId
Elian Kraja's avatar
Elian Kraja committed
      type: object
      properties:
        appMobilityServiceId:
          type: string
          description: The identifier of registered application mobility service. Shall be absent in POST requests, and present otherwise.
Elian Kraja's avatar
Elian Kraja committed
        deviceInformation:
Elian Kraja's avatar
Elian Kraja committed
          items:
            $ref: '#/components/schemas/RegistrationInfo.deviceInformation'
          description: If present, it specifies the device served by the application instance which is registering is registering the Application Mobility Service.
Elian Kraja's avatar
Elian Kraja committed
        expiryTime:
          type: integer
          description: If present, it indicates the time of Application Mobility Service expiration from the time of registration accepted.The value "0" means infinite time, i.e. no expiration.The unit of expiry time is one second.
          contentEncoding: int32
Elian Kraja's avatar
Elian Kraja committed
        serviceConsumerId:
          $ref: '#/components/schemas/RegistrationInfo.serviceConsumerId'
    SubscriptionLinkList.links:
      title: SubscriptionLinkList.links
      description: List of hyperlinks related to the resource.
      required:
      - self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'  
          description: URI of this resource.
        subscription:
          type: array
          description: The service consumer’s subscriptions.
          items:
           $ref: '#/components/schemas/SubscriptionLinkList.subscription'
Elian Kraja's avatar
Elian Kraja committed
    SubscriptionLinkList.subscription:
      title: SubscriptionLinkList.subscription
      required:
      - href
      - subscriptionType
      type: object
      properties:
        href:
          type: string
          description: The URI referring to the subscription.
        subscriptionType:
          $ref: '#/components/schemas/subscriptionType'
Elian Kraja's avatar
Elian Kraja committed
    SubscriptionLinkList:
      title: SubscriptionLinkList
      required:
      - _links
      type: object
      properties:
        _links:
          $ref: '#/components/schemas/SubscriptionLinkList.links'
          description: Hyperlinks related to the resource.

Elian Kraja's avatar
Elian Kraja committed
    contextTransferState:
      title: contextTransferState
Elian Kraja's avatar
Elian Kraja committed
      enum:
      - NOT_TRANSFERRED
      - USER_CONTEXT_TRANSFER_COMPLETED
      type: string
      description: If present, it represents the state of transferring the user context to another application instance.
      examples:
      - NOT_TRANSFERRED
Elian Kraja's avatar
Elian Kraja committed
    subscriptionType:
      title: subscriptionType
Elian Kraja's avatar
Elian Kraja committed
      enum:
      - 0
      - 1
      - 2
      type: integer
      description: 'Numeric value (0 - 255) corresponding to specified type of subscription as following: 0 = RESERVED. 1 = MOBILITY_PROCEDURE. 2 = ADJACENT_APPINFO.'
      examples:
      - 0
Elian Kraja's avatar
Elian Kraja committed
    AssociateId:
      title: AssociateId
Elian Kraja's avatar
Elian Kraja committed
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type'
        value:
          type: string
          description: Value for the identifier.
Elian Kraja's avatar
Elian Kraja committed
    LinkType:
      title: LinkType
Elian Kraja's avatar
Elian Kraja committed
      required:
      - href
      type: object
Elian Kraja's avatar
Elian Kraja committed
      properties:
        href:
          type: string
          description: The URI referring to the subscription.
      description: "'This data type represents a type of link'"
Elian Kraja's avatar
Elian Kraja committed
    TimeStamp:
      title: TimeStamp
Elian Kraja's avatar
Elian Kraja committed
      required:
      - seconds
      - nanoSeconds
      type: object
Elian Kraja's avatar
Elian Kraja committed
      properties:
        seconds:
          type: integer
          description: "'The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.'"
          contentEncoding: int32
Elian Kraja's avatar
Elian Kraja committed
        nanoSeconds:
          type: integer
          description: "'The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.'"
          contentEncoding: int32
      description: "'This data type represents the time stamp as Unix-time since January 1, 1970, 00:00:00 UTC'"
Elian Kraja's avatar
Elian Kraja committed
    MECHostInformation:
      title: MECHostInformation
Elian Kraja's avatar
Elian Kraja committed
      required:
      - hostId
      type: object
Elian Kraja's avatar
Elian Kraja committed
      properties:
        hostName:
          type: string
          description: Human-readable name of MEC host.
Elian Kraja's avatar
Elian Kraja committed
        hostId:
          description: "'This data type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key-value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259'"
Elian Kraja's avatar
Elian Kraja committed
    ProblemDetails:
      title: ProblemDetails
      type: object
Elian Kraja's avatar
Elian Kraja committed
      properties:
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem
Elian Kraja's avatar
Elian Kraja committed
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence of the problem
Elian Kraja's avatar
Elian Kraja committed
        status:
          type: integer
          description: The HTTP status code for this occurrence of the problem
          contentEncoding: int32
Elian Kraja's avatar
Elian Kraja committed
        title:
          type: string
          description: A short, human-readable summary of the problem type
Elian Kraja's avatar
Elian Kraja committed
        type:
Elian Kraja's avatar
Elian Kraja committed
          description: A URI reference according to IETF RFC 3986 that identifies the problem type
    Type:
      title: Type
      enum:
      - UE_IPv4_ADDRESS
      - UE_IPV6_ADDRESS
      - NATED_IP_ADDRESS
      - GTP_TEID
      type: string
      description: Numeric value (0-255) corresponding to specified type of identifier
      examples:
      - UE_IPv4_ADDRESS
security: