R3 - API Documentation Enterprise Application on Lightweight 5G Telco Edge (EALTEdge)

Introduction

As part of this release EALTEdge Blueprint are releasing few API's which can be used by other Akraino Blueprints or Non Akraino Blueprints / Projects. The API's given are for the MM3 and MP1 Interface.

These APIs are in compliance with the API Standards defined by ETSI in Multi-access Edge Computing (MEC); MEC Management; Part 2: Application lifecycle, rules and requirements management. (https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf) and Multi-access Edge Computing (MEC); Edge Platform Application Enablement (https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf)


In this release EALTEdge are exposing API's related to :- 

  1. Application Life Cycle Management
  2. MEC Service Management.

API Definitions

Application Life Cycle Management

Create Application Instance

1.API NameCreate Application InstanceType : POST Interface : MM3
DescriptionThe POST method is used to create an application instance resource, which refers to the procedure of "creating application instance resource operation"

Resource URI/ealtedge/mepm/app_lcm/v1/app_instances
Request Body Parameters
Parameter NameCardinalityTypeDescription

appDId

1StringApplication Description ID
appInstancename1StringApplication Instance Name

appInstanceDescriptor

1StringApplication Instance Descriptor
Response Codes201
Response Parameters
Parameter NameCardinalityTypeDescription
AppInstanceInfo1ComplexApplication Instance Info

Get Application Instance

2.API Name / CategoryApplication Instance Info Type : GETInterface : MM3
DescriptionThe GET method retrieves the information of an individual application instance via reading an individual application instance resource, which is used by the procedure of "query application instance information operation"

Resource URI/ealtedge/mepm/app_lcm/v1/app_instances/{appInstanceId}
Request Body Parameters - None

Response Codes201
Response Parameters
Parameter NameCardinalityTypeDescription / Example
AppInstanceInfo1ComplexApplication Instance Info

Delete Application Instance

3.API Name: Delete Application InstanceType : DELETEInterface : MM3
DescriptionThe DELETE method deletes an individual application instance resource, which refers to the procedure of "delete application instance identifier operation"
Resource URI/ealtedge/mepm/app_lcm/v1/app_instances/{appInstanceId}
Request Body Parameters - None

Response Codes204
Response Parameters - No Content

Instantiate Application

4.API Name: Instantiate ApplicationType : POST 

Interface : MM3

DescriptionThis resource represents the task of instantiating an application instance. The client can use this resource to instantiate an application instance. 
Resource URI/ealtedge/mepm/app_lcm/v1/app_instances/{appInstanceId}/instantiate 
Request Body Parameters
Attribute NameCardinalityTypeDescription

#InstantiateAppRequest

1ComplexRequest parameters of the "Instantiate Application" operation

Response Codes202 -  Accepted. The request was accepted for processing, but the processing has not yet been completed
Response Parameters - Response Body is Empty

Terminate Application

5.API Name: Terminate ApplicationType : POST 

Interface : MM3

DescriptionThis resource represents the task of terminating an application instance. The client can use this resource to terminate an application instance
Resource URI/ealtedge/mepm/app_lcm/v1/app_instances/{appInstanceId}/terminate
Request Body Parameters
NameCardinalityTypeDescription

#TerminateAppRequest                     

1Complex

Response Codes202 -  Accepted. The request was accepted for processing, but the processing has not yet been completed
Response Parameters - Response Body is Empty


MEC Service Management

Get Service List

1.API NameGet Service ListType : GETInterface : MP1
DescriptionTo get the List of all the Services Registered in MEP services

/ealtedge/mep/mec_service_mgmt/v1/services
Request Body Parameters - No Parameters
Response Codes201
Response Parameters
Parameter NameCardinalityTypeDescription




Get Service

2.API NameGet Service ID InformationType : GETInterface : MP1
DescriptionGet Service Information of a specific service. Service Id is passed in the request URI
Resource URI/ealtedge/mep/mec_service_mgmt/v1/services/serviceId
Request Body Parameters - No Parameters
Response Codes201
Response Parameters
Parameter NameCardinalityTypeDescription




Service Registration

3.API NameService RegistrationType : POSTInterface : MP1
DescriptionThis method is used to create a mecService resource that is associated with the application instance. This method is typically used in "service availability update and new service registration" procedure
Resource URI/ealtedge/mec_service_mgmt/v1/applications/{appInstanceId}/services
Request Body Parameters
Parameter NameCardinalityTypeDescription
ServiceInfo1Complex
Response Codes201 : Created
Response Parameters
Parameter NameCardinalityTypeDescription
ServiceInfo1ComplexUpon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource.
4.API NameService Availability InformationType : GETInterface : MP1
DescriptionThis method retrieves information about a list of MEC Service resources that is associated with an application instance. This method is typically used in "service availability query" procedure
Resource URI/ealtedge/mec_service_mgmt/v1/applications/{appInstanceId}/services
Request Body Parameters – None
Response Codes201 : Created
Response Parameters
Parameter NameCardinalityTypeDescription
ServiceInfo0..NComplexUpon success, a response body containing an array of the mecServices is returned.

