Перейти к содержанию

foreman.php

В этой статье

Интерфейс взаимодействия с системой Foreman для получения данных об операционных системах, дисковых схемах, медиа-ресурсах, группах хостов и сетевых настройках.

Методы API

Метод Действие Описание
get_hostgroup получение групп хостов Возвращает список доступных групп хостов для локации сервера.
get_media получение установочного медиа Возвращает доступные установочные носители (ISO/Network) для выбранной ОС.
get_network получение сетевых данных Возвращает параметры сети (gateway, mask, network) для указанного IP-адреса.
get_os получение списка ОС Возвращает список доступных операционных систем для указанной локации с учетом прав доступа пользователя.
get_ptable получение схемы разметки дисков Возвращает подходящие схемы разбиения разделов для конкретной ОС.

foreman/get_os

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_os
token ✅ string Токен авторизации
id ✅ integer Идентификатор сервера для получения списка ОС в данной локации. Значение должно быть больше 0.

Пример запроса

curl -s "https://invapi.hostkey.ru/foreman.php" -X POST \
--data "action=get_os" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"results": [
{
"id": 1,
"title": "Ubuntu 22.04 LTS",
"description": "Standard installation image",
"internal": true,
"license": ""
}
]
}
Примеры ошибок
{
"-2": {
"message": "Foreman: invalid token, logout"
},
"-1": {
"message": "foreman/get_os: invalid server id"
},
"communication_failure": {
"message": "Foreman: communication failure"
}
}

foreman/get_ptable

Возвращает подходящие схемы разбиения разделов для конкретной ОС.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_ptable
token ✅ string Токен авторизации
id ✅ integer Идентификатор сервера (server ID)
os_id ✅ integer Идентификатор операционной системы

Пример запроса

curl -s "https://invapi.hostkey.ru/foreman.php" -X POST \
--data "action=get_ptable" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "os_id=VALUE"
Пример успешного ответа
{
"results": [
{
"id": 1,
"name": "Standard GPT"
}
]
}
Примеры ошибок
{
"-1": {
"message": "foreman/get_ptable: invalid server id",
"code": -1
},
"Foreman error": {
"message": "Ошибка, возвращаемая Foreman (поле 'error' или 'message')",
"code": "unknown"
}
}

foreman/get_media

Возвращает доступные установочные носители (ISO/Network) для выбранной ОС.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_media
token ✅ string Токен авторизации
id ✅ integer Идентификатор сервера (server ID)
os_id ✅ integer Идентификатор операционной системы для получения медиа

Пример запроса

curl -s "https://invapi.hostkey.ru/foreman.php" -X POST \
--data "action=get_media" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "os_id=VALUE"
Пример успешного ответа
{
"results": [
{
"id": 123,
"name": "Ubuntu 22.04 LTS",
"path": "/iso/ubuntu-22.04.iso"
}
]
}
Примеры ошибок
{
"-1": [
{
"code": -1,
"message": "Foreman: invalid os_id."
},
{
"code": -1,
"message": "foreman/get_media: invalid server id"
}
],
"-2": [
{
"code": -2,
"message": "Foreman: invalid token, logout"
},
{
"code": -2,
"message": "action required"
}
]
}

foreman/get_hostgroup

Возвращает список доступных групп хостов для локации сервера.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_hostgroup
token ✅ string Токен авторизации
id ✅ integer Идентификатор сервера для определения локации

Пример запроса

curl -s "https://invapi.hostkey.ru/foreman.php" -X POST \
--data "action=get_hostgroup" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
[
{
"id": 1,
"domain_name": "web-servers"
}
]
Примеры ошибок
{
"-2": {
"message": "token required | action required | location required",
"code": -2
},
"-1": {
"message": "foreman/get_hostgroup: invalid server id",
"code": -1
}
}

foreman/get_network

Возвращает параметры сети (gateway, mask, network) для указанного IP-адреса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_network
token ✅ string Токен авторизации
id ✅ integer Идентификатор сервера для проверки прав доступа и получения локации
ip ✅ string IP-адрес для определения параметров сети
network ✅ string Параметр network

Пример запроса

curl -s "https://invapi.hostkey.ru/foreman.php" -X POST \
--data "action=get_network" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "ip=VALUE" \
--data "network=VALUE"
Пример успешного ответа
[
{
"id": 1,
"network": "string",
"netmask": "string",
"gateway": "string"
}
]
Примеры ошибок
{
"-2": "action required / token required",
"-1": "Foreman: invalid IP / Foreman: invalid server id",
"-3": "permission denied"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×