在沙箱的 IPv6 地址上开放 UDP 端口
在沙箱自有的 IPv6 地址上开放一个 UDP 端口,只对 from 列出的来源开放;如果端口已开放,则用这些来源替换原来的来源。入站默认关闭:发往该地址的流量,只有属于节点见过的连接、是 ping,或者发往对其来源开放的端口时才放行;其余的立即拒绝(连接会收到 reset)。::/0 表示所有人,必须明确写出。端口从调用返回时起开放,沙箱休眠期间也一样(到来的流量会唤醒它)。一个沙箱最多开放 64 个端口。
所需权限范围:write。
PUT
https://api.glac.ai/v1/sandboxes/{id}/udp/{port}授权
路径参数
请求头参数
请求体JSON必填
Returns
200
端口当前的开放情况,以及它的访问地址。
400
请求不符合本调用的要求。invalid_json:请求体不是 JSON 对象;unknown_field:请求体中有本调用不接受的字段;unknown_parameter:查询中有本调用不接受的参数;invalid_port:路径中的端口不是 1 到 65535 之间的数字;invalid_from:from 缺失、为空、超过 32 项,或者其中有一项不是合法的 IPv6 前缀(前缀长度之后的位不能置 1);invalid_inbound:沙箱已开放 64 个端口。
JSON
401
missing_api_key, invalid_api_key, expired_api_key, invalid_token.
JSON
403
凭据无权执行此操作。needs_api_key:沙箱令牌不能执行此操作。
JSON
404
请求中指定的对象不存在。sandbox_not_found:沙箱不存在。
JSON
409
某个对象的状态不允许此操作。no_ipv6:沙箱没有自有的 IPv6 地址(节点没有地址池,或者模板中的代理程序早于自有地址功能),因此无法开放端口。static_instance:该沙箱是节点按静态配置维护的实例 (GET /internal/static):地址上开放什么由配置决定。
JSON
default
其他任何失败,格式相同。internal (500):节点出错;错误信息不会多说,节点日志中以请求的 id 记录了原因。unavailable(503,可重试):no_capacity,节点的网络槽位都已占用;memory_full,调用需要启动的虚拟机(创建、唤醒、从磁盘启动、恢复、回滚、构建)在宿主机内存中放不下(还要算上已承诺给其上运行的虚拟机的内存),也没有暂停或空闲的虚拟机可以让其休眠来腾出空间(节点的 memory);drive_full,调用需要构建模板,而节点的数据盘没有空间(节点的 drive);unavailable,节点正在关闭、沙箱 10 分钟后仍处于 starting、沙箱没有响应,或者沙箱正在迁到本节点(带 Retry-After: 1);fenced,节点的租约隔离了该沙箱 (Node.lease)。moved (409):沙箱已迁到另一个节点,由 to 指明。
JSON