Service Management Subscription

5.API NameFetch all Subscription InformationType : GETInterface : MP1
DescriptionThe GET method may be used to request information about all subscriptions for this requester. Upon success, the response contains payload body with all the subscriptions for the requester
Resource URI/ealtedge/mec_service_mgmt/v1/applications/{appInstanceId}/subscriptions
Request Body Parameters - None
Response Codes200 : OK
Response Parameters
Parameter NameCardinalityTypeDescription
SubscriptionLinkList1ComplexUpon success, a response body containing the list of links to the requested subscriptions is returned.

Service Subscription

6.API NameNew service SubscriptionType : POSTInterface : MP1
DescriptionThe POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains payload body describing the created subscription. This method is typically used in "Subscribing to service availability event notifications" procedure
Resource URI/ealtedge/mec_service_mgmt/v1/applications/{appInstanceId}/subscriptions
Request Body Parameters
Parameter NameCardinalityTypeDescription
SerAvailabilityNotificatio nSubscription1ComplexPayload body in the request contains a subscription to the MEC service availability notifications that is to be created.
Response Codes201 : Created
Response Parameters
Parameter NameCardinalityTypeDescription
SerAvailabilityNotificatio nSubscription1ComplexUpon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created subscription resource.

Individual Service Management Subscription

7.API NameSingle Subscription InformationType : GETInterface : MP1
DescriptionThe GET method requests information about a subscription for this Requestor. Upon success, the response contains payload body with the subscription for the Requestor
Resource URI/ealtedge/mec_service_mgmt/v1/applications/{appInstanceId}/subscriptions/{subscriptionId}
Request Body Parameters - None
Response Codes201
Response Parameters
Parameter NameCardinalityTypeDescription
SerAvailabilityNotification Subscription1ComplexUpon success, a response body containing the requested subscription is returned.

Individual Service Management Deletion

8.API NameDelete Individual SubscriptionType : DELETEInterface : MP1
DescriptionThis method is typically used in "Unsubscribing from event notifications" procedure
Resource URI/ealtedge/mec_service_mgmt/v1/applications/{appInstanceId}/subscriptions/{subscriptionId}
Request Body Parameters - None
Response Codes204 : No content
Response Parameters - None

Get Service Information

9.API NameGet Service InformationType : GETInterface : MP1
DescriptionThis method retrieves information about a mecService resource that is associated with an application instance. This method is typically used in "service availability query"
Resource URI/ealtedge/mec_service_mgmt/v1/applications/{appInstanceId}/services/{serviceId}
Request Body Parameters - None
Response Codes200: OK
Response Parameters
Parameter NameCardinalityTypeDescription
ServiceInfo1ComplexIt is used to indicate nonspecific success. The response body contains a representation of the resource.

Update Service Information

10.API NameUpdate Service InformationType : GETInterface : MP1
DescriptionThis method updates the information about a mecService resource that is associated with the application instance
Resource URI/ealtedge/mec_service_mgmt/v1/applications/{appInstanceId}/services/{serviceId}
Request Body Parameters - None
Parameter NameCardinalityTypeDescription
ServiceInfo1ComplexIt is used to indicate nonspecific success. The response body contains a representation of the resource.
Response Body Parameters - None
Response Codes200: OK
Parameter NameCardinalityTypeDescription
ServiceInfo1ComplexUpon success, a response body containing data type describing the updated ServiceInfo is returned.

Service Deregistration Information

11.API NameService DeregistrationType : DELETEInterface : MP1
DescriptionThis method deletes a MEC Service resource. This method is typically used in the service deregistration procedure
Resource URI/ealtedge/mec_service_mgmt/v1/applications/{appInstanceId}/services/{serviceId}
Request Body Parameters - None
Response Codes204 : No Content
Response Parameters
Parameter NameCardinalityTypeDescription




Types

ApplnstanceInfo

ApplnstanceInfo Parameters

Attribute NameCardinalityData TypeDescription
ID1String

Application Instance Description

Ex : ID1

AppInstanceName0..1StringApplication Descriptor ID
AppInstanceDescription0..1String

Application Provider

Ex: Huawei

AppDID1String

Application Name 

Ex : Face_Recognition.

AppProvider1String
AppName1StringDeploy Type ; Ex : Helm
AppSoftVersion1String

Application Package ID

Ex: b1bb0ce7-ebca-4fa7-95ed-4840d70a1177

AppDVersion1String

Instantiation State.

Ex : NOT_INSTANTIATED

InstantiateAppRequest

InstantiateAppRequest Parameters
Attribute NameCardinalityData TypeDescription
selectedMECHostInfo1..NMECHostInformation

Describes the information of selected host for the application instance

TerminateAppRequest

TerminateAppRequest Parameters

Attribute NameCardinalityData TypeDescription
terminationType1Enum

Indicates whether forceful or graceful termination is
requested. See note.
• FORCEFUL: it will shut down the application
instance and release the resources immediately
after accepting the request. See note.
• GRACEFUL: it will first arrange to take the
application instance out of service after
accepting the request. Once the operation of
taking the application instance out of service
finishes or once the timer value specified in the
"gracefulTerminationTimeout" attribute expires,
it will shut down the application instance and
release the resources.

gracefulTerminationTimeout0..1IntegerThis attribute is only applicable in case of graceful
termination. It defines the time to wait for the
application instance to be taken out of service before
shutting down the application and releasing the
resources.
The unit is seconds.
If not given and the "terminationType" attribute is set to
"GRACEFUL", it is expected to wait for the successful
taking out of service of the application, no matter how
long it takes, before shutting down the application and
releasing the resources.

ServiceInfo

ServiceInfo Parameters

Attribute NameCardinalityData TypeDescription
serInstanceId0..1SerInstanceIdIdentifier of the service instance assigned by the MEPM/MEC platform. For the uniqueness of the identifier across the MEC system, UUID format [i.7] is recommended. Shall be absent in POST requests, and present otherwise.
serName1serNameThe name of the service. This is how the service producing MEC application identifies the service instance it produces.
serCategory0..1CategoryRefA Category reference. (The category resource is used to group product offerings, service and resource candidates in logical containers. Categories may contain other categories and/or product offerings, resource or service candidates.) (see note 1) For the serCategory, the example values include: 1. "RNI" 2. "Location" 3. "Bandwidth Management".
version1StringVersion of the Service
state1ServiceStateContains the service state.
transportId0..1StringIdentifier of the platform-provided transport to be used by the service. Valid identifiers may be obtained using the "Transport information query" procedure. May be present in POST requests to signal the use of a platform-provided transport for the service, and shall be absent otherwise.
transportInfo0..1TransportInfoInformation regarding the transport used by the service. May be present in POST requests to signal the use of an application-provided transport for the service, and shall be present otherwise.
serializer1Serializer TypeIndicate the supported serialization format of the service
scopeOfLocality0..1LocalityTypeThe scope of locality as expressed by "consumedLocalOnly" and "isLocal". If absent, defaults to MEC_HOST
consumedLocalOnly0..1BooleanIndicate whether the service can only be consumed by the MEC applications located in the same locality (as defined by scopeOfLocality) as this service instance (TRUE) or not (FALSE). Default to TRUE if absent.
isLocal0..1BooleanIndicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application (TRUE) or not (FALSE). Default to TRUE if absent.

TransportInfo

TransportInfo Parameters

Attribute NameCardinalityData TypeDescription
id1stringThe identifier of this transport.
name1stringThe name of this transport. .
description0..1stringHuman-readable description of this transport.
type1#TransportTypeType of the transport
protocol1stringThe name of the protocol used. Shall be set to "HTTP" for a REST API
version1StringThe version of the protocol used.
endpoint1EndPointInfoInformation about the endpoint to access the transport.
security1SecurityInfoIndicate the supported serialization format of the service
implSpecificInfo0..1Not SpecifiedAdditional implementation specific details of the transport.

Enumeration

TransportType

TransportType Parameters

Enumeration ValueDescription
REST_HTTPRESTful API using HTTP (as defined in IETF RFC 7230 [11] and related specifications).
MB_TOPIC_BASEDTopic-based message bus which routes messages to receivers based on subscriptions, if a pattern passed on subscription matches the topic of the message. EXAMPLE: MQTT (see [i.4])
MB_ROUTINGRouting-based message bus which routes messages to receivers based on subscriptions, if a key passed on subscription is equal to the key of the message.
MB_PUBSUBPublish-subscribe based message bus which distributes messages to all subscribers.
RPCRemote procedure call. EXAMPLE: GRPC
RPC_STREAMINGRemote procedure call supporting streams of requests and responses. EXAMPLE: GRPC
WEBSOCKETWebsockets as defined in IETF RFC 6455 [12].