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