Discover and Reconciliation Interface
Discover and Reconciliation Interface to enrich topology with 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 |
|
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.
|
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].
|
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.
|
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)
{
"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": {
"reliabilityIndicator": "OK"
}
}
]
},
{
"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": {
"reliabilityIndicator": "OK"
}
}
]
}
],
"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",
"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",
"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",
"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",
"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 |
|
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.
|
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].
|
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.
|
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)
{
"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": {
"reliabilityIndicator": "OK"
}
}
]
},
{
"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": {
"reliabilityIndicator": "OK"
}
}
]
}
],
"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",
"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",
"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",
"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",
"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 |
|
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.
|
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].
|
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.
|
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",
"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"
]
}
]
},
{
"o-ran-smo-teiv-equipment:AntennaModule": [
{
"id": "urn:oran:smo:teiv:AntennaModule=2",
"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"
]
}
]
}
],
"relationships": [
{
"o-ran-smo-teiv-equipment:ANTENNAMODULE_INSTALLED_AT_SITE": [
{
"id": "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVs=",
"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",
"urn:oran:smo:teiv:Site=1"
]
}
]
},
{
"o-ran-smo-teiv-equipment:ANTENNAMODULE_INSTALLED_AT_SITE": [
{
"id": "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVsYW5kLE1lQ2=",
"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",
"urn:oran:smo:teiv:Site=2"
]
}
]
}
]
}
}