Available routes
POST /api/ocloudNotifications/v1/subscriptions
POST /api/ocloudNotifications/v1/publishers
GET /api/ocloudNotifications/v1/subscriptions
GET /api/ocloudNotifications/v1/publishers
GET /api/ocloudNotifications/v1/subscriptions/$subscriptionid
GET /api/ocloudNotifications/v1/publishers/$publisherid
GET /api/ocloudNotifications/v1/health
POST /api/ocloudNotifications/v1/log
POST /api/ocloudNotifications/v1/create/event
Rest API spec .
Creates a new publisher.
If publisher creation is success(or if already exists), publisher will be returned with Created (201).
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
publisher | body | publisher to add to the list of pub | PubSub |
Code | Description | Schema |
---|---|---|
201 | publisher/subscription data model | PubSub |
400 | Error Bad Request | object |
Creates a new subscription.
If subscription creation is success(or if already exists), subscription will be returned with Created (201).
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
subscription | body | subscription to add to the list of subscriptions | yes | PubSub |
Code | Description | Schema |
---|---|---|
201 | publisher/subscription data model | PubSub |
400 | Error Bad Request | object |
Creates a new event.
If publisher is present for the event, then event creation is success and be returned with Accepted (202).
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
event | body | event along with publisher id | Yes | Event |
Code | Description | Schema |
---|---|---|
202 | Accepted | object |
400 | Error Bad Request | object |
Creates a new status ping request.
If a subscription is present for the request, then status request is success and be returned with Accepted (202).
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
subscriptionid | request | subscription id | Yes |
Code | Description | Schema |
---|---|---|
202 | Accepted | object |
400 | Error Bad Request | object |
Data ... cloud native events' data Json payload is as follows,
{
"version": "v1.0",
"values": [{
"resource": "/cluster/node/ptp",
"dataType": "notification",
"valueType": "enumeration",
"value": "ACQUIRING-SYNC"
}, {
"resource": "/cluster/node/clock",
"dataType": "metric",
"valueType": "decimal64.3",
"value": 100.3
}]
}
Name | Type | Description | Required |
---|---|---|---|
values | [ DataValue ] | Yes | |
version | string | Yes |
Name | Type | Description | Required |
---|---|---|---|
DataType | string | Yes |
DataValue Json payload is as follows,
{
"resource": "/cluster/node/ptp",
"dataType": "notification",
"valueType": "enumeration",
"value": "ACQUIRING-SYNC"
}
Name | Type | Description | Required |
---|---|---|---|
dataType | DataType | yes | |
resource | string | yes | |
value | object | yes | |
valueType | ValueType | yes |
Event Json payload is as follows,
{
"id": "5ce55d17-9234-4fee-a589-d0f10cb32b8e",
"type": "event.synchronization-state-chang",
"time": "2021-02-05T17:31:00Z",
"data": {
"version": "v1.0",
"values": [{
"resource": "/cluster/node/ptp",
"dataType": "notification",
"valueType": "enumeration",
"value": "ACQUIRING-SYNC"
}, {
"resource": "/cluster/node/clock",
"dataType": "metric",
"valueType": "decimal64.3",
"value": 100.3
}]
}
}
Event request model
Name | Type | Description | Required |
---|---|---|---|
data | Data | yes | |
dataContentType | string | DataContentType - the Data content type +required | yes |
dataSchema | URI | No | |
id | string | ID of the event; must be non-empty and unique within the scope of the producer. +required | yes |
time | Timestamp | yes | |
type | string | Type - The type of the occurrence which has happened. +required | yes |
PubSub Json request payload is as follows,
{
"id": "789be75d-7ac3-472e-bbbc-6d62878aad4a",
"endpointUri": "http://localhost:9090/ack/event",
"uriLocation": "<http://localhost:8080/api/ocloudNotifications/v1/publishers/{publisherid>}",
"resource": "/east-edge-10/vdu3/o-ran-sync/sync-group/sync-status/sync-state"
}
PubSub request model
Name | Type | Description | Required |
---|---|---|---|
endpointUri | URI | yes | |
resource | string | Resource - The type of the Resource. +required | yes |
Timestamp wraps time.Time to normalize the time layout to RFC3339. It is intended to enforce compliance with the Cloud Native events spec for their definition of Timestamp. Custom marshal methods are implemented to ensure the outbound Timestamp is a string in the RFC3339 layout.
Name | Type | Description | Required |
---|---|---|---|
Timestamp | object | Timestamp wraps time.Time to normalize the time layout to RFC3339. It is intended to enforce compliance with the Cloud Native events spec for their definition of Timestamp. Custom marshal methods are implemented to ensure the outbound Timestamp is a string in the RFC3339 layout. |
URI is a wrapper to url.URL. It is intended to enforce compliance with the Cloud Native Events spec for their definition of URI. Custom marshal methods are implemented to ensure the outbound URI object is a flat string.
Name | Type | Description | Required |
---|---|---|---|
ValueType | ENUM | ENUMERATION,DECIMAL | yes |
Cloud native events rest API comes with following metrics collectors .
- Number of events published by the rest api.
- Number of active subscriptions.
- Number of active publishers.