Создает новый автоматически применяемый тег.
Запрос использует и создает в качестве полезной нагрузки application/json
формат.
POST | АппОптима для управления | https://{your-domain}/e/{your-environment-id}/api/config/v1/autoTags
|
Среда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/config/v1/autoTags
|
Аутентификация
Чтобы выполнить этот запрос, вам нужен токен доступа с областью действия. WriteConfig
Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
Обратитесь к моделям JSON , чтобы найти все модели JSON, которые зависят от типа модели.
Параметр | Тип | Описание | In | Необходимость |
---|---|---|---|---|
body | AutoTag | Тело JSON запроса. Содержит параметры нового автотега. | body | необязательный |
Объекты тела запроса
Объект AutoTag
Конфигурация автотега. Он определяет условия использования тега и значение тега.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
metadata | ConfigurationMetadata | Метаданные, полезные для отладки | необязательный |
id | string | Идентификатор автотега. | необязательный |
name | string | Имя автотега, который применяется к обьектам.
Кроме того, вы можете указать формат значения в правиле тега. В этом случае тег используется в Например, вы можете расширить |
необходимый |
description | string | Описание автотега. | необязательный |
rules | AutoTagRule[] | Список правил использования тегов.
При наличии нескольких правил применяется логика ИЛИ. |
необязательный |
entitySelectorBasedRules | EntitySelectorBasedAutoTagRule[] | Список правил на основе селектора объектов для использования автоматической пометки.
Если указано несколько правил, применяется логика ИЛИ . |
необязательный |
Объект ConfigurationMetadata
Метаданные, полезные для отладки
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
configurationVersions | integer[] | Отсортированный список номеров версий конфигурации. | необязательный |
currentConfigurationVersions | string[] | Отсортированный список номеров версий конфигурации. | необязательный |
clusterVersion | string | Версия АппОптима. | необязательный |
Объект AutoTagRule
Правило для автоматической пометки.
Определяет условия использования тега.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип объектов, к которым применяется правило.
Элемент может содержать эти значения
|
необходимый |
enabled | boolean | Правило тегов включено ( true ) или отключено ( false ).
|
необходимый |
valueFormat | string | Значение автотега. Если указано, тег используется в name:valueFormat формате.
Например, вы можете расширить Здесь вы можете использовать следующие заполнители:
|
необязательный |
normalization | string | Изменения, примененные к значению после применения формата значения. По умолчанию LEAVE_TEXT_AS_IS.
Элемент может содержать эти значения
|
необязательный |
propagationTypes | string[] | Как применить тег к базовым объектам:
Элемент может содержать эти значения
|
необязательный |
conditions | EntityRuleEngineCondition[] | Список правил сопоставления для автоматической пометки.
Тег применяется только при выполнении всех условий. |
необходимый |
Объект EntityRuleEngineCondition
Условие определяет, как выполнять логику сопоставления для объекта.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
key | ConditionKey | Ключ для идентификации данных, которые мы сопоставляем.
Фактический набор полей и возможных значений зависит от типа ключа. Список актуальных объектов ищите в описании поля типа или смотрите модели JSON . |
необходимый |
comparisonInfo | ComparisonBasic | Определяет, как на самом деле выполняется сопоставление: что и как мы сравниваем.
Фактический набор полей и возможные значения поля оператора зависят от типа сравнения. Список актуальных объектов ищите в описании поля типа или смотрите модели JSON . |
необходимый |
Объект ConditionKey
Ключ для идентификации данных, которые мы сопоставляем.
Фактический набор полей и возможных значений зависит от типа ключа. Список актуальных объектов ищите в описании поля типа или смотрите модели JSON .
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
attribute | string | Атрибут, который будет использоваться для сравнения.
Элемент может содержать эти значения
|
необходимый |
type | string | Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
Элемент может содержать эти значения
|
необязательный |
Объект ComparisonBasic
Определяет, как на самом деле выполняется сопоставление: что и как мы сравниваем.
Фактический набор полей и возможные значения поля оператора зависят от типа сравнения. Список актуальных объектов ищите в описании поля типа или смотрите модели JSON .
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
operator | string | Оператор сравнения. Вы можете изменить его, установив отрицание в true .
Возможные значения зависят от типа сравнения. Найдите список актуальных моделей в описании поля типа и проверьте описание нужной вам модели. |
необходимый |
value | object | Значение для сравнения. | необязательный |
negate | boolean | Отменяет оператор сравнения . Например, он превращает начинается с в не начинается с . | необходимый |
type | string | Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
Элемент может содержать эти значения
|
необходимый |
Объект EntitySelectorBasedAutoTagRule
Основанное на селекторе объектов правило для автоматического использования тегов. Он позволяет помечать объекты с помощью селектора объектов.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
enabled | boolean | Правило включено ( true ) или отключено ( false ).
|
необязательный |
entitySelector | string | Строка селектора объектов, по которой выбираются объекты. | необходимый |
valueFormat | string | Значение автотега на основе селектора объектов. Если указано, тег используется в name:valueFormat формате.
Например, вы можете расширить |
необязательный |
normalization | string | Изменения, примененные к значению после применения формата значения. По умолчанию LEAVE_TEXT_AS_IS.
Элемент может содержать эти значения
|
необязательный |
JSON-модель тела запроса
Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.
<{ "name": "sampleAutoTag", "description": "sampleDescription", "rules": [ { "type": "SERVICE", "enabled": true, "valueFormat": "myTagValue {Service:DetectedName}", "propagationTypes": [ "SERVICE_TO_HOST_LIKE" ], "conditions": [ { "key": { "attribute": "SERVICE_DATABASE_NAME" }, "comparisonInfo": { "type": "STRING", "operator": "BEGINS_WITH", "value": "sample", "negate": false, "caseSensitive": false } }, { "key": { "attribute": "SERVICE_WEB_SERVER_NAME" }, "comparisonInfo": { "type": "STRING", "operator": "EXISTS", "negate": false } }, { "key": { "attribute": "PROCESS_GROUP_CUSTOM_METADATA", "type": "PROCESS_CUSTOM_METADATA_KEY", "dynamicKey": { "source": "KUBERNETES", "key": "kubernetes.io/limit-ranger" } }, "comparisonInfo": { "type": "STRING", "operator": "BEGINS_WITH", "value": "sample", "negate": false, "caseSensitive": false } } ] } ], "entitySelectorBasedRules": [ { "enabled": true, "entitySelector": "type(HOST) AND cpuCores(4)" } ] }
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
201 | EntityShortRepresentation | Успех. Автотег создан. Тело ответа содержит идентификатор нового автотега. |
400 | ErrorEnvelope | Неуспешно. Ввод недействителен. |
Объекты тела ответа
Объект EntityShortRepresentation
Краткое представление объекта АппОптима.
Элемент | Тип | Описание |
---|---|---|
id | string | Идентификатор объекта АппОптима. |
name | string | Имя объекта АппОптима. |
description | string | Краткое описание объекта АппОптима. |
JSON-модель тела ответа
<{ "id": "6a98d7bc-abb9-44f8-ae6a-73e68e71812a", "name": "Astromkey entity", "description": "Astromkey entity for the REST API example" }
Проверка полезной нагрузки
Мы рекомендуем вам проверить полезную нагрузку перед ее отправкой с фактическим запросом. Код ответа 204 указывает на действительную полезную нагрузку.
Запрос использует в качестве полезной нагрузки application/json
формат.
POST | АппОптима для управления | https://{your-domain}/e/{your-environment-id}/api/config/v1/autoTags/validator
|
Среда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/config/v1/autoTags/validator
|
Аутентификация
Чтобы выполнить этот запрос, вам нужен токен доступа с WriteConfig
областью действия.
Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
204 | Подтверждено. Представленная конфигурация действительна. Ответ не имеет тела. | |
400 | ErrorEnvelope | Неуспешно. Ввод недействителен. |
Пример
В этом примере запрос создает новый автоматический тег для служб , где имя службы содержит main
. Службам и хостам, на которых они работают, был присвоен тег MainApp .
Токен API передается при авторизации .
Тело запроса длинное, поэтому оно усекается в разделе Curl . См. тело запроса . Вы можете скачать или скопировать образец тела запроса, чтобы попробовать его самостоятельно.
Curl
<curl -X POST \ https://mySampleEnv.live.ruscomtech.ru/api/config/v1/autoTags \ -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ -H 'Content-Type: application/json' \ -d '{ <truncated - see the Request body section > }'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/config/v1/autoTags
Тело запроса
<{ "name": "MainApp", "rules": [ { "type": "SERVICE", "enabled": true, "valueFormat": null, "propagationTypes": ["SERVICE_TO_HOST_LIKE"], "conditions": [ { "key": { "attribute": "SERVICE_NAME" }, "comparisonInfo": { "type": "STRING", "operator": "CONTAINS", "value": "main", "negate": false, "caseSensitive": false } } ] } ] }
Тело ответа
<{ "id": "e3f5bfc1-ead4-4af8-9372-48beb05e03f9", "name": "MainApp" }
Код ответа
201
Результат
Новый автотег выглядит в пользовательском интерфейсе следующим образом: