Skip to content

Primitives

AccessToken

A unique String of characters that is issued for a beneficiary system and is associated with a target, a target system, a scope and is expiring.

AccessTokenVariant

String value that specifies an exact token technology variant. The possible values are TIME_LIMITED_TOKEN_AUTH, USAGE_LIMITED_TOKEN_AUTH, BASE64_SELF_CONTAINED_TOKEN_AUTH, RSA_SHA256_JSON_WEB_TOKEN_AUTH, RSA_SHA512_JSON_WEB_TOKEN_AUTH, TRANSLATION_BRIDGE_TOKEN_AUTH.

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.`

AuthorizationLevel

A String representation of an authorization policy's priority level. Can only be PR (for policies that were created by their own providers), or MGMT (for policies that were created by a higher entity).

AuthorizationPolicyInstanceID

A composite String identifier that is intended to be both human and machine-readable. It consists of the instance’s level (PR for provider and MGMT for management), cloud identifier (or the word LOCAL in case of the Local Cloud), provider name, target type and target, each separated by a pipe as follows: <Level>|<CloudIdentifier>|<ProviderName>|<TargetType><Target>. Each part must follow its related naming convention. An example for a valid policy instance ID: PR|LOCAL|TemperatureProvider|SERVICE_DEF|celsiusInfo.

AuthorizationPolicyType

A String representation of the type of the authorization policy. Can only be ALL (everybody can use the target in the appropriate cloud), WHITELIST (whitelist-based policy), BLACKLIST (blacklist-based policy) or SYS_METADATA (system-level metadata-based policy).

AuthorizationTargetType

A String representation of the type of target in authorization policies. Can only be SERVICE_DEF (for service definitions) or EVENT_TYPE (for event types).

BlacklistReason

A chain of UTF-8 characters with a maximum length of 1024.

Boolean

A boolean value, one out of true or false.

CloudIdentifier

A String identifier of a Local Cloud. It consists of the cloud name and the organization name separated by a pipe, as follows: <CloudName>|<OrganizationName>. An example for a valid cloud identifier: TestCloud|AitiaInc. (Here the cloud name is TestCloud and the organization name is AitiaInc.) In certain cases, the word LOCAL is also considered valid and it references the Local Cloud.

DataModelID

A String identifier of a data model that defines both a specific format (e.g., JSON, XML) and its associated semantics. A name has to start with a letter and must follow the camelCase naming convention. The identifier's maximum length is 63 characters.

DataModelTranslationTaskID

A string identifier that is unique within the task owner system and associated with an existing model translation task.

DataModelTranslationTaskStatus

Alias for a string value that describes the actual state of a task. Can be: PENDING, IN_PROGRESS, DONE, ERROR.

DateTime

A String value that 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”

DeviceName

A String identifier that is intended to be both human and machine-readable. The allowed characters are uppercase letters (English alphabet only), numbers and underscore (_). A name has to start with a letter, cannot end with an underscore and must follow the UPPER_SNAKE_CASE naming convention. The identifier maximum length is 63 characters.

Direction

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

EncryptionAlgorithmName

A String identifier that belongs to an encryption algorithm. Possible values are: * AES/ECB/PKCS5Padding: encryption without any addition to the encryption key. * AES/CBC/PKCS5Padding: encryption with a generated initialization vector as an addition to the encryption key.

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.

EventTypeName

A String identifier that is intended to be both human and machine-readable. The allowed characters are letters (english alphabet only) and numbers. A name has to start with a letter and must follow the camelCase naming convention. The identifier maximum length is 63 characters.

IdentityToken

A unique and expiring String data issued by a central component to verify a system's identity during the interactions with the trusted Core and Support systems, allowing access without sharing the credentials with each and every Core/Support system at each and every interaction.

InterfaceName

A String identifier that is intended to be both human and machine-readable. The allowed characters are letters (English alphabet only), numbers and underscore (_). A name has to start with a letter and must follow the snake_case naming convention. The identifier maximum length is 63 characters.

KeyValuePair

Association of a key of type String and a value of any type. It is represented as a Map<String, Object> Some examples:

{
    "verbose": true,
    "name": "TemperatureProvider1",
    "size": 500
}

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.

MimeType

Standardized identifier that defines the nature and format of a data payload. Example: application/json, text/xml
Learn more

Mode

Specifies whether the queried records should have the active flag set. The possible values are: ALL, ACTIVES, INACTIVES.

MQTTQoS

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

Number

Decimal number, it is represented as int/Integer or long/Long depending on the range of possible values.

PropertyValidator

A String 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 String 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 OPERATION 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...

PublicKey

A Base64 String representation of the public byte array cryptographic key retrieved from an X.509 certificate.

SecurityPolicy

A String representation of security policies. The possible values are: NONE, CERT_AUTH, TIME_LIMITED_TOKEN_AUTH, USAGE_LIMITED_TOKEN_AUTH, BASE64_SELF_CONTAINED_TOKEN_AUTH, RSA_SHA256_JSON_WEB_TOKEN_AUTH, RSA_SHA512_JSON_WEB_TOKEN_AUTH, TRANSLATION_BRIDGE_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 pipe, as follows: <provider-name>|<service-definition>|<version>. An example for a valid service instance ID: AlertProvider1|alertService1|1.0.0. (Here the provider name is AlertProvider1, the service definition is alertService1, and the version is 1.0.0.)

ServiceName

A String identifier that is intended to be both human and machine-readable. The allowed characters are letters (English alphabet only) and numbers. A name has to start with a letter and must follow the camelCase naming convention. The identifier maximum length is 63 characters.

ServiceOperationName

A String identifier that is intended to be both human and machine-readable. The allowed characters are letters (English alphabet only) and numbers and dash (-). A name has to start with a letter, cannot end with dash and must follow the kebab-case naming convention. The identifier maximum length is 63 characters.

ServiceOrchestrationJobStatus

Alias for a String value that describes the actual state of a job. Can be: PENDING, IN_PROGRESS, DONE, ERROR.

ServiceOrchestrationType

Alias for a String value that can be only PULL or PUSH.

String

A chain of UTF-8 characters.

SystemName

A String identifier that is intended to be both human and machine-readable. The allowed characters are letters (English alphabet only) and numbers. A name has to start with a letter and must follow the PascalCase naming convention. The identifier maximum length is 63 characters.

TokenType

A String name that groups token technologies by usage characteristics. Can be USAGE_LIMITED_TOKEN, TIME_LIMITED_TOKEN, SELF_CONTAINED_TOKEN or TRANSLATION_BRIDGE_TOKEN.

TranslationBridgeID

A UUID that is associated with a prospective or existing translation bridge.

TranslationBridgeEventState

Alias for a String value that describes the type of an event related to a translation bridge. Can be: USED, INTERNAL_CLOSED, INTERNAL_ERROR, EXTERNAL_ERROR.

TranslationBridgeStatus

Alias for a String value that describes the actual state of a translation bridge. Can be: NEW, DISCOVERED, PENDING, INITIALIZED, USED, ABORTED, CLOSED, ERROR.

TranslationDiscoveryFlag

A String name for flag that is used in translation discovery. Possible values are:

  • CONSUMER_BLACKLIST_CHECK: If true, consumer should be cross-checked using the Blacklist Support system before anything else.
  • CANDIDATES_BLACKLIST_CHECK: If true, all candidates should be cross-checked using the Blacklist Support system. Blacklisted candidates will be removed from the candidates list.
  • TRANSLATORS_BLACKLIST_CHECK: If true, all appropriate interface and data model translators should be cross-checked using the Blacklist Support system. Blacklisted candidates will not be used in a translation bridge.
  • CANDIDATES_AUTH_CHECK: If true, discovery process should check whether the consumer can use the candidate's specified operation using the ConsumerAuthorization Core system. Candidates whose operation can't be accessed because of missing permission will be removed from the candidates list.
  • TRANSLATORS_AUTH_CHECK: If true, discovery process should check which translators are accessable according to the ConsumerAuthorization Core system. Interface translators must be accessible by the TranslationManager Support system, and data model translators must be accessible by the selected interface translator. Translators that do not match these requirements will not be used in a translation bridge.

UUID

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

Version

A String value that specifies a system or service instance 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