Селектор объектов
Селектор объектов— это мощный инструмент для указания, какие сущности вы хотите включить в область вызовов API среды v2. Он используется в нескольких API, поэтому вам нужно выучить синтаксис только один раз, а затем повторно использовать его для нескольких вариантов использования.
Необходимо указать один из следующих критериев:
- Тип объекта
- Идентификатор объекта
Кроме того, вы можете указать следующие критерии в любой комбинации:
- Имя объекта
- Атрибут объекта
- Тэг
- Идентификатор зоны управления
- Название зоны управления
- Состояние здоровья
Если указать несколько критериев, в ответ будут включены только результаты, соответствующие всем критериям.
Ограничения
Общая длина строки entitySelector ограничена 10 000 символов.
Вы можете выбрать только один тип объекта для каждого запроса.
Тип объекта
Тип объекта, который вы хотите запросить.
Вы можете получить список доступных типов службс помощью вызова GET для всех типов служб.
Синтаксис | type("value")
|
Несколько значений | нет |
Оператор значения | EQUALS
|
Значение с учетом регистра | нет |
Идентификатор объекта Ключ-АСТРОМ
Идентификатор объекта Ключ-АСТРОМ запрошенного объекта.
Чтобы указать несколько идентификаторов, разделите их запятой ( ,
). Все запрошенные сущности должны быть одного типа.
Вы можете получить список доступных службс помощью вызова списка службGET .
Синтаксис | entityId("id-1","id-2")
|
Несколько значений | да |
Оператор значения | EQUALS
|
Значение с учетом регистра | нет |
Имя объекта
Имя запрошенного объекта.
Вы можете получить список доступных службс помощью вызова GET списка объектов .
Синтаксис | entityName("name")
|
Несколько значений | нет |
Оператор значения | CONTAINS
|
Значение с учетом регистра | нет |
Старт с модификации
Изменяет оператор значения критерия имени объекта на BEGINS WITH
.
Синтаксис | entityName.startsWith("name")
|
Несколько значений | нет |
Оператор значения | BEGINS WITH
|
Значение с учетом регистра | нет |
Равная модификация
Изменяет оператор значения критерия имени объекта на EQUALS
.
Синтаксис | entityName.equals("name")
|
Несколько значений | нет |
Оператор значения | EQUALS
|
Значение с учетом регистра | нет |
Модификация одного из значений
Позволяет указать несколько значений для критерия имени объекта.
Синтаксис | entityName.in("name1","name2")
|
Несколько значений | да |
Оператор значения | EQUALS
|
Значение с учетом регистра | нет |
Модификация с учетом регистра
По умолчанию оценка имен объектов не учитывает регистр. Вы можете ужесточить критерий, используя caseSensitive
модификацию. Он принимает любой критерий имени объекта в качестве аргумента (включая те, которые уже изменены с помощью модификаторов .startsWith
или .equals
) и оценивает значения как чувствительные к регистру.
Синтаксис | caseSensitive(<entity name criterion>)
|
Несколько аргументов | нет |
Атрибут объекта
Пара 'имя атрибута — значение атрибута', которую должен иметь запрошенный объект.
Чтобы указать несколько значений атрибута, разделите их запятыми ( ,
).
Чтобы получить список доступных атрибутов, выполните вызов типа объекта GET и проверьте поле свойств . Вы можете использовать атрибуты со значениями, которые могут быть представлены строкой.
Синтаксис | <attribute name>("attribute value")
|
Несколько значений | да |
Оператор значения | EQUALS
|
Имя атрибута с учетом регистра | нет |
Значение атрибута с учетом регистра | да |
Существующая модификация
Изменяет оператор критерия атрибута объекта на EXISTS
. В этом случае условие выбирает объекты, которые имеют атрибут, независимо от значения атрибута.
Синтаксис | <attribute name>.exists()
|
Оператор | EXISTS
|
Тэг
Тег запрошенных сущностей. Теги в форматах [context]key:value
, key:value
и value
обнаруживаются и анализируются автоматически. Если в теге, содержащем только значение, есть двоеточие ( :
), вы должны экранировать двоеточие обратной косой чертой ( \
). В противном случае тег будет проанализирован как key:value
тег.
Чтобы указать несколько тегов, разделите их запятой ( ,
). Объект с любым из указанных тегов включается в ответ.
Вы можете получить список доступных тегов с помощью пользовательских тегов GET и вызовов автоматических тегов GET .
Синтаксис | tag("[context]key1:value-1","key2:value-2","value-3")
|
Несколько значений | да |
Оператор значения | EQUALS
|
Значение с учетом регистра | да |
Идентификатор зоны управления
Идентификатор зоны управления, к которой принадлежат запрошенные объекты.
Чтобы указать несколько идентификаторов, разделите их запятой ( ,
).
Вы можете получить список доступных зон управления с помощью вызова GET для всех зон управления .
Синтаксис | mzId("123456789","987654321")
|
Несколько значений | да |
Оператор значения | EQUALS
|
Значение с учетом регистра | неприменимо |
Название зоны управления
Имя зоны управления, к которой принадлежат запрошенные объекты.
Чтобы указать несколько имен, разделите их запятой ( ,
).
Вы можете получить список доступных зон управления с помощью вызова GET для всех зон управления .
Синтаксис | mzName("name-1","name-2")
|
Несколько значений | да |
Оператор значения | EQUALS
|
Значение с учетом регистра | да |
Состояние здоровья
Состояние работоспособности запрошенных сущностей. Возможные значения HEALTHY
и UNHEALTHY
.
Синтаксис | healthState("HEALTHY")
|
Несколько значений | нет |
Оператор значения | EQUALS
|
Значение с учетом регистра | да |
Первый взгляд
Отметка времени (в миллисекундах UTC), когда объект был замечен в первый раз.
Синтаксис | firstSeenTms.<operator>(timestamp)
|
Несколько значений | нет |
Оператор значения |
|
Значение с учетом регистра | неприменимо |
Отношения
Отношения, которые должен иметь запрошенный объект.
Чтобы получить список доступных отношений, выполните вызов типа объекта GET и проверьте поля fromRelationships и toRelationships .
Синтаксис |
|
Несколько аргументов | нет |
Примечание | Принимает селектор объекта в качестве атрибута. |
Критерий отрицания
Вы можете использовать not
модификацию для инвертирования любого критерия, кроме типа . Он принимает критерий в качестве аргумента и инвертирует условие. Например, not(tag("Infrastructure:Linux"))
критерий выбирает объекты, у которых нет тега Infrastructure :Linux .
Вы можете использовать инвертированные критерии как часть сложных селекторов, как и любые другие критерии.
Синтаксис | not (<criterion>)
|
Несколько аргументов | нет |
Примечание | Не поддерживает критерии типа . |