Table of Contents
Introduction
As part of this release, 5G MEC System Blueprint uses BP inherits some APIs in conjunction with OpenNESS (Open Network Edge Services Software).
...
implemented by OpenNESS, which can be used in the so-called on-premises deployment where kubernetes is not available.
In this release, APIs exposed include those related to :
- Application Life Cycle Management
...
- Edge Application API.
API Definitions
Application Life Cycle Management
These API provides an abstraction layer for an operations admin, enabling them to configure and manage the lifecycle of applications.
Get a list of applications
1.API Name | Get a list of applications | Type | GET |
Description | The GET method is used to get a list of applications from the controller | ||
Resource URI | /apps | ||
Parameters-None | |||
Request Body-None | |||
Response Codes | 200 | ||
Response Parameters | |||
Parameter Name | Cardinality | Type | Description |
apps | 1 | json | Application Info |
Create a new application
2.API Name | Create a new application | Type | POST |
Description | The POST method is used to create a new application on the controller | ||
Resource URI | /apps | ||
Parameters-None | |||
Request Body | |||
Parameter Name | Cardinality | Type | Description |
id | 1 | string | The ID of the application |
type | 1 | string | Enum:[container,vm] |
name | 1 | string | The name of the application |
version | 1 | string | The version of the application |
vendor | 1 | string | The vendor of the application |
description | 1 | string | Description of the application |
cores | 1 | integer | The number of cores to allocate to the application |
memory | 1 | integer | The memory in MB to allocate to the application |
ports | 1 | complex | A list of port/protocol combinations to expose |
source | 1 | string | Source URI of the app |
Response Codes | 201 | ||
Response Parameters | |||
Parameter Name | Cardinality | Type | Description |
id | 1 | string | The ID of the node |
Get an application
3.API Name | Get an application | Type | GET |
Description | The GET method is used to get an application from the controller | ||
Resource URI | /apps/{app_id} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
app_id | 1 | string | The ID of the application |
Request Body-None | |||
Response Codes | 200 | ||
Response Parameters | |||
Parameter Name | Cardinality | Type | Description |
id | 1 | string | The ID of the application |
type | 1 | string | Enum:[container,vm] |
name | 1 | string | The name of the application |
version | 1 | string | The version of the application |
vendor | 1 | string | The vendor of the application |
description | 1 | string | Description of the application |
cores | 1 | integer | The number of cores to allocate to the application |
memory | 1 | integer | The memory in MB to allocate to the application |
ports | 1 | complex | A list of port/protocol combinations to expose |
source | 1 | string | Source URI of the app |
Response Codes | 404 | ||
App ID not found |
Update an existing application
4.API Name | Update an existing application | Type | PATCH |
Description | The PATCH method is used to update an existing application from the controller | ||
Resource URI | /apps/{app_id} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
app_id | 1 | string | The ID of the application |
Request Body Parameters | |||
Parameter Name | Cardinality | Type | Description |
id | 1 | string | The ID of the application |
type | 1 | string | Enum:[container,vm] |
name | 1 | string | The name of the application |
version | 1 | string | The version of the application |
vendor | 1 | string | The vendor of the application |
description | 1 | string | Description of the application |
cores | 1 | integer | The number of cores to allocate to the application |
memory | 1 | integer | The memory in MB to allocate to the application |
ports | 1 | complex | A list of port/protocol combinations to expose |
source | 1 | string | Source URI of the app |
Response Codes | 200 | ||
Application was updated | |||
Response Codes | 404 | ||
App ID not found |
Delete an existing application
5.API Name | Delete an existing application | Type | DELETE |
Description | The DELETE method is used to delete an existing application from the controller | ||
Resource URI | /apps/{app_id} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
app_id | 1 | string | The ID of the application |
Request Body-None | |||
Response Codes | 204 | ||
Application was deleted | |||
Response Codes | 404 | ||
App ID not found |
Get a list of applications on a node
6.API Name | Get a list of applications on a node | Type | GET |
Description | The GET method is used to get a list of applications on a node from the controller | ||
Resource URI | /nodes/{node_id}/apps | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
node_id | 1 | string | The ID of the node |
Request Body-None | |||
Response Codes | 200 | ||
Response Parameters | |||
Parameter Name | Cardinality | Type | Description |
apps | 1 | json | Application Info |
Response Codes | 404 | ||
Node ID not found |
Deploy an application to a node
7.API Name | Deploy an application to a node | Type | POST |
Description | The POST method is used to deploys an application to a node from the controller | ||
Resource URI | /nodes/{node_id}/apps | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
node_id | 1 | string | The ID of the node |
Request Body | |||
Parameter Name | Cardinality | Type | Description |
id | 1 | string | The ID of the application |
Response Codes | 200 | ||
Deployed the application to the specified node | |||
Response Codes | 404 | ||
Node ID or app ID not found |
Get an application on a node
8.API Name | Get an application on a node | Type | GET |
Description | The GET method is used to get an application on a node from the controller | ||
Resource URI | /nodes/{node_id}/apps/{app_id} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
node_id | 1 | string | The ID of the node |
app_id | 1 | string | The ID of the application |
Request Body-None | |||
Response Codes | 200 | ||
Parameter Name | Cardinality | Type | Description |
id | 1 | string | The ID of the application |
status | 1 | string | The status of the application Enum:[unknown, deploying, ready, starting, running, stopping, stopped, error] |
command | 1 | string | The lifecycle command for the application Enum:[start, stop, restart] |
Response Codes | 404 | ||
Node ID or app ID not found |
Update an application on a node
9.API Name | Update an application on a node | Type | PATCH |
Description | The PATCH method is used to update an application on a node from the controller | ||
Resource URI | /nodes/{node_id}/apps/{app_id} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
node_id | 1 | string | The ID of the node |
app_id | 1 | string | The ID of the application |
Request Body | |||
Parameter Name | Cardinality | Type | Description |
id | 1 | string | The ID of the application |
status | 1 | string | The status of the application Enum:[unknown, deploying, ready, starting, running, stopping, stopped, error] |
command | 1 | string | The lifecycle command for the application Enum:[start, stop, restart] |
Response Codes | 200 | ||
Updated application for the specified node and application | |||
Response Codes | 404 | ||
Node ID or app ID not found |
Delete an application on a node
10.API Name | Delete an application on a node | Type | DELETE |
Description | The DELETE method is used to delete an application on a node from the controller | ||
Resource URI | /nodes/{node_id}/apps/{app_id} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
node_id | 1 | string | The ID of the node |
app_id | 1 | string | The ID of the application |
Request Body-None | |||
Response Codes | 204 | ||
Deleted the application for the specified node and application | |||
Response Codes | 404 | ||
Node ID or app ID not found |
Edge Application API
Edge Application APIs enable developers to build edge compute services capable of taking advantage of tactile applications that respond to the changing user, network or resource scenarios.
Connection Establishment
1.API Name | Connection Establishment | Type | GET |
Description | The GET method is used to connect to a secure WebSocket to receive streaming notifications | ||
Resource URI | /notifications | ||
Parameters-None | |||
Request Body-None | |||
Response Codes | 101 | ||
Upgrade to Websockets | |||
Response Codes | 403 | ||
Unauthorized |
Publish Notification
2.API Name | Publish Notification | Type | POST |
Description | The POST method is used to push a single notification to all subscribed application | ||
Resource URI | /notifications | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
body | 1 | json | The information of the notification |
Request Body-None | |||
Response Codes | 202 | ||
Notification was received and will be forwarded | |||
Response Codes | 403 | ||
Unauthorized |
Service Discovery
3.API Name | Service Discovery | Type | GET |
Description | The GET method is used to list all currently activated producers on the local appliance and get their status, subscribable notification types, and address | ||
Resource URI | /services | ||
Parameters-None | |||
Request Body-None | |||
Response Codes | 200 | ||
Parameter Name | Cardinality | Type | Description |
service | 1 | json | The information of the service |
Response Codes | 403 | ||
Unauthorized |
Service Deactivation
4.API Name | Service Deactivation | Type | DELETE |
Description | The DELETE method is used to unregister a producer for all of its notification types in the local MEC environment | ||
Resource URI | /services | ||
Parameters-None | |||
Request Body-None | |||
Response Codes | 204 | ||
Service registration removed | |||
Response Codes | 403 | ||
Unauthorized |
Service Activation
5.API Name | Service Activation | Type | POST |
Description | The POST method is used to register a producer to begin publishing notifications in the local MEC environment | ||
Resource URI | /services | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
body | 1 | json | The information of the service |
Request Body-None | |||
Response Codes | 200 | ||
OK | |||
Response Codes | 400 | ||
Invalid content, a required property is missing | |||
Response Codes | 403 | ||
Unauthorized |
List Subscriptions
6.API Name | List Subscriptions | Type | GET |
Description | The GET method is used to list all producers currently subscribed to and their registered notification types | ||
Resource URI | /subscriptions | ||
Parameters-None | |||
Request Body-None | |||
Response Codes | 200 | ||
Parameter Name | Cardinality | Type | Description |
Subscription | 1 | json | The information of the subscription |
Response Codes | 400 | ||
Invalid content, a required property is missing | |||
Response Codes | 403 | ||
Unauthorized |
Mass Unsubscription
7.API Name | Mass Unsubscription | Type | DELETE |
Description | The DELETE method is used to unsubscribe from all producers except the platform defaults | ||
Resource URI | /subscriptions | ||
Parameters-None | |||
Request Body-None | |||
Response Codes | 204 | ||
Non-default subscriptions removed | |||
Response Codes | 403 | ||
Unauthorized |
Service Unsubscription
8.API Name | Service Unsubscription | Type | DELETE |
Description | The DELETE method is used to unsubscribe from a particular or entire namespace of producers | ||
Resource URI | /subscriptions/{urn.namespace} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
urn.namespace | 1 | string | The non-unique portion of the URN that identifies the class excluding a trailing separator |
urn.id | 1 | string | The per-namespace unique portion of the URN that when appended to the namespace with a separator forms the complete URN |
Request Body-None | |||
Response Codes | 204 | ||
Subscription removed | |||
Response Codes | 403 | ||
Unauthorized |
Service Subscription
9.API Name | Service Subscription | Type | POST |
Description | The POST method is used to subscribe to a set of notification types, optionally specifying the exact producer by URN | ||
Resource URI | /subscriptions/{urn.namespace} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
urn.namespace | 1 | string | The non-unique portion of the URN that identifies the class excluding a trailing separator |
body | 1 | json | The list of all notification types registered by all producers in this namespace |
Request Body-None | |||
Response Codes | 204 | ||
Subscription added | |||
Response Codes | 403 | ||
Unauthorized |
Service Unsubscription
10.API Name | Service Unsubscription | Type | DELETE |
Description | The DELETE method is used to unsubscribe from a particular or entire namespace of producers | ||
Resource URI | /subscriptions/{urn.namespace}/{urn.id} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
urn.namespace | 1 | string | The non-unique portion of the URN that identifies the class excluding a trailing separator |
urn.id | 1 | string | The per-namespace unique portion of the URN that when appended to the namespace with a separator forms the complete URN. |
Request Body-None | |||
Response Codes | 204 | ||
Subscription removed | |||
Response Codes | 403 | ||
Unauthorized |
Service Subscription
11.API Name | Service Subscription | Type | POST |
Description | The POST method is used to subscribe to a set of notification types, optionally specifying the exact producer by URN | ||
Resource URI | /subscriptions/{urn.namespace}/{urn.id} | ||
Parameters | |||
Parameter Name | Cardinality | Type | Description |
urn.namespace | 1 | string | The non-unique portion of the URN that identifies the class excluding a trailing separator |
urn.id | 1 | string | The per-namespace unique portion of the URN that when appended to the namespace with a separator forms the complete URN. |
body | 1 | json | The list of all notification types registered by all producers in this namespace |
Request Body-None | |||
Response Codes | 201 | ||
Subscription added | |||
Response Codes | 403 | ||
Unauthorized |