Supported filter options
Using the filtering options, it is possible to define more specific requests in case of several endpoints. To perform filtering, targetFilter and scopeFilter parameters can be used in the path.
Sample structure using target and scope filters:
GET https://<host>/topology-inventory/<API_VERSION>/domains/<domainName>?targetFilter=<targetFilter>&scopeFilter=<scopeFilter>
See
Topology & Inventory API
for all possible filter options and sample responses for each endpoint.
Querying simple entities
This functionality is supported by the following endpoints: /domains/{domainName}/entity-types/{entityTypeName}/entities
The entityTypeName is used as the root of the queries (from here referred as RootObject). Every other object, either in 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 is not constructed. The RootObject still can be retrieved and filtered using the /attributes.
Use case |
domainName |
entityTypeName |
targetFilter |
scopeFilter |
Query result |
---|---|---|---|---|---|
To return the ids for all instances of the entityTypeName used in the query. |
RAN |
GNBDUFunction |
All ids of every GNBDUFunction |
||
To return all attributes of every instance of the entityTypeName used in the query. |
RAN |
GNBDUFunction |
/attributes |
All GNBDUFunctions with every attribute |
|
To return every instance of the entityTypeName used in the query, but only the attribute that was defined in the targetFilter parameter. <br/> Note: The attribute must be a valid field of the object. |
RAN |
GNBDUFunction |
/attributes(gNBId) |
All gNBIds of every GNBDUFunction |
|
To return every instance of the entityTypeName used in the query, but only the attributes that were defined in the targetFilter parameter. <br/> Note: The attributes must be separated by a comma “,” when using parenthesis “()”. |
RAN |
GNBDUFunction |
/attributes(gNBId, gNBIdLength) |
All gNBIds and gNBIdLengths of every GNBDUFunction |
|
To return the ids for all instances of the entityTypeName used in the query, that matches the given property in the scopeFilter parameter. |
RAN |
GNBDUFunction |
/sourceIds[contains (@item, ‘SubNetwork=Ireland’)] |
Unique set of ids of GNBDUFunctions, where sourceIds contains SubNetwork=Ireland |
|
To return the ids for all instances of the entityTypeName used in the query, that matches the given attributes in the scopeFilter parameter. <br/> Note: The attributes must be separated by a AND or OR”. |
RAN |
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 entityTypeName used in the query, that satisfies one of the conditions in the scopeFilter parameter. A condition is a complete unit of scopeFilter parameter surrounded by square brackets. <br/> Note: Multiple conditions can be given in the scopeFilter separated by a semicolon “;” to represent AND, or a pipe symbol “|” to represent OR. |
RAN |
GNBDUFunction |
/attributes [@gNBIdLength=3] | /sourceIds[contains (@item, ‘SubNetwork=Ireland’)] |
Unique set of ids of GNBDUFunctions, where where the gNBIdLength equals 3 or the sourceIds contains an item with “SubNetwork=Ireland” |
Querying connected entities
This functionality is achieved using associations and is supported by the following endpoints: /domains/{domainName}/entity-types/{entityTypeName}/entities
The entityTypeName is used as the root of the queries.
Use case |
domainName |
entityTypeName |
targetFilter |
scopeFilter |
Query result |
---|---|---|---|---|---|
To return the ids for all instances of an entityTypeName related by an association. |
REL_OAM_RAN |
ENodeBFunction |
/managed-by-managedElement |
All ENodeBFunction entities that are managed by any Managed Element. |
|
To return the ids for all instances of an entityTypeName related by an association to another entity specified by its id. |
REL_OAM_RAN |
ENodeBFunction |
/managed-by-managedElement [@id = ‘urn:3gpp:dn: ManagedElement=1’] |
All ENodeBFunction entities that are managed by by the Managed Element urn:3gpp:dn: ManagedElement=1. |
|
To return the attributes for all instances of an entityTypeName related by one or more associations to other entities specified by their id. |
REL_OAM_RAN |
ENodeBFunction |
/attributes |
/attributes [@enbId=1] ; /managed-by-managedElement [@id=’urn:3gpp:dn: ManagedElement=1’] | /managed-by-managedElement [@id=’urn:3gpp:dn: ManagedElement=2’] ; /provided-euTranCell [@id=’urn:3gpp:dn: ManagedElement=1, EUtranCell=2’] | All EnodeBFunction entities with enbId as 1 managed by the Managed Element urn:3gpp:dn: ManagedElement=1 or urn:3gpp:dn: ManagedElement=2, and provides EuTranCell urn:3gpp:dn: ManagedElement=1, EUtranCell=2. |
Querying entities for relationships
This functionality is supported by the following endpoints: /domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}/relationships
The entityTypeName is used as the root of the queries.
Use case |
domainName |
entityTypeName |
entityId |
targetFilter |
scopeFilter |
Query result |
---|---|---|---|---|---|---|
To return the relationships for a given entity specified by its id. |
RAN |
GNBDUFunction |
urn:3gpp:dn: ManagedElement=1, GNBDUFunction=1 |
All relations for the GNBDUFunction with id urn:3gpp:dn: ManagedElement=1, GNBDUFunction=1. |
||
To return specific relationships for a given entity specified by its id. |
RAN |
GNBDUFunction |
urn:3gpp:dn: ManagedElement=1, GNBDUFunction=1 |
/MANAGEDELEMENT _MANAGES _GNBDUFUNCTION |
All MANAGEDELEMENT _MANAGES _GNBDUFUNCTION relations for the GNBDUFunction with id urn:3gpp:dn: ManagedElement=1, GNBDUFunction=1. |
|
To return specific relationships for an entity specified by its id to another entity using its id and association. |
RAN |
GNBDUFunction |
urn:3gpp:dn: ManagedElement=1, GNBDUFunction=1 |
/managed-by-managedElement [@id = ‘urn:3gpp:dn: ManagedElement=1’] |
All MANAGEDELEMENT _MANAGES _GNBDUFUNCTION relations for the GNBDUFunction with id urn:3gpp:dn: ManagedElement=1, GNBDUFunction=1 where the managed element is urn:3gpp:dn: ManagedElement=1. |
Querying on relationships
This functionality is supported by the following endpoints: /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships
Here, the relationshipTypeName is used as the root of the queries.
Use case |
domainName |
relationshipTypeName |
targetFilter |
scopeFilter |
Query result |
---|---|---|---|---|---|
To return all relationships for a specified relationship type. |
REL_OAM_RAN |
MANAGEDELEMENT _MANAGES _ENODEBFUNCTION |
All MANAGEDELEMENT_MANAGES_ENODEBFUNCTION relationships. |
||
To return all relationships for a specified relationship type with a specified association to an entity. |
REL_OAM_RAN |
MANAGEDELEMENT _MANAGES _ENODEBFUNCTION |
/managed-by-managedElement [@id=’urn:3gpp:dn: ManagedElement=1’] |
All MANAGEDELEMENT_MANAGES_ENODEBFUNCTION relationships having an association managed-by-managedElement to ManagedElement urn:3gpp:dn: ManagedElement=1. |
To get a relationship with a specific id, use: /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships/{relationshipId}
Example: Get the MANAGEDELEMENT_MANAGES_ENODEBFUNCTION relationship with id rel1 in the REL_OAM_RAN domain:
GET https://<host>/topology-inventory/<API_VERSION>/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ENODEBFUNCTION/relationships/rel1