Geographical Location Enrichment API 1.0.0beta1.0
Geographical Location Enrichment API to enrich topology with geographical data.
Operations
PUB ingestionCreate
Operation
Topology & Inventory entities and relationships can be created.
Operation ID:
Ingestion
Operation on Topology Inventory and Exposure input topic.
Message Topology CREATE ingestionCreate
Creates components in topology.
Message ID:
create
Content type: application/json
CREATE Headers
Name |
Type |
Description |
Value |
Constraints |
Notes |
---|---|---|---|---|---|
(root) |
object |
additional properties are allowed |
|||
ce_id |
string |
Unique identifier for the event. |
|||
ce_source |
string |
Source of the CloudEvent. |
format (uri) |
||
ce_type |
string |
Event type. It can be one of topology-inventory-ingestion-merge, topology-inventory-ingestion-delete, or topology-inventory-ingestion-create. |
|||
content-type |
string |
Content-type of the data contained within the cloud event. It is application/json. |
const (“application/json”) |
||
ce_dataschema |
string |
URI representing the schema of the data. This references the event-specific yang schema. |
format (uri) |
||
ce_time |
string |
Event timestamp. |
format (date-time) |
||
ce_specversion |
string |
The version of the CloudEvents specification which the event uses. |
const (“1.0”) |
Examples of headers (generated)
{
"ce_specversion": "1.0",
"ce_id": "a30e63c9-d29e-46ff-b99a-b63ed83fd233",
"ce_source": "dmi-plugin:nm-1",
"ce_type": "topology-inventory-ingestion-create",
"ce_time": "2023-06-12T09:05:00Z",
"content-type": "application/json",
"ce_dataschema": "topology-inventory-ingestion:events:create:1.0.0"
}
CREATE Payload
Name |
Type |
Description |
---|---|---|
(root) |
Object |
|
data |
The data part consists of the actual topology data. It contains all the entities and their associated relationships. |
|
data.entities |
Array<Object> |
Entities are topology objects comprising of an id, consumer data, attributes and metadata for each. It contains the id only in case of delete cloud event. |
data.entities.<module_name>:<mo_type> |
Object |
Entities schema is adherent to the entity types and attributes mentioned in the yang modules. For yang modules, see [Data Models][Data Models]. |
data.relationships |
Array<Object> |
Relationships comprising of an A-side and a B-side for each. The A-side is considered the originating side of the relationship; the B-side is considered the terminating side of the relationship. The order of A-side and B-side is of importance and MUST NOT be changed once defined. It contains the id only in case of delete event. |
data.relationships.<module_name>:<relationship_type> |
Object |
Relationship schema is adherent to the relationship types mentioned in the yang modules. For yang modules, see [Data Models][Data Models]. |
Examples of payload (generated)
{
"data": {
"entities": [
{
"o-ran-smo-teiv-equipment:AntennaModule": [
{
"id": "urn:oran:smo:teiv:AntennaModule=1",
"attributes": {
"antennaModelNumber": "1",
"mechanicalAntennaBearing": 50,
"mechanicalAntennaTilt": 10,
"positionWithinSector": "Unknown",
"totalTilt": 14,
"electricalAntennaTilt": 2,
"antennaBeamWidth": [
35,
23,
21
],
"geo-location": {
"latitude": 41.73297,
"longitude": -73.007696,
"height": 3000
}
},
"sourceIds": [
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1",
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1",
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1"
],
"metadata": {
"trustLevel": "RELIABLE"
}
}
]
},
{
"o-ran-smo-teiv-equipment:AntennaModule": [
{
"id": "urn:oran:smo:teiv:AntennaModule=2",
"attributes": {
"antennaModelNumber": "2",
"mechanicalAntennaBearing": 61,
"mechanicalAntennaTilt": 21,
"positionWithinSector": "Unknown",
"totalTilt": 25,
"electricalAntennaTilt": 3,
"antennaBeamWidth": [
46,
34,
32
],
"geo-location": {
"latitude": 52.84308,
"longitude": -84.118707,
"height": 41111
}
},
"sourceIds": [
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaUnit=2",
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaUnit=2,AntennaSubunit=1",
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=2,RetSubUnit=1"
],
"metadata": {
"trustLevel": "RELIABLE"
}
}
]
}
],
"relationships": [
{
"o-ran-smo-teiv-equipment:ANTENNAMODULE_INSTALLED_AT_SITE": [
{
"id": "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVs=",
"aSide": "urn:oran:smo:teiv:AntennaModule=1",
"bSide": "urn:oran:smo:teiv:Site=1"
}
]
},
{
"o-ran-smo-teiv-equipment:ANTENNAMODULE_INSTALLED_AT_SITE": [
{
"id": "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVsYW5kLE1lQ2=",
"aSide": "urn:oran:smo:teiv:AntennaModule=2",
"bSide": "urn:oran:smo:teiv:Site=2"
}
]
}
]
}
}
PUB ingestionMerge
Operation
Topology & Inventory entities and relationships can be updated.
Operation ID:
Ingestion
Operation on Topology Inventory and Exposure input topic.
Message Topology MERGE ingestionMerge
Updates components in topology.
Message ID:
merge
Content type: application/json
MERGE Headers
Name |
Type |
Description |
Value |
Constraints |
Notes |
---|---|---|---|---|---|
(root) |
object |
additional properties are allowed |
|||
ce_id |
string |
Unique identifier for the event. |
|||
ce_source |
string |
Source of the CloudEvent. |
format (uri) |
||
ce_type |
string |
Event type. It can be one of topology-inventory-ingestion-merge, topology-inventory-ingestion-delete, or topology-inventory-ingestion-create. |
|||
content-type |
string |
Content-type of the data contained within the cloud event. It is application/json. |
const (“application/json”) |
||
ce_dataschema |
string |
URI representing the schema of the data. This references the event-specific yang schema. |
format (uri) |
||
ce_time |
string |
Event timestamp. |
format (date-time) |
||
ce_specversion |
string |
The version of the CloudEvents specification which the event uses. |
const (“1.0”) |
Examples of headers (generated)
{
"ce_specversion": "1.0",
"ce_id": "a30e63c9-d29e-46ff-b99a-b63ed83fd234",
"ce_source": "dmi-plugin:nm-1",
"ce_type": "topology-inventory-ingestion-merge",
"ce_time": "2023-06-12T09:05:00Z",
"content-type": "application/json",
"ce_dataschema": "topology-inventory-ingestion:events:merge:1.0.0"
}
MERGE Payload
Name |
Type |
Description |
---|---|---|
(root) |
Object |
|
data |
The data part consists of the actual topology data. It contains all the entities and their associated relationships. |
|
data.entities |
Array<Object> |
Entities are topology objects comprising of an id, consumer data, attributes and metadata for each. It contains the id only in case of delete cloud event. |
data.entities.<module_name>:<mo_type> |
Object |
Entities schema is adherent to the entity types and attributes mentioned in the yang modules. For yang modules, see [Data Models][Data Models]. |
data.relationships |
Array<Object> |
Relationships comprising of an A-side and a B-side for each. The A-side is considered the originating side of the relationship; the B-side is considered the terminating side of the relationship. The order of A-side and B-side is of importance and MUST NOT be changed once defined. It contains the id only in case of delete event. |
data.relationships.<module_name>:<relationship_type> |
Object |
Relationship schema is adherent to the relationship types mentioned in the yang modules. For yang modules, see [Data Models][Data Models]. |
Examples of payload (generated)
{
"data": {
"entities": [
{
"o-ran-smo-teiv-equipment:AntennaModule": [
{
"id": "urn:oran:smo:teiv:AntennaModule=1",
"attributes": {
"antennaModelNumber": "1",
"mechanicalAntennaBearing": 50,
"mechanicalAntennaTilt": 10,
"positionWithinSector": "Unknown",
"totalTilt": 14,
"electricalAntennaTilt": 2,
"antennaBeamWidth": [
35,
23,
21
],
"geo-location": {
"latitude": 41.73297,
"longitude": -73.007696,
"height": 3000
}
},
"sourceIds": [
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1",
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1",
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1"
],
"metadata": {
"trustLevel": "RELIABLE"
}
}
]
},
{
"o-ran-smo-teiv-equipment:AntennaModule": [
{
"id": "urn:oran:smo:teiv:AntennaModule=2",
"attributes": {
"antennaModelNumber": "2",
"mechanicalAntennaBearing": 61,
"mechanicalAntennaTilt": 21,
"positionWithinSector": "Unknown",
"totalTilt": 25,
"electricalAntennaTilt": 3,
"antennaBeamWidth": [
46,
34,
32
],
"geo-location": {
"latitude": 52.84308,
"longitude": -84.118707,
"height": 41111
}
},
"sourceIds": [
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaUnit=2",
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaUnit=2,AntennaSubunit=1",
"urn:3gpp:dn:ManagedElement=NR01,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=2,RetSubUnit=1"
],
"metadata": {
"trustLevel": "RELIABLE"
}
}
]
}
],
"relationships": [
{
"o-ran-smo-teiv-equipment:ANTENNAMODULE_INSTALLED_AT_SITE": [
{
"id": "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVs=",
"aSide": "urn:oran:smo:teiv:AntennaModule=1",
"bSide": "urn:oran:smo:teiv:Site=1"
}
]
},
{
"o-ran-smo-teiv-equipment:ANTENNAMODULE_INSTALLED_AT_SITE": [
{
"id": "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVsYW5kLE1lQ2=",
"aSide": "urn:oran:smo:teiv:AntennaModule=2",
"bSide": "urn:oran:smo:teiv:Site=2"
}
]
}
]
}
}
PUB ingestionDelete
Operation
Topology & Inventory entities and relationships can be deleted.
Operation ID:
Ingestion
Operation on Topology Inventory and Exposure input topic.
Message Topology DELETE ingestionDelete
Deletes components in topology.
Message ID:
delete
Content type: application/json
DELETE Headers
Name |
Type |
Description |
Value |
Constraints |
Notes |
---|---|---|---|---|---|
(root) |
object |
additional properties are allowed |
|||
ce_id |
string |
Unique identifier for the event. |
|||
ce_source |
string |
Source of the CloudEvent. |
format (uri) |
||
ce_type |
string |
Event type. It can be one of topology-inventory-ingestion-merge, topology-inventory-ingestion-delete, or topology-inventory-ingestion-create. |
|||
content-type |
string |
Content-type of the data contained within the cloud event. It is application/json. |
const (“application/json”) |
||
ce_dataschema |
string |
URI representing the schema of the data. This references the event-specific yang schema. |
format (uri) |
||
ce_time |
string |
Event timestamp. |
format (date-time) |
||
ce_specversion |
string |
The version of the CloudEvents specification which the event uses. |
const (“1.0”) |
Examples of headers (generated)
{
"ce_specversion": "1.0",
"ce_id": "a30e63c9-d29e-46ff-b99a-b63ed83fd235",
"ce_source": "dmi-plugin:nm-1",
"ce_type": "topology-inventory-ingestion-delete",
"ce_time": "2023-06-12T09:05:00Z",
"content-type": "application/json",
"ce_dataschema": "topology-inventory-ingestion:events:delete:1.0.0"
}
DELETE Payload
Name |
Type |
Description |
---|---|---|
(root) |
Object |
|
data |
The data part consists of the actual topology data. It contains all the entities and their associated relationships. |
|
data.entities |
Array<Object> |
Entities are topology objects comprising of an id, consumer data, attributes and metadata for each. It contains the id only in case of delete cloud event. |
data.entities.<module_name>:<mo_type> |
Object |
Entities schema is adherent to the entity types and attributes mentioned in the yang modules. For yang modules, see [Data Models][Data Models]. |
data.relationships |
Array<Object> |
Relationships comprising of an A-side and a B-side for each. The A-side is considered the originating side of the relationship; the B-side is considered the terminating side of the relationship. The order of A-side and B-side is of importance and MUST NOT be changed once defined. It contains the id only in case of delete event. |
data.relationships.<module_name>:<relationship_type> |
Object |
Relationship schema is adherent to the relationship types mentioned in the yang modules. For yang modules, see [Data Models][Data Models]. |
Examples of payload (generated)
{
"data": {
"entities": [
{
"o-ran-smo-teiv-equipment:AntennaModule": [
{
"id": "urn:oran:smo:teiv:AntennaModule=1"
}
]
},
{
"o-ran-smo-teiv-equipment:AntennaModule": [
{
"id": "urn:oran:smo:teiv:AntennaModule=2"
}
]
}
],
"relationships": [
{
"o-ran-smo-teiv-equipment:ANTENNAMODULE_INSTALLED_AT_SITE": [
{
"id": "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVs="
}
]
},
{
"o-ran-smo-teiv-equipment:ANTENNAMODULE_INSTALLED_AT_SITE": [
{
"id": "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVsYW5kLE1lQ2="
}
]
}
]
}
}