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 :-
- Application Life Cycle Management
- MEC Service Management.
API Definitions
Application Life Cycle Management
Create Application Instance
1. | API Name | Create Application Instance | Type : POST | Interface : MM3 |
---|---|---|---|---|
Description | The 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 Name | Cardinality | Type | Description | |
appDId | 1 | String | Application Description ID | |
appInstancename | 1 | String | Application Instance Name | |
appInstanceDescriptor | 1 | String | Application Instance Descriptor | |
Response Codes | 201 | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
AppInstanceInfo | 1 | Complex | Application Instance Info |
Get Application Instance
2. | API Name / Category | Application Instance Info | Type : GET | Interface : MM3 |
---|---|---|---|---|
Description | The 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 Codes | 201 | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description / Example | |
AppInstanceInfo | 1 | Complex | Application Instance Info |
Delete Application Instance
3. | API Name: Delete Application Instance | Type : DELETE | Interface : MM3 | |
---|---|---|---|---|
Description | The 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 Codes | 204 | |||
Response Parameters - No Content |
Instantiate Application
4. | API Name: Instantiate Application | Type : POST | Interface : MM3 | |
---|---|---|---|---|
Description | This 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 Name | Cardinality | Type | Description | |
1 | Complex | Request parameters of the "Instantiate Application" operation | ||
Response Codes | 202 - 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 Application | Type : POST | Interface : MM3 | |
---|---|---|---|---|
Description | This 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 | ||||
Name | Cardinality | Type | Description | |
1 | Complex | |||
Response Codes | 202 - 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 Name | Get Service List | Type : GET | Interface : MP1 |
---|---|---|---|---|
Description | To get the List of all the Services Registered in MEP services | |||
/ealtedge/mep/mec_service_mgmt/v1/services | ||||
Request Body Parameters - No Parameters | ||||
Response Codes | 201 | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
Get Service
2. | API Name | Get Service ID Information | Type : GET | Interface : MP1 |
---|---|---|---|---|
Description | Get 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 Codes | 201 | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
Service Registration
3. | API Name | Service Registration | Type : POST | Interface : MP1 |
---|---|---|---|---|
Description | This 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 Name | Cardinality | Type | Description | |
ServiceInfo | 1 | Complex | ||
Response Codes | 201 : Created | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
ServiceInfo | 1 | Complex | Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource. |
4. | API Name | Service Availability Information | Type : GET | Interface : MP1 |
---|---|---|---|---|
Description | This 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 Codes | 201 : Created | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
ServiceInfo | 0..N | Complex | Upon success, a response body containing an array of the mecServices is returned. |
Service Management Subscription
5. | API Name | Fetch all Subscription Information | Type : GET | Interface : MP1 |
---|---|---|---|---|
Description | The 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 Codes | 200 : OK | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
SubscriptionLinkList | 1 | Complex | Upon success, a response body containing the list of links to the requested subscriptions is returned. |
Service Subscription
6. | API Name | New service Subscription | Type : POST | Interface : MP1 |
---|---|---|---|---|
Description | The 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 Name | Cardinality | Type | Description | |
SerAvailabilityNotificatio nSubscription | 1 | Complex | Payload body in the request contains a subscription to the MEC service availability notifications that is to be created. | |
Response Codes | 201 : Created | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
SerAvailabilityNotificatio nSubscription | 1 | Complex | Upon 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 Name | Single Subscription Information | Type : GET | Interface : MP1 |
---|---|---|---|---|
Description | The 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 Codes | 201 | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
SerAvailabilityNotification Subscription | 1 | Complex | Upon success, a response body containing the requested subscription is returned. |
Individual Service Management Deletion
8. | API Name | Delete Individual Subscription | Type : DELETE | Interface : MP1 |
---|---|---|---|---|
Description | This 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 Codes | 204 : No content | |||
Response Parameters - None |
Get Service Information
9. | API Name | Get Service Information | Type : GET | Interface : MP1 |
---|---|---|---|---|
Description | This 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 Codes | 200: OK | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
ServiceInfo | 1 | Complex | It is used to indicate nonspecific success. The response body contains a representation of the resource. |
Update Service Information
10. | API Name | Update Service Information | Type : GET | Interface : MP1 |
---|---|---|---|---|
Description | This 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 Name | Cardinality | Type | Description | |
ServiceInfo | 1 | Complex | It is used to indicate nonspecific success. The response body contains a representation of the resource. | |
Response Body Parameters - None | ||||
Response Codes | 200: OK | |||
Parameter Name | Cardinality | Type | Description | |
ServiceInfo | 1 | Complex | Upon success, a response body containing data type describing the updated ServiceInfo is returned. |
Service Deregistration Information
11. | API Name | Service Deregistration | Type : DELETE | Interface : MP1 |
---|---|---|---|---|
Description | This 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 Codes | 204 : No Content | |||
Response Parameters | ||||
Parameter Name | Cardinality | Type | Description | |
Types
ApplnstanceInfo
ApplnstanceInfo Parameters | ||||
Attribute Name | Cardinality | Data Type | Description | |
ID | 1 | String | Application Instance Description Ex : ID1 | |
AppInstanceName | 0..1 | String | Application Descriptor ID | |
AppInstanceDescription | 0..1 | String | Application Provider Ex: Huawei | |
AppDID | 1 | String | Application Name Ex : Face_Recognition. | |
AppProvider | 1 | String | ||
AppName | 1 | String | Deploy Type ; Ex : Helm | |
AppSoftVersion | 1 | String | Application Package ID Ex: b1bb0ce7-ebca-4fa7-95ed-4840d70a1177 | |
AppDVersion | 1 | String | Instantiation State. Ex : NOT_INSTANTIATED |
InstantiateAppRequest
InstantiateAppRequest Parameters | ||||
Attribute Name | Cardinality | Data Type | Description | |
selectedMECHostInfo | 1..N | MECHostInformation | Describes the information of selected host for the application instance |
TerminateAppRequest
TerminateAppRequest Parameters | ||||
Attribute Name | Cardinality | Data Type | Description | |
terminationType | 1 | Enum | Indicates whether forceful or graceful termination is | |
gracefulTerminationTimeout | 0..1 | Integer | This 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 Name | Cardinality | Data Type | Description | |
serInstanceId | 0..1 | SerInstanceId | Identifier 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. | |
serName | 1 | serName | The name of the service. This is how the service producing MEC application identifies the service instance it produces. | |
serCategory | 0..1 | CategoryRef | A 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". | |
version | 1 | String | Version of the Service | |
state | 1 | ServiceState | Contains the service state. | |
transportId | 0..1 | String | Identifier 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. | |
transportInfo | 0..1 | TransportInfo | Information 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. | |
serializer | 1 | Serializer Type | Indicate the supported serialization format of the service | |
scopeOfLocality | 0..1 | LocalityType | The scope of locality as expressed by "consumedLocalOnly" and "isLocal". If absent, defaults to MEC_HOST | |
consumedLocalOnly | 0..1 | Boolean | Indicate 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. | |
isLocal | 0..1 | Boolean | Indicate 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 Name | Cardinality | Data Type | Description | |
id | 1 | string | The identifier of this transport. | |
name | 1 | string | The name of this transport. . | |
description | 0..1 | string | Human-readable description of this transport. | |
type | 1 | #TransportType | Type of the transport | |
protocol | 1 | string | The name of the protocol used. Shall be set to "HTTP" for a REST API | |
version | 1 | String | The version of the protocol used. | |
endpoint | 1 | EndPointInfo | Information about the endpoint to access the transport. | |
security | 1 | SecurityInfo | Indicate the supported serialization format of the service | |
implSpecificInfo | 0..1 | Not Specified | Additional implementation specific details of the transport. |
Enumeration
TransportType
TransportType Parameters | ||
Enumeration Value | Description | |
REST_HTTP | RESTful API using HTTP (as defined in IETF RFC 7230 [11] and related specifications). | |
MB_TOPIC_BASED | Topic-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_ROUTING | Routing-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_PUBSUB | Publish-subscribe based message bus which distributes messages to all subscribers. | |
RPC | Remote procedure call. EXAMPLE: GRPC | |
RPC_STREAMING | Remote procedure call supporting streams of requests and responses. EXAMPLE: GRPC | |
WEBSOCKET | Websockets as defined in IETF RFC 6455 [12]. |