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"
            ]
          }
        ]
      }
    ]
  }
}