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 “&#124;” to represent OR.

RAN

GNBDUFunction

/attributes [@gNBIdLength=3] &#124; /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’] &#124; /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