Обзор

Порты и WAF

Управление портами через REST API. Порты открывают доступ к сервисам проекта и поддерживают IP-правила фильтрации (WAF). Все методы требуют токен аутентификации.

POST /v1/project/:projectId/port

Создаёт в указанном проекте порт, открывающий доступ к сервису. Порт привязывается к сервису через serviceId и servicePort (например, 8080 или 8080/tcp). В ответе возвращается объект PortResponse с назначенными host, ip, nodeIp и номером port; новый порт создаётся со статусом creating.

Параметры:

Параметр Место Тип Обязательный Описание
projectId Path UUID Да ID проекта

Body:

Параметр Тип Обязательный Описание
name string Да Имя порта (латиница в нижнем регистре, цифры, дефис и точка)
serviceId string Да ID сервиса
servicePort string Да Порт сервиса (8080 или 8080/tcp)

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

{
    "name": "http-port",
    "serviceId": "880e8400-e29b-41d4-a716-446655440003",
    "servicePort": "8080/tcp"
}

Ответ:

{
    "id": "bb0e8400-e29b-41d4-a716-446655440006",
    "name": "http-port",
    "host": "abcd-efgh-ijkl.example.com",
    "ip": "192.168.1.2",
    "nodeIp": "10.0.0.2",
    "port": 30080,
    "servicePort": "8080/TCP",
    "status": "creating",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T10:30:00+00:00"
}

Ошибки:

  • 404 Not Found — Проект или сервис не найден
  • 400 Bad Request — Невалидные параметры

PUT /v1/port/:portId

Обновляет порт по его UUID. В теле запроса передаются serviceId и servicePort, что позволяет изменить целевой сервис и его порт. Возвращает объект PortResponse, аналогичный ответу на создание.

Параметры:

Параметр Место Тип Обязательный Описание
portId Path UUID Да ID порта

Body:

Параметр Тип Обязательный Описание
serviceId string Да ID нового целевого сервиса
servicePort string Да Порт сервиса (например, 9000/tcp)

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

{
    "serviceId": "880e8400-e29b-41d4-a716-446655440003",
    "servicePort": "9000/tcp"
}

Ответ:

{
    "id": "bb0e8400-e29b-41d4-a716-446655440006",
    "name": "http-port",
    "host": "abcd-efgh-ijkl.example.com",
    "ip": "192.168.1.2",
    "nodeIp": "10.0.0.2",
    "port": 30080,
    "servicePort": "9000/TCP",
    "status": "ready",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T10:30:00+00:00"
}

Ошибки:

  • 404 Not Found — Порт не найден

GET /v1/port/:portId

Возвращает один порт по его UUID. Ответ — объект PortResponse, включающий имя, хост, IP-адрес, IP-адрес ноды, номер порта, порт сервиса, статус и даты создания и обновления.

Параметры:

Параметр Место Тип Обязательный Описание
portId Path UUID Да ID порта

Ответ:

{
    "id": "bb0e8400-e29b-41d4-a716-446655440006",
    "name": "http-port",
    "host": "abcd-efgh-ijkl.example.com",
    "ip": "192.168.1.2",
    "nodeIp": "10.0.0.2",
    "port": 30080,
    "servicePort": "8080/TCP",
    "status": "ready",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T10:30:00+00:00"
}

Ошибки:

  • 404 Not Found — Порт не найден

GET /v1/project/:projectId/ports

Возвращает все порты, созданные в указанном проекте. Ответ содержит массив объектов PortResponse с тем же набором полей, что и при получении одного порта.

Параметры:

Параметр Место Тип Обязательный Описание
projectId Path UUID Да ID проекта

Ответ:

[
    {
        "id": "bb0e8400-e29b-41d4-a716-446655440006",
        "name": "http-port",
        "host": "abcd-efgh-ijkl.example.com",
        "ip": "192.168.1.2",
        "nodeIp": "10.0.0.2",
        "port": 30080,
        "servicePort": "8080/TCP",
        "status": "ready",
        "createdAt": "2024-01-15T10:30:00+00:00",
        "updatedAt": "2024-01-15T10:30:00+00:00"
    }
]

Ошибки:

  • 404 Not Found — Проект не найден

POST /v1/port/:portId/reload

Перезагружает конфигурацию порта, повторно применяя текущие настройки. Возвращает объект PortResponse.

Параметры:

Параметр Место Тип Обязательный Описание
portId Path UUID Да ID порта

Ответ:

{
    "id": "bb0e8400-e29b-41d4-a716-446655440006",
    "name": "http-port",
    "host": "abcd-efgh-ijkl.example.com",
    "ip": "192.168.1.2",
    "nodeIp": "10.0.0.2",
    "port": 30080,
    "servicePort": "8080/TCP",
    "status": "ready",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T10:30:00+00:00"
}

Ошибки:

  • 404 Not Found — Порт не найден

DELETE /v1/port/:portId

Удаляет порт по его UUID. При успешном удалении метод возвращает пустой ответ без тела.

Параметры:

Параметр Место Тип Обязательный Описание
portId Path UUID Да ID порта

Ответ: 204 No Content — пустой ответ при успешном удалении.

Ошибки:

  • 404 Not Found — Порт не найден

GET /v1/port/:portId/waf

Возвращает WAF-конфигурацию порта. Ответ включает идентификатор WAF и правила IP-фильтрации ipRules: каждое правило задаёт адрес (например, 192.168.1.1 или подсеть 10.0.0.0/8) и действие allow либо deny.

Параметры:

Параметр Место Тип Обязательный Описание
portId Path UUID Да ID порта

Ответ:

{
    "id": "ff0e8400-e29b-41d4-a716-446655440007",
    "ipRules": [
        {
            "ip": "192.168.1.1",
            "action": "allow"
        },
        {
            "ip": "10.0.0.0/8",
            "action": "deny"
        }
    ]
}

Ошибки:

  • 404 Not Found — Порт не найден

PUT /v1/port/:portId/waf

Обновляет WAF-конфигурацию порта, которая состоит из правил IP-фильтрации. Тело запроса принимает список ipRules, где для каждого адреса или подсети указывается действие allow или deny. Возвращает объект PortWafResponse.

Параметры:

Параметр Место Тип Обязательный Описание
portId Path UUID Да ID порта

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

{
    "ipRules": [
        {
            "ip": "192.168.1.1",
            "action": "allow"
        },
        {
            "ip": "10.0.0.0/8",
            "action": "deny"
        }
    ]
}

Ответ:

{
    "id": "ff0e8400-e29b-41d4-a716-446655440007",
    "ipRules": [
        {
            "ip": "192.168.1.1",
            "action": "allow"
        },
        {
            "ip": "10.0.0.0/8",
            "action": "deny"
        }
    ]
}

Ошибки:

  • 404 Not Found — Порт не найден
Назад
Домены / Сертификаты
Далее
Маршруты и WAF
В этой статье
POST /v1/project/:projectId/port
PUT /v1/port/:portId
GET /v1/port/:portId
GET /v1/project/:projectId/ports
POST /v1/port/:portId/reload
DELETE /v1/port/:portId
GET /v1/port/:portId/waf
PUT /v1/port/:portId/waf

Мы используем файлы cookies

Продолжив работу с сайтом, вы соглашаетесь с   политикой использования файлов Cookies