Properties

The Topology Service has two categories of properties, generic and user. Generic properties have fixed data types, while user-defined properties do not.

Generic properties

Generic properties are few in number and constrained to a fixed data type. They can also be subdivided into those which are read-write and those which are read-only.

uniqueId
The uniqueId is the string used to match resources from the same provider. It could be, for example, a UUID via which the provider can look up its own local data store for information about that device.
If you send the same resource with the same Id and the same provider more than once, it will be treated as the same resource. However, the uniqueId is only unique within the context of its provider.
matchTokens
These tokens are used to store strings which are significant with respect to that resource, and could match it to events.
name
The name string is required by the UI to display a resource.
This string does not have to be unique, and it should be short and memorable.
tags
Tags can be used to filter resources and store strings, which can later retrieve groups of related resources.
entityTypes
These are defined as a set, though with usually only a single member, of the type(s) this resource represents.
Tip: A set of predefined entityTypes with associated icons exist. See the Entity types topic for more information.
Table 1. Generic properties
Name Type Cardinality Alias Read-only Indexed
age integer single   no y
aliasIds Id set _aliasIds yes n
beginTime long single _startedAt yes y
changeTime long single _modifiedAt yes n
createTime long single _createdAt yes y
deleteTime long single   yes n
description string single   no y
edgeTenantId Id single _edgeTenantId yes n
edgeType string single _edgeType yes n
endTime long single _deletedAt yes y
entityTypes string set   no y
eventId string single   yes n
eventManager string single   yes n
expireTime long single _expiredAt yes n
geolocation GeoLocation single   no n
hasState string single   yes n
icon string single   no n
id long single   yes n
keyIndexName string single   yes n
label string single   yes n
matchTokens string set   no y
name string single   no y
observedTime long single _observedAt yes n
operation string single   yes n
partOfExternal Boolean single   yes n
prevBeginTime long single   yes y
providerId Id single   yes n
providerName string single   yes n
reconciliationTokens string set   yes n
referenceId Id single   yes y
referenceNo long single   yes n
serializedHashMap HashMap single   yes n
severity string single   no n
speed long single   no y
statusType string single   yes n
tags string set   no y
tenantIds Id set _tenantIds yes y
uniqueId string single   no y
uuid Id single _id yes y
version string single   no y
vertexType string single   yes y

User properties

User-defined properties are free-form, and are not constrained by any given data type. You can add new user properties as needed.

You can define any custom properties, such as, for example ipAddress.
Note: All user-defined properties such as ipAddress are not in the generic set, and are stored as a serialized 'blob' data type instead. The implication of this storage convention is that these properties cannot be filtered, as they are incompatible with the _filter query parameter used in the REST API.
Tip: The Swagger documentation listing all properties can be found at the following default location: https://<your host>:8080/1.0/topology/swagger#!/Schema/getDefaultProperties