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

foreman.php

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

Методы API

Метод Действие Описание
get_hostgroup получение групп хостов Возвращает список доступных групп хостов (hostgroups) для локации сервера.
get_media получение установочного медиа Возвращает список доступных установочных носителей (ISO/Media) для выбранной операционной системы.
get_network получение сетевой информации Возвращает идентификатор сети Foreman для указанного IP-адреса.
get_os получение списка ОС Возвращает список доступных операционных систем для конкретной локации Foreman. В зависимости от прав пользователя (customer/admin) возвращается расширенный или базовый список.
get_ptable получение таблиц разделов Возвращает подходящие схемы разметки дисков (partitioning schemas) для выбранной операционной системы.

foreman/get_os

Возвращает список доступных операционных систем для конкретной локации Foreman. В зависимости от прав пользователя (customer/admin) возвращается расширенный или базовый список.

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/foreman.php" -X POST \
--data "action=get_os" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": -1,
"error": "Foreman: communication failure"
}
Примеры ошибок
{
"code": -1,
"message": "Foreman: communication failure"
}

foreman/get_ptable

Возвращает подходящие схемы разметки дисков (partitioning schemas) для выбранной операционной системы.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
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"
Пример успешного ответа
{
"result": "OK",
"action": "get_ptable",
"data": [
{
"id": 10,
"name": "Standard GPT",
"description": "Standard partition table layout"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Foreman: invalid os_id."
}

foreman/get_media

Возвращает список доступных установочных носителей (ISO/Media) для выбранной операционной системы.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
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"
Пример успешного ответа
{
"result": "OK",
"action": "get_media",
"data": [
{
"id": 5,
"name": "Ubuntu 22.04 ISO",
"url": "https://mirror.example.com/ubuntu.iso"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Foreman: invalid os_id."
}

foreman/get_hostgroup

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
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"
Пример успешного ответа
{
"result": "OK",
"action": "get_hostgroup",
"data": [
{
"id": 101,
"name": "web-servers-group",
"description": "Group for web servers"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "foreman/get_hostgroup: invalid server id"
}

foreman/get_network

Возвращает идентификатор сети Foreman для указанного IP-адреса.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
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=VALUE" \
--data "id=VALUE" \
--data "ip=VALUE" \
--data "network=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_network",
"data": {
"id": 50,
"name": "192.168.1.0/24"
}
}
Примеры ошибок
{
"code": -1,
"message": "Foreman: invalid IP"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×