Introduction

5G MEC BP inherits some APIs 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 :

  1. Application Life Cycle Management
  2. 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

  • No labels