IP-адреса виртуальной машины


Возможные операции:


Создание

URL: /api/cvds/v1/ips/
Метод: POST
Результат: JSON

Параметры запроса:

  • vm_id - vm_id виртуальной машины
  • version - версия IP протокола (4 или 6)

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

curl -v -X POST "https://panel.netangels.ru/api/cvds/v1/ips/" \
     --header "Authorization: Token sDZfdN8MhD4fnWVE6xyX" \
     -d "vm_id=ar_vm_34534fc9" -d "version=4"

Пример успешного ответа:

{
     "id": 45,
     "vm": 12,
     "ipvalue": "192.168.204.99"
}

Возможные HTTP-коды возврата:

  • 201 (CREATED) - IP создан
  • 400 (BAD REQUEST) - данные в запросе имеют неверный формат или отсутствуют обязательные параметры
  • 403 (FORBIDDEN) - виртуальная машина не найдена или не принадлежит пользователю

При успешном создании HTTP-код будет 201 (CREATED), а заголовок Location содержит ссылку на ресурс:

Location: https://panel.netangels.ru/api/cvds/v1/ips/45/

Получение списка всех IP

URL: /api/cvds/v1/ips/
Метод: GET
Результат: JSON

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

curl -XGET https://panel.netangels.ru/api/cvds/v1/ips/ \
    --header 'Authorization: Token sDZfdN8MhD4fnWVE6xyX'

Пример успешного ответа:

{
    "count": 19, 
    "next": "https://panel.netangels.ru/api/cvds/v1/ips/?page=2", 
    "previous": null, 
    "results": [
        {
            "id": 327, 
            "ipvalue": "192.168.0.225", 
            "vm": 235
        }, 
        {
            "id": 328, 
            "ipvalue": "192.168.0.174", 
            "vm": 236
        }, 
        ... 
        {
            "id": 426, 
            "ipvalue": "192.168.202.168", 
            "vm": 335
        }
    ]
}

Получение информации по IP

URL: /api/cvds/v1/ips/<id>/
Метод: GET
Результат: JSON

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

curl -XGET https://panel.netangels.ru/api/cvds/v1/ips/327/ \
    --header 'Authorization: Token sDZfdN8MhD4fnWVE6xyX'

Пример успешного ответа:

{
    "id": 327, 
    "ipvalue": "192.168.0.225", 
    "vm": 235
}

Описание полей:

  • ipvalue - IP ВМ
  • vm - идентификатор ВМ

Получение списка IP у виртуальной машины

URL: /api/cvds/v1/ips/?vm=<vm_id>
Метод: GET
Результат: JSON

Параметры запроса:

  • vm - идентификатор ВМ, возможно указывать поля id и vm_id

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

curl -XGET https://panel.netangels.ru/api/cvds/v1/ips/?vm=az_vm_dcf4a74b \
    --header 'Authorization: Token sDZfdN8MhD4fnWVE6xyX'

Пример успешного ответа:

{
    "count": 1, 
    "next": null, 
    "previous": null, 
    "results": [
        {
            "id": 397, 
            "ipvalue": "192.168.202.219", 
            "vm": 304
        }
    ]
}

Удаление IP

URL: /api/cvds/v1/ips/<id>/
Метод: DELETE
Результат: JSON

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

curl -XDELETE https://panel.netangels.ru/api/cvds/v1/ips/45/  \
    --header "Authorization: Token Zd4gON8ghKn7rD2ltbYl"

При успешном запросе сервер вернет HTTP-код 204 (NO CONTENT)