Topology and Inventory data is the information that represents entities in a telecommunications network and the relationships between them that provide insight into a particular aspect of the network of importance to specific use cases. Topology and Inventory data can be derived from inventory, configuration, or other data.
Topology and Inventory supports several topology domains. A domain is a grouping of network topology entities which handles topology data.
Entities are enabling the modelling and storage of complex network infrastructure and relationships.
Relationships are a uni-directional connection between two entities, one of which is the originating side (A-side) and the other is the terminating side (B-side). The order of the sides matters since it defines the relationship itself which must be unique
Topology and Inventory API provides the capabilities to fetch topology data. Using the filtering options, it is possible to define more specific query requests.
EntityType is used as the root of the queries (from here referred as RootObject). Every other object, either targetFilter or scopeFilter, has to relate to the RootObject. The queries are constructed starting from the RootObject and all other objects are joined to it. If there is no connection between the RootObject and the other object(s), the query will not get constructed. The RootObject still can be retrieved and filtered using the /attributes.
| USE CASE | ENTITY TYPE | TARGET FILTER | SCOPE FILTER | QUERY RESULT |
|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------|:----------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------|
| To return the ids for all instances of the entityType used in the query. | GNBDUFunction | | | All ids of every GNBDUFunction |
| To return all attributes of every instance of the entityType used in the query. | GNBDUFunction | /attributes | | All GNBDUFunctions with every attribute |
| To return every instance of the entityType used in the query, but only the attribute that was defined in the targetFilter parameter.
Note: The attribute must be a valid field of the object. | GNBDUFunction | /attributes(gNBId)
OR
/attributes/gNBId | | All FDNs of every GNBDUFunction |
| To return every instance of the entityType used in the query, but only the attributes that were defined in the targetFilter parameter.
Case 1: The attributes must be separated by a comma "," in case of using parenthesis "()".
Case 2: The attributes must be separated by a semicolon ";" in case of using slash "/".
Note: The attributes must be valid targetFilter of the object. | GNBDUFunction | /attributes(gNBId, gNBIdLength)
OR
/attributes/gNBId; /attributes/gNBIdLength | | All Ids and FDNs of every GNBDUFunction |
| To return the ids for all instances of the entityType used in the query, that matches the given attribute in the scopeFilter parameter.
Note: The attribute must be a valid field of the object. | GNBDUFunction | | /attributes[contains (@fdn, "/SubNetwork=Ireland/")] | Unique set of ids of GNBDUFunctions, where fdn contains "SubNetwork=Ireland" |
| To return the ids for all instances of the entityType used in the query, that matches the given attributes in the scopeFilter parameter.
Note: the entityType and the object in the scopeFilter parameter must match, and the attributes must be valid field or fields of the object. The attributes must be separated by a comma ",". | GNBDUFunction | | /attributes[@gNBIdLength=3 and @gNBId=111] | Unique set of ids of GNBDUFunctions, where the gNBIdLength equals 3 and the gNBId equals 111 |
| To return the ids for all instances of the entityType used in the query, that satisfies every condition in one of the tags in the scopeFilter parameter. A tag is a complete unit of scopeFilter parameter surrounded by square brackets.
Note: The attributes must be valid field or fields of the object. | GNBDUFunction | | /attributes[@gNBIdLength=3 and @gNBId=111]
OR
/attributes[@gNBIdLength=3 and @gNBId=112] | Unique set of ids of GNBDUFunctions, where where the gNBIdLength equals 3 and the gNBId is either 111 or 112 |
It is possible to get information about directly connected objects as well. If entityType is present in the targetFilter parameter, the query provides information about that entityType itself.
| USE CASE | ENTITY TYPE | TARGET FILTER | SCOPE FILTER | QUERY RESULT |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|-------------------------------------|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| To return the ids for all instances of the entityType in the targetFilter parameter, if they are directly related to the queried entityType. | GNBDUFunction | /NRCellDU | | Unique set of ids of NRCellDUs that relates to GNBDUFunctions directly with any relationship type |
| To return the ids for all instances of the entityTypes in the targetFilter parameter, if they are directly related to the entityType. | GNBDUFunction | /NRCellDU ; /NRSectorCarrier | | Unique set of ids of NRCellDUs and NRSectorCarriers that relates to GNBDUFunctions directly with any relationship type |
| To return the ids for all instances of the queried entityType that has one or more direct relationships with the entityType specified in the scopeFilter parameter. | GNBDUFunction | | /AntennaCapability | Unique set of ids of GNBDUFunctions that are directly related to AntennaCapability with any relationship type |
| To return the ids for all instances of the queried entityType that has one or more direct relationships with at least one of the entityTypes specified in the scopeFilter parameter. | GNBDUFunction | | /AntennaCapability
OR
/NRCellDU | Unique set of ids of GNBDUFunctions that are directly related to AntennaCapability or NRCellDU with any relationship type |
post /collections
delete /collections/{collectionId}
get /collections
get /collections/{collectionId}
put /collections/{collectionId}
get /domains
get /domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}/relationships
get /domains/{domainName}/entities
get /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships/{relationshipId}
get /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships
get /domains/{domainName}/entity-types/{entityTypeName}/entities
get /domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}
get /domains/{domainName}/entity-types
get /domains/{domainName}/relationship-types
put /classifiers
application/json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/problem+json
post /collections
application/json
{
"criteria" : {
"resourceInstances" : [ "resourceInstances", "resourceInstances" ]
},
"id" : "id",
"collectionName" : "collectionName"
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
delete /collections/{collectionId}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/problem+json
get /collections
{
"next" : {
"href" : "href"
},
"last" : {
"href" : "href"
},
"prev" : {
"href" : "href"
},
"self" : {
"href" : "href"
},
"totalCount" : 0,
"items" : [ {
"criteria" : {
"resourceInstances" : [ "resourceInstances", "resourceInstances" ]
},
"id" : "id",
"collectionName" : "collectionName"
}, {
"criteria" : {
"resourceInstances" : [ "resourceInstances", "resourceInstances" ]
},
"id" : "id",
"collectionName" : "collectionName"
} ],
"first" : {
"href" : "href"
}
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
get /collections/{collectionId}
{
"criteria" : {
"resourceInstances" : [ "resourceInstances", "resourceInstances" ]
},
"id" : "id",
"collectionName" : "collectionName"
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
put /collections/{collectionId}
application/json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/problem+json
put /decorators
application/json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/problem+json
get /domains
{
"next" : {
"href" : "href"
},
"last" : {
"href" : "href"
},
"prev" : {
"href" : "href"
},
"self" : {
"href" : "href"
},
"totalCount" : 0,
"items" : [ {
"name" : "name",
"entityTypes" : {
"href" : "href"
},
"relationshipTypes" : {
"href" : "href"
}
}, {
"name" : "name",
"entityTypes" : {
"href" : "href"
},
"relationshipTypes" : {
"href" : "href"
}
} ],
"first" : {
"href" : "href"
}
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
get /domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}/relationships
{
"next" : {
"href" : "href"
},
"last" : {
"href" : "href"
},
"prev" : {
"href" : "href"
},
"self" : {
"href" : "href"
},
"totalCount" : 0,
"items" : [ "{}", "{}" ],
"first" : {
"href" : "href"
}
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
get /domains/{domainName}/entities
{
"next" : {
"href" : "href"
},
"last" : {
"href" : "href"
},
"prev" : {
"href" : "href"
},
"self" : {
"href" : "href"
},
"totalCount" : 0,
"items" : [ "{}", "{}" ],
"first" : {
"href" : "href"
}
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
get /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships/{relationshipId}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/yang.data+json
application/problem+json
get /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships
{
"next" : {
"href" : "href"
},
"last" : {
"href" : "href"
},
"prev" : {
"href" : "href"
},
"self" : {
"href" : "href"
},
"totalCount" : 0,
"items" : [ "{}", "{}" ],
"first" : {
"href" : "href"
}
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
get /domains/{domainName}/entity-types/{entityTypeName}/entities
{
"next" : {
"href" : "href"
},
"last" : {
"href" : "href"
},
"prev" : {
"href" : "href"
},
"self" : {
"href" : "href"
},
"totalCount" : 0,
"items" : [ "{}", "{}" ],
"first" : {
"href" : "href"
}
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
get /domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/yang.data+json
application/problem+json
get /domains/{domainName}/entity-types
{
"next" : {
"href" : "href"
},
"last" : {
"href" : "href"
},
"prev" : {
"href" : "href"
},
"self" : {
"href" : "href"
},
"totalCount" : 0,
"items" : [ {
"entities" : {
"href" : "href"
},
"name" : "name"
}, {
"entities" : {
"href" : "href"
},
"name" : "name"
} ],
"first" : {
"href" : "href"
}
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
get /domains/{domainName}/relationship-types
{
"next" : {
"href" : "href"
},
"last" : {
"href" : "href"
},
"prev" : {
"href" : "href"
},
"self" : {
"href" : "href"
},
"totalCount" : 0,
"items" : [ {
"relationships" : {
"href" : "href"
},
"name" : "name"
}, {
"relationships" : {
"href" : "href"
},
"name" : "name"
} ],
"first" : {
"href" : "href"
}
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
post /geo-queries
application/json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
post /schemas
multipart/form-data
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/problem+json
delete /schemas/{schemaName}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/problem+json
get /schemas/{schemaName}/content
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
text/plain
application/problem+json
get /schemas
{
"next" : {
"href" : "href"
},
"last" : {
"href" : "href"
},
"prev" : {
"href" : "href"
},
"self" : {
"href" : "href"
},
"totalCount" : 0,
"items" : [ {
"domain" : [ "domain", "domain" ],
"name" : "name",
"content" : {
"href" : "href"
},
"revision" : "revision"
}, {
"domain" : [ "domain", "domain" ],
"name" : "name",
"content" : {
"href" : "href"
},
"revision" : "revision"
} ],
"first" : {
"href" : "href"
}
}
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
Custom MIME type example not yet supported: application/problem+json
application/json
application/problem+json
Classifier
- ClassifierCollection
- CollectionResponse
- CollectionResponse_criteria
- Collections
- CollectionsDecorator
- DecoratorDomains
- DomainsDomains_items_inner
- DynamicSelection
- DynamicSelection_resourceQuery
- EntitiesResponseMessage
- EntitiesEntityTypes
- EntityTypesEntityTypes_items_inner
- ErrorMessage
- ErrorHref
- HrefQueryMessage
- QueryRelationshipTypes
- RelationshipTypesRelationshipTypes_items_inner
- RelationshipsResponseMessage
- RelationshipsSchema
- SchemaSchemaList
- SchemasStaticSelection
- TopologySelection
- Classifier
- Classifier UpDecorator
- Decorator UpDynamicSelection
- UpHref
- Href UpQueryMessage
- Query UpSchema
- Schema UpStaticSelection
- Up