Ключевые концепции
Сетевая модель
Текущий API описывает project-сети, привязки VM внутри этих сетей и публичные IP-ресурсы с правилами проброса портов. Эти сущности нужно использовать совместно, а не как один плоский объект.
Сетевая модель
- Проект может содержать одну или несколько сетевых сущностей.
- VM подключаются к сетям явно и при этом могут получать внутренний IP-адрес.
Публичные IP представлены как project-ресурсы. Правила проброса портов создаются под конкретным
publicIpId.При создании VM поле
publicIpModeопределяет, нужно ли запросить новый публичный IP, использовать существующий или вовсе его не указывать.
- 1
Создайте или выберите приватную сеть
Начинайте с network resource, чтобы у VM была явная project-scoped точка подключения.
- 2
Подключите VM и при необходимости назначьте внутренний адрес
Операции attach и update определяют, где именно VM находится внутри сети и какой internal IP она использует.
- 3
Найдите project public IP resource
Публичный доступ настраивается не на network object, а через отдельный public IP resource по идентификатору
publicIpId. - 4
Создайте правила проброса портов под этим public IP
Каждое правило сопоставляет внешний трафик с конкретной VM и портом внутри project-сети.
Важное ограничение
Текущий swagger документирует список и чтение public IP resources, а также управление port-forward rules под
существующим publicIpId. Отдельной операции создания public IP в этой API-поверхности сейчас нет.
Связанные endpoint
/projects/{projectId}/networksСоздание project-сети.
/projects/{projectId}/networks/{networkId}/vmsПодключение VM к сети.
/projects/{projectId}/networks/{networkId}/vms/{vmId}Изменение параметров подключения VM, включая internal IP.
/projects/{projectId}/public-ipsСписок project public IP resources.
/projects/{projectId}/public-ips/{publicIpId}/port-forwardsСоздание правила проброса порта.
/projects/{projectId}/public-ips/{publicIpId}/port-forwardsПросмотр правил проброса для выбранного public IP.