API автоматически определяемых тегов - POST автоматический тег
Создает новый автоматически применяемый тег.
Запрос использует и создает в качестве полезной нагрузки application/json
формат.
POST | Ключ-АСТРОМ Managed для управления | 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 | Ключ-АСТРОМ Managed для управления | 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
Результат
Новый автотег выглядит в пользовательском интерфейсе следующим образом: