SurvivalHost API: различия между версиями

Материал из SurvivalHost Wiki
Перейти к навигации Перейти к поиску
 
(не показано 5 промежуточных версий этого же участника)
Строка 8: Строка 8:


'''<machine_id>''': Идентификатор машины
'''<machine_id>''': Идентификатор машины


= Доступ и авторизация =
= Доступ и авторизация =
Строка 25: Строка 24:
  [
  [
   {
   {
     "id": "1",
     "id": 1,
     "alias": "SH-VM10",
     "alias": "SH-VM10",
     "main_ip": "10.20.30.1",
     "main_ip": "10.20.30.1",
Строка 31: Строка 30:
   },
   },
   {
   {
     "id": "2",
     "id": 2,
     "alias": "SH-VM15",
     "alias": "SH-VM15",
     "main_ip": "10.20.30.2",
     "main_ip": "10.20.30.2",
Строка 45: Строка 44:
Пример ответа:  
Пример ответа:  
  {
  {
   "id": "1",
   "id": 1,
   "alias": "SH-VM10",
   "alias": "SH-VM10",
   "main_ip": "10.20.30.1",
   "main_ip": "10.20.30.1",
Строка 51: Строка 50:
  }
  }


Возвращаемые ошибки:
* HTTP 404 Machine not found.
== Query статус машины ==
'''GET [baseUrl]/v1/machines/<machine_id>/query'''
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://panel-api.survivalhost.org/v1/machines/1/query -k -v 
Пример ответа:
{
  "status": true,
  "query_status": 1
}
Возвращаемые ошибки:
* HTTP 404 Machine not found.
* HTTP 400 Machine do not support control.
* HTTP 400 Failed to complete action.
== Доступные дистрибутивы для машины ==
'''GET [baseUrl]/v1/machines/<machine_id>/os'''
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://panel-api.survivalhost.org/v1/machines/1/os-k -v 
Пример ответа:
[
  {
    "id": 4,
    "name": "Windows Server 2019"
  },
  {
    "id": 10,
    "name": "Ubuntu-18-Standard-KVM"
  }
]
Возвращаемые ошибки:
* HTTP 404 Machine not found.
== Запуск машины ==
'''POST [baseUrl]/v1/machines/<machine_id>/start'''
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X POST https://panel-api.survivalhost.org/v1/machines/1/start -k -v 
Пример ответа:
{
  "status": true
}
Возвращаемые ошибки:
* HTTP 404 Machine not found.
* HTTP 400 Machine do not support control.
* HTTP 400 Failed to complete action.
* HTTP 400 The machine rental service is suspended.
== Остановка машины ==
'''POST [baseUrl]/v1/machines/<machine_id>/stop'''
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X POST https://panel-api.survivalhost.org/v1/machines/1/stop -k -v 
Пример ответа:
{
  "status": true
}
Возвращаемые ошибки:
* HTTP 404 Machine not found.
* HTTP 400 Machine do not support control.
* HTTP 400 Failed to complete action.
* HTTP 400 The machine rental service is suspended.
== Перезапуск машины ==
'''POST [baseUrl]/v1/machines/<machine_id>/restart'''
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X POST https://panel-api.survivalhost.org/v1/machines/1/restart -k -v 
Пример ответа:
{
  "status": true
}
Возвращаемые ошибки:
* HTTP 404 Machine not found.
* HTTP 400 Machine do not support control.
* HTTP 400 Failed to complete action.
* HTTP 400 The machine rental service is suspended.
== Переустановка дистрибутива на машине ==
'''POST [baseUrl]/v1/machines/<machine_id>/reinstall'''
Тело запроса:
{
  "os":4
}
Пример запроса:
curl -d '{"os":4}' -H "Content-Type: application/json" -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X POST https://panel-api.survivalhost.org/v1/machines/1/reinstall -k -v 
Пример ответа:
{
  "status": true
}
Возвращаемые ошибки:
* HTTP 404 Machine not found.
* HTTP 400 Body must contain valid json.
* HTTP 400 The os field is required.
* HTTP 400 The os field must contain an integer.
* HTTP 400 Machine do not support control.
* HTTP 400 Failed to complete action.
* HTTP 400 The machine rental service is suspended.


{{nav foot}}
{{nav foot}}

Текущая версия на 20:14, 7 ноября 2023

SurvivalHost API
<< SurvivalHost Wiki | К концу статьи

Основные параметры

[baseUrl]: Главный URL сервиса (https://panel-api.survivalhost.org)

<token>: Токен доступа к сервисам (выдается сервисом при подключении)

<machine_id>: Идентификатор машины

Доступ и авторизация

Authorization: Bearer <token>

Пример тестового токена: nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V

Работа с машинами

Просмотр данных всех машин

GET [baseUrl]/v1/machines

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

curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://panel-api.survivalhost.org/v1/machines -k -v  

Пример ответа:

[
 {
   "id": 1,
   "alias": "SH-VM10",
   "main_ip": "10.20.30.1",
   "distributive": "Windows Server 2019"
 },
 {
   "id": 2,
   "alias": "SH-VM15",
   "main_ip": "10.20.30.2",
   "distributive": "Debian-9"
 }
]

Просмотр данных машины

GET [baseUrl]/v1/machines/<machine_id>

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

curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://panel-api.survivalhost.org/v1/machines/1 -k -v  

Пример ответа:

{
 "id": 1,
 "alias": "SH-VM10",
 "main_ip": "10.20.30.1",
 "distributive": "Windows Server 2019"
}

Возвращаемые ошибки:

  • HTTP 404 Machine not found.

Query статус машины

GET [baseUrl]/v1/machines/<machine_id>/query

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

curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://panel-api.survivalhost.org/v1/machines/1/query -k -v  

Пример ответа:

{
 "status": true,
 "query_status": 1
}

Возвращаемые ошибки:

  • HTTP 404 Machine not found.
  • HTTP 400 Machine do not support control.
  • HTTP 400 Failed to complete action.

Доступные дистрибутивы для машины

GET [baseUrl]/v1/machines/<machine_id>/os

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

curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://panel-api.survivalhost.org/v1/machines/1/os-k -v  

Пример ответа:

[
 {
   "id": 4,
   "name": "Windows Server 2019"
 },
 {
   "id": 10,
   "name": "Ubuntu-18-Standard-KVM"
 }
]

Возвращаемые ошибки:

  • HTTP 404 Machine not found.

Запуск машины

POST [baseUrl]/v1/machines/<machine_id>/start

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

curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X POST https://panel-api.survivalhost.org/v1/machines/1/start -k -v  

Пример ответа:

{
 "status": true
}

Возвращаемые ошибки:

  • HTTP 404 Machine not found.
  • HTTP 400 Machine do not support control.
  • HTTP 400 Failed to complete action.
  • HTTP 400 The machine rental service is suspended.

Остановка машины

POST [baseUrl]/v1/machines/<machine_id>/stop

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

curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X POST https://panel-api.survivalhost.org/v1/machines/1/stop -k -v  

Пример ответа:

{
 "status": true
}

Возвращаемые ошибки:

  • HTTP 404 Machine not found.
  • HTTP 400 Machine do not support control.
  • HTTP 400 Failed to complete action.
  • HTTP 400 The machine rental service is suspended.

Перезапуск машины

POST [baseUrl]/v1/machines/<machine_id>/restart

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

curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X POST https://panel-api.survivalhost.org/v1/machines/1/restart -k -v  

Пример ответа:

{
 "status": true
}

Возвращаемые ошибки:

  • HTTP 404 Machine not found.
  • HTTP 400 Machine do not support control.
  • HTTP 400 Failed to complete action.
  • HTTP 400 The machine rental service is suspended.

Переустановка дистрибутива на машине

POST [baseUrl]/v1/machines/<machine_id>/reinstall

Тело запроса:

{
  "os":4
}

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

curl -d '{"os":4}' -H "Content-Type: application/json" -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X POST https://panel-api.survivalhost.org/v1/machines/1/reinstall -k -v  

Пример ответа:

{
 "status": true
}

Возвращаемые ошибки:

  • HTTP 404 Machine not found.
  • HTTP 400 Body must contain valid json.
  • HTTP 400 The os field is required.
  • HTTP 400 The os field must contain an integer.
  • HTTP 400 Machine do not support control.
  • HTTP 400 Failed to complete action.
  • HTTP 400 The machine rental service is suspended.



SurvivalHost API
<< SurvivalHost Wiki | К началу статьи