Типы данных в схемах доменов

Раздел содержит описания типов данных, поддерживаемых схемами доменов, с особенностями их использования и примерами.

Тип данных Описание Формат ввода-вывода Пример

UUID

Универсальный уникальный идентификатор (UUID).

Значение состоит из пяти групп шестнадцатеричных символов, разделенных дефисами:

<8 символов>-<4 символа>-<4 символа>-<4 символа>-<12 символов>

Используются только строчные буквы.

JSON-строка

"61f0c404-5cb3-11e7-907b-a6006ad3dba0"

Timestamp

Момент времени.

В формате JSON-число не включает часовой пояс.

В формате JSON-строка может включать часовой пояс; при сохранении всегда приводится к времени UTC.

JSON-число, JSON-строка

JSON-число: 1621428394335

JSON-строка: "2024-08-10T10:31:41Z"

Date

Календарная дата. Ниже представлены форматы значения.

Только дата:

YYYY

YYYY-MM

YYYY-MM-DD

Допустимы также формы "дата и время", состоящие из одной из вышеуказанных форм типа "только дата", за которой сразу же следует "T", затем одна из нижеследующих форм представления времени, а за ней — необязательное значение смещения на часовой пояс:

THH:mm

THH:mm:ss

THH:mm:ss.sss

JSON-строка

"2024-05-23"

Time

Время. Ниже представлены форматы значения.

Только дата:

YYYY

YYYY-MM

YYYY-MM-DD

Допустимы также формы "дата и время", состоящие из одной из вышеуказанных форм типа "только дата", за которой сразу же следует "T", затем одна из нижеследующих форм представления времени, а за ней — необязательное значение смещения на часовой пояс:

THH:mm

THH:mm:ss

THH:mm:ss.sss

JSON-строка

"05:35:22"

TimestampRange

Отрезок момента времени.

При сохранении всегда приводится к времени UTC.

Ниже представлены форматы значения даты-времени начала и окончания.

Только дата:

YYYY

YYYY-MM

YYYY-MM-DD

Допустимы также формы "дата и время", состоящие из одной из вышеуказанных форм типа "только дата", за которой сразу же следует "T", а затем одна из нижеследующих форм представления времени, а за ней — необязательное значение смещения на часовой пояс:

THH:mm

THH:mm:ss

THH:mm:ss.sss

JSON-строка

["2024-08-10T10:31:41Z", "2025-10-10T10:31:41Z"]

String

Строка. Задается в двойных кавычках.

JSON-строка

"абвг123"

MAC

MAC-адрес.

Значение — шесть двузначных шестнадцатеричных чисел, разделенных двоеточиями. Используются только заглавные буквы:

XX:XX:XX:XX:XX:XX

JSON-строка

"00:53:00:B8:DF:B8"

Integer

Целое число

JSON-число

255

Decimal

Число с заданной точностью.

Дробная часть числа отделяется точкой. По умолчанию используется степень точности с одной цифрой после десятичного разделителя.

Если в параметрах указано количество знаков после запятой, используется это значение.

JSON-строка

0.9

Float

Число с плавающей точкой.

Дробная часть числа отделяется точкой. По умолчанию используется степень точности с одной цифрой после десятичного разделителя.

Если в параметрах указано количество знаков после запятой, используется это значение.

JSON-число

0.999

Bool

Логическое значение

JSON-булево

True

False

Enum

Список предопределенных значений с возможностью выбрать одно значение.

Для того, чтобы использовать в схеме домена список, необходимо создать пользовательский тип данных.

JSON-строка

"CRITICAL"

IpAddress

Тип данных позволяет хранить IPv6 (по стандарту RFC 5952), IPv4, IPv4 в формате IPv6. IPv4 в нотации IPv6 записывается следующим образом:

  • Последние 32 младших бита записываются как IPv4-адрес.

  • В начале идут только нулевые поля и одно единичное, записанные в нотации IPv6.

JSON-строка

IPv6: "2001:0db8:85a3:0000:0000:8a2e:0370:7334"

IPv4: "192.0.2.128"

IPv4 в формате IPv6: "::ffff:192.0.2.128" (аналогично 192.0.2.128)

CIDR

Адрес подсети с маской в формате CIDR.

Формат значения:

<IP-адрес>/<маска>

JSON-строка

IPv4: "198.51.100.0/22"

IPv6: "2001:db8::/48"

Reference

Значением является ссылка (например, на сущность)

Ввод: JSON-строка, JSON-объект

Вывод: JSON-объект

Ввод (JSON-строка): "61f0c404-5cb3-11e7-907b-a6006ad3dba0"

Ввод (JSON-объект с обязательным полем id): \{"id": "61f0c404-5cb3-11e7-907b-a6006ad3dba0"}

Вывод (JSON-объект): \{"domainId": "exmpl.tld", "entityId": "Person", "id": "61f0c404-5cb3-11e7-907b-a6006ad3dba0"}

Workflow

Рабочий процесс.

Значением является список состояний и переходов. В базе хранится одно значение для сущности на текущий момент.

Для того чтобы использовать в схеме домена рабочий процесс, необходимо создать пользовательский тип данных.

JSON-строка

"REPAIRING"

Array

Массив значений заданного типа данных. Элементы массива указываются в квадратных скобках и разделяются запятой и пробелом.

JSON-массив

[321, 123, 12344]

Table

Данные хранятся в виде массива JSON, содержащего объекты с системными полями и полем значений атрибутов. Системное поле — rowId. Значение rowId не должно повторяться.

JSON-массив

Calculation

Результат расчета по схеме. Число с плавающей точкой.

JSON-число

100