Groups
Scheme: groups.
Запрос
Параметры запроса:
Name |
In |
Type |
Description |
|---|---|---|---|
where (Optional) |
url parameters |
JSON object |
Фильтр элементов. Используется синтаксис mongo запросов. |
sort (Optional) |
url parameters |
string |
Сортировка элементов. |
projection (Optional) |
url parameters |
JSON object |
Скрытие полей. |
embedded (Optional) |
url parameters |
JSON object |
Встраивание элементов в поля. |
page (Optional) |
url parameters |
integer |
Номер страницы элементов. |
max_results (Optional) |
url parameters |
integer |
Максимальное число элементов на одной странице. |
Пример запроса:
curl -X GET http://tkcontrol/api/groups
Ответ
Пример ответа:
{
"_items": [
{
"_id": "5ea2da1910b639cdfe83bb3f",
"name": "medka",
"subgroups": [
"5eb52132f0e593e6ec94f3aa"
],
"type": 0,
"_updated": "Fri, 08 May 2020 09:07:54 GMT",
"_created": "Fri, 24 Apr 2020 12:22:49 GMT",
"_links": {
"self": {
"title": "Group",
"href": "groups/5ea2da1910b639cdfe83bb3f"
},
"related": {
"subgroups": [
{
"title": "Group",
"href": "groups/5eb52132f0e593e6ec94f3aa"
}
]
}
}
},
{
"_id": "5eb51ee46b1229b259e8f399",
"name": "medpc-img",
"type": 1,
"info": {
"regex": "medpc-.*",
"grain": {
"osfullname": "ALT",
"cpuarch": "x86_64"
}
},
"_updated": "Fri, 08 May 2020 08:57:08 GMT",
"_created": "Fri, 08 May 2020 08:57:08 GMT",
"_links": {
"self": {
"title": "Group",
"href": "groups/5eb51ee46b1229b259e8f399"
}
}
},
{
"_id": "5eb51ee410703b151657d15d",
"name": "skupov-img",
"type": 1,
"info": {
"regex": "skupov.*"
},
"_updated": "Fri, 08 May 2020 08:57:08 GMT",
"_created": "Fri, 08 May 2020 08:57:08 GMT",
"_links": {
"self": {
"title": "Group",
"href": "groups/5eb51ee410703b151657d15d"
}
}
},
{
"_id": "5eb52132f0e593e6ec94f3aa",
"name": "subgroup_med",
"subgroups": [],
"type": 0,
"_updated": "Fri, 08 May 2020 09:08:32 GMT",
"_created": "Fri, 08 May 2020 09:06:58 GMT",
"_links": {
"self": {
"title": "Group",
"href": "groups/5eb52132f0e593e6ec94f3aa"
},
"related": {
"subgroups": []
}
}
}
],
"_links": {
"parent": {
"title": "home",
"href": "/"
},
"self": {
"title": "groups",
"href": "groups"
}
},
"_meta": {
"page": 1,
"max_results": 25,
"total": 4
}
}
Запрос
Параметры запроса:
Name |
In |
Type |
Description |
|---|---|---|---|
projection (Optional) |
url parameters |
JSON object |
Скрытие полей. |
embedded (Optional) |
url parameters |
JSON object |
Встраивание элементов в поля. |
Пример запроса:
curl -X GET http://tkcontrol/api/groups/5ea2da1910b639cdfe83bb3f?embedded={"subgroups":1}
Ответ
Пример ответа:
{
"_id": "5ea2da1910b639cdfe83bb3f",
"name": "medka",
"subgroups": [
{
"_id": "5eb52132f0e593e6ec94f3aa",
"name": "subgroup_med",
"subgroups": [],
"type": 0,
"_updated": "Fri, 08 May 2020 09:08:32 GMT",
"_created": "Fri, 08 May 2020 09:06:58 GMT"
}
],
"type": 0,
"_updated": "Fri, 08 May 2020 09:07:54 GMT",
"_created": "Fri, 24 Apr 2020 12:22:49 GMT",
"_links": {
"self": {
"title": "Group",
"href": "groups/5ea2da1910b639cdfe83bb3f"
},
"related": {
"subgroups": [
{
"title": "Group",
"href": "groups/5eb52132f0e593e6ec94f3aa"
}
]
},
"parent": {
"title": "home",
"href": "/"
},
"collection": {
"title": "groups",
"href": "groups"
}
}
}
Запрос
Пример запроса:
curl -X GET http://tkcontrol/api/groups/5ea2da1910b639cdfe83bb3f/subgroups
Ответ
Пример ответа:
[
"5eb52132f0e593e6ec94f3aa"
]
Запрос
Пример запроса:
curl -X GET http://tkcontrol/api/groups/5ea2da1910b639cdfe83bb3f/hostnames
Ответ
Пример ответа:
[
"skupov-salt-minion-dev2",
"medpc-fe5f87.localdomain",
"salt-master-staging",
"salt-minion-staging-1",
"skupov-salt-minion-3-no-resp",
"skupov-salt-unaccepted"
]
Пример запроса:
curl -X POST http://tkcontrol/api/groups -H "Content-Type: application/json" -d '{ \
{ \
"name": "web servers", \
"subgroups": [ \
"5eb51ee46b1229b259e8f39a" \
], \
"hosts": [ \
"salt-minion-staging-1", \
"salt-master-staging" \
], \
"type": 0 \
}'
Ответ
Пример ответа:
{
"_updated": "Thu, 17 Dec 2020 14:13:12 GMT",
"_created": "Thu, 17 Dec 2020 14:13:12 GMT",
"_id": "5fdb677898305492eb558ccf",
"_links": {
"self": {
"title": "Group",
"href": "groups/5fdb677898305492eb558ccf"
},
"related": {
"subgroups": []
}
},
"_status": "OK"
}
Запрос
Параметры запроса:
Этот endpoint является прокси POST запроса к http://salt-api/. Но параметр "salt_client" заменяется на "client", "tgt" устанавливается в массив хостов, которые принадлежат этой группе, а "tgt_type" в "list". Ознакомиться со всеми возможными функциями можно на Salt Module Reference.
Пример запроса:
curl -X POST http://tkcontrol/api/groups/5eb51ee46b1229b259e8f399 -H "Content-Type: application/json" -d '{ \
{ \
"salt_client": "local", \
"fun": "cmd.run", \
"kwarg": { \
"cmd": "date" \
} \
}'
Ответ
Пример ответа:
{
"task_id":"603e3c733f97526801fd3176",
"status":"success",
"return":{
"return":[
{
"skupov-staging-tkcontrol-non-root-client1":"Tue Mar 2 13:24:04 UTC 2021"
}
]
}
}
Запрос
Пример запроса:
curl -X PATCH http://tkcontrol/api/groups/5ea2da1910b639cdfe83bb3f -H "Content-Type: application/json" -d '{ \
{ \
"hosts": [ \
"medpc-fe5f87.localdomain", \
"salt-master-staging" \
] \
}'
Ответ
Пример ответа:
{
"_id": "5ea2da1910b639cdfe83bb3f",
"_updated": "Thu, 17 Dec 2020 14:18:50 GMT",
"_created": "Thu, 17 Dec 2020 14:12:57 GMT",
"_links": {
"self": {
"title": "Group",
"href": "groups/5ea2da1910b639cdfe83bb3f/5ea2da1910b639cdfe83bb3f"
},
"related": {
"subgroups": [
{
"title": "Group",
"href": "groups/5ea2da1910b639cdfe83bb3f/5f73088a7594a4ab6be8cef7"
}
]
}
},
"_status": "OK"
}
Запрос
Параметры запроса:
Name |
In |
Type |
Description |
|---|---|---|---|
where (Optional) |
url parameters |
JSON object |
Фильтр групп. Принимает агрумент 'type' типа 'array of integers' или 'integer'. |
Пример запроса:
curl -X DELETE http://tkcontrol/api/groups?where={"type":[2,3,4]}
Запрос
Пример запроса:
curl -X DELETE http://tkcontrol/api/groups/5ea2da1910b639cdfe83bb3f