Skip to content

Primitives

Address

A string representation of a network address. An address can be a version 4 IP address, a version 6 IP address, DNS name or MAC address.

AddressType

String value of a network address type. Could be only HOSTNAME, IPV4, IPV6 or MAC.

AuthenticationMethod

A string representation of an authentication method. Currently, only PASSWORD is supported.`

Boolean

One out of true or false.

DateTime

Pinpoints a moment in time in the format of ISO8601 standard yyyy-mm-ddThh:MM:ssZ, where ”yyyy” denotes year (4 digits), ”mm” denotes month starting from 01, ”dd” denotes day starting from 01, ”T” is the separator between date and time part, ”hh” denotes hour in the 24-hour format (00-23), ”MM” denotes minute (00-59), ”ss” denotes second (00-59). ”Z” indicates that the time is in UTC. An example of a valid date/time string is ”2024-12-05T12:00:00Z”

Direction

The direction of a sorting operation. Possible values are the String representation of ascending (ASC) or descending (DESC) order.

ErrorType

String value of the error type. Could be ARROWHEAD, INVALID_PARAMETER, AUTH, FORBIDDEN, DATA_NOT_FOUND, TIMEOUT, LOCKED, INTERNAL_SERVER_ERROR or EXTERNAL_SERVER_ERROR.

LogSeverity

Alias for a String value that describes the kind and seriousness of a log message. Could be ALL, TRACE, DEBUG, INFO, WARN, ERROR or FATAL.

MQTTQoS

QoS in MQTT refers to the level of guarantee for message delivery between the publisher and the subscriber. It can be 0, 1 or 2 (learn more).

Name

A String indentifier that is intended to be both human and machine-readable. The allowed characters are letters, numbers and dash (-). A name has to start with a letter and cannot end with a dash. There are different restrictions on the length of the name depending on the data model.

Number

Decimal number.

PropertyValidator

An identifier of any suitable validator function chosen by the implementor of service. The validators have different kinds of inputs, depending on what to validate. Some validators have optional or mandatory arguments. The implemented validators are the following:

  • NOT_EMPTY_ADDRESS_LIST: The input is a list of Addresses and must contain at least one element. The validator checks if the addresses are valid and in alignment with the supported address types and performs normalization. An example for usage: validating HTTP interface access addresses.
  • NOT_EMPTY_STRING_SET: The input is a list of Strings and must contain at least one element. The validator checks if the are not empty and performs normalization. It can be used with the optional NAME argument. In that case, normalization and validation happens according to the naming convention. An example for usage: validating possible MQTT interface operations.
  • PORT: This validator is meant to be used for ports. The input is an integer that represents a port number. The validator checks if the given value is between 1 and 65535, since in practice all valid port numbers fall within this range.
  • MINMAX: The input is a Number. It is mandatory to give two Strings as arguments, that represent the lower and upper limits of a closed interval. The validator checks if the input falls within the interval. (The PORT validator is a specific MINMAX validator, where the arguments are "1" and "65535".)
  • HTTP_OPERATIONS: This validator is meant to be used for HTTP operations. The input is one or more key-value pair where the keys are Strings and the values are also key-value pairs, where the keys are path and method. A concrete example: "query-temperature": { "path": "/query", "method": "GET" }, "set-temperature": { "path": "/set", "method": "PUT" } The validation and normalization happens according to the HTTP standards.

Protocol

A string representation of a communication protocol. Examples: http, https, tcp, ssl...

SecurityPolicy

Any suitable security policy chosen by the implementor of the service. The possible values are: NONE, CERT_AUTH, TIME_LIMITED_TOKEN_AUTH, USAGE_LIMITED_TOKEN_AUTH, JSON_WEB_TOKEN_AUTH.

ServiceInstanceID

A string identifier of a service instance. It consists of the instance's provider name, service definition and version, each separated by double colons, as follows: <provider-name>::<service-definition>::<version>. An example for a valid service instance ID: alert-provider1::alert-service1::1.0.0. (Here the provider name is alert-provider1, the service definition is alert-service1, and the version is 1.0.0.)

String

A chain of UTF-8 characters.

UUID

A UUID (Universally Unique Identifier) is a 128-bit identifier used to uniquely distinguish objects in distributed systems (e.g.: 550e8400-e29b-41d4-a716-446655440000)

Version

Specifies a system version. Version must follow the Semantic Versioning, which means, it consists of three numbers separated by dots. These numbers represent the MAJOR, MINOR and PATCH version. An example: 5.0.0