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 managementETSI GS MEC 010-2 V2.1.1 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 Package ManagementApplication Life Life Cycle Management
- MEC Service Management.
API Definitions
Application
...
Life Cycle Management
...
Create Application Instance
Onboard Create Application Instance | Type : POST | Interface : MM3 |
---|
Description |
This API is for MEO to onboard package, currently we just upload package directly to MEPM-APPLCM in the rest request, appPkgPath is of no useThe 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_ |
pkgmpackages/instances |
Request Body Parameters |
Parameter Name | Cardinality | Type | Description |
CreateAppPkg |
appDId | 1 | String | Application Description ID |
appInstancename | 1 | String | Application Instance Name |
appInstanceDescriptor | 1 |
ComplexString | Application Instance Descriptor |
Response Codes | 201 |
---|
: Created |
---|
Response Parameters |
Parameter Name | Cardinality | Type | Description |
AppPkgInfo | 0..N | Complex | Indicates a successful request. The response body shall contain a representation of the application package resource. |
Get Package Info
Get Application Instance
2. | API Name / Category | Application Instance Info | Type : GET | Interface : MM3 |
---|
Description |
This API is for MEO to onboard package, currently we just upload package directly to MEPM-APPLCM in the rest request, appPkgPath is of no useThe 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_ |
pkgmpackages{ID}Request Request Body Parameters - |
Not ApplicableNone |
| Response Codes | 201 |
---|
Response Parameters |
Parameter Name | Cardinality | Type | Description / Example |
AppPkgInfoDelete Application
...
Instance
Name Delete Package Name: Delete Application Instance | Type : DELETE | Interface : MM3 |
---|
Description | The DELETE method |
realizes deletes an individual application instance resource, which refers to the procedure of "delete application instance identifier operation" |
of application package resource in MEO |
Resource URI | /ealtedge/mepm/app_ |
pkgmpackages{ID} |
Request Body Parameters - |
Not Applicable. No Response body will be returned. Application Life Cycle Management
Create Application Instance
1 |
---|
Response Parameters - No Content |
Instantiate Application
Create Application Instance | : Instantiate Application | Type : POST | Interface : MM3 |
---|
Description | This |
API is for MEO to onboard package, currently we just upload package directly to MEPM-APPLCM in the rest request, appPkgPath is of no useresource 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 |
Parameter Attribute Name | Cardinality | Type | Description |
appDId2. | API Name / Category | Application Instance Info | Type : GETString | 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 Information
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 |
API is for MEO to onboard package, currently we just upload package directly to MEPM-APPLCM in the rest request, appPkgPath is of no useresource 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 - NoneResponse Codes | 201 | Response Parameter Name | Cardinality | Type | Description |
/ ExampleAppInstanceInfoApplication Instance Info | Delete Application Instance
...
Instantiate Application
4. | API Name: Instantiate Application | Type : POST | Interface : MM3 OSS→ MEO, MEO->MEPM |
---|
Description | To instantiate the application instanceResponse 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/ |
mepmapplcmapp_instances/{appInstanceId}/instantiate services/serviceId |
Request Body Parameters - No Parameters |
Response Codes | 201 |
---|
Response Parameters |
Attribute Parameter Name | Cardinality | Type | Description |
InstantiateAppRequestService Registration
15. | API Name: Terminate Application | Type : POST | Interface : MM3 (OSS→ MEO, MEO->MEPM) |
---|
Description | To instantiate the application instanceComplex | 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
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/ |
mepm/app_lcmapp_instancesapplications/{appInstanceId}/ |
terminateservices |
Request Body Parameters |
Parameter Name | Cardinality | Type | Description |
TerminateAppRequest ServiceInfo | 1 | Complex |
|
Response Codes |
---|
202 - Accepted. The request was accepted for processing, but the processing has not yet been completed201 : Created |
---|
Response Parameters |
- Response Body is EmptyMEC Service Management
Service Discovery
1. | API Name | Create Application Instance |
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 : |
---|
MM1/ealtedge/mep/mecThis 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 |
ParametersParameter Name | Cardinality | Type | Description2Parameters – None |
Response Codes | 201 : Created |
---|
Response Parameters |
Parameter Name | Cardinality | Type | Description |
Service Discovery
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 : |
---|
MM1Description | Resource URI | /ealtedge/mep/mec_service_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/ |
applicationapplications/{appInstanceId}/ |
servicessubscriptions |
Request Body Parameters |
Parameter Name | Cardinality | Type | Description201200 : OK |
---|
Response Parameters |
Parameter Name | Cardinality | Type | Description |
...
3. | 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 : |
---|
MM1Description | Resource URI | /ealtedge/mep/mec_service_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/ |
applicationapplications/{appInstanceId}/ |
servicesService Discovery
5. | API Name | Type : PUT | Interface : MM1 | Description | Resource URI | /ealtedge/mep/mecsubscriptions |
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 |
Service Discovery
...
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/ |
applicationapplications/{appInstanceId}/ |
servicesservicesId{subscriptionId} |
Request Body Parameters |
Parameter Name | Cardinality | Type | Description |
6. | API Name | Type : POST | Interface : MM1 | Description- None |
Response Codes | 201 |
---|
Response Parameters |
Parameter Name | Cardinality | Type | Description |
Service Discovery
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 |
/mepapplicationapplications/{appInstanceId}/subscriptions/{subscriptionId} |
Request Body Parameters |
Parameter Name | Cardinality | Type | Description |
201204 : No content |
---|
Response Parameters |
Parameter Name | Cardinality | Type | Description |
Types
...
AppPkgInfo Parameters
...
Application Provider.
Ex : Huawei
...
CreateAppPkg
...
CreateAppPkg Parameters
...
appProvider
...
ApplnstanceInfo
...
ApplnstanceInfo Parameters
...
Application Instance Description
Ex : ID1
...
Application Provider
Ex: Huawei
...
Application Name
Ex : Face_Recognition.
...
Application Package ID
Ex: b1bb0ce7-ebca-4fa7-95ed-4840d70a1177
...
Instantiation State.
Ex : NOT_INSTANTIATED
InstantiateAppRequest
...
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 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. |
gracefulTerminationTimeout | 0..1 | Integer | This attribute is only applicable in case of gracefultermination. It defines the time to wait for theapplication instance to be taken out of service beforeshutting down the application and releasing theresources.The unit is seconds.If not given and the "terminationType" attribute is set to"GRACEFUL", it is expected to wait for the successfultaking out of service of the application, no matter howlong it takes, before shutting down the application andreleasing the resourcesGet 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
Anchor |
---|
| ApplnstanceInfo |
---|
| 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
Anchor |
---|
| InstantiateAppRequest |
---|
| InstantiateAppRequest |
---|
|
InstantiateAppRequest Parameters |
Attribute Name | Cardinality | Data Type | Description |
selectedMECHostInfo | 1..N | MECHostInformation | Describes the information of selected host for the application instance |
TerminateAppRequest Anchor |
---|
| TerminateAppRequest |
---|
| TerminateAppRequest |
---|
|
TerminateAppRequest Parameters |
Attribute Name | Cardinality | Data Type | Description |
terminationType | 1 | Enum | 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. |
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 Anchor |
---|
| TransportInfo |
---|
| 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 Anchor |
---|
| TransportType |
---|
| 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]. |