管理防火牆
/api/v1/firewalls
管理組織防火牆的名稱、規則、預設選擇與套用的伺服器。
呼叫前請注意
變更規則或套用關係可能中斷 SSH 存取。系統防火牆不可編輯。重試請沿用相同 requestKey;供應商結果不明時可能回傳 409。
API 欄位名稱、型別與程式碼在所有語言中保持原樣。
請求範例
curl "https://tovahub.com/api/v1/firewalls" -X POST \
-H "Authorization: Bearer $TOVAHUB_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"action": "create",
"requestKey": "docs_example_001",
"name": "my-firewall"
}'僅提供範例,此頁不會發送 API 請求。
參數
actionJSON 請求主體 · 必填"create" | "rules" | "rename" | "default" | "servers" | "attach" | "delete"
各操作只接受對應欄位:create(name、rules);rules(id、rules);rename(id、name);default/delete(id);servers(id、serverIds);attach(id、serverId)。所有操作也都必須提供 requestKey。
idJSON 請求主體 · 選填string
system 或 24 個字元的防火牆 ID。除 create 外均須提供;系統資源無法編輯。
nameJSON 請求主體 · 選填string
去除頭尾空白後的名稱,1–80 個字元。create 與 rename 必填,其他操作不接受此欄位。
rulesJSON 請求主體 · 選填object[]
最多 64 條規則。rules 操作必填,create 預設為 []。每條須包含 displayName(1–255 個字元)、protocol(tcp、udp、icmp 或空字串)、destPorts(最多 15 個連接埠或範圍,0–65535)、ipv4(最多 100 個 IP/CIDR 或 AnyIPv4)、ipv6(最多 100 個 IP/CIDR 或 AnyIPv6)、action: accept 與 status: active。至少一份 IP 清單不得為空;TCP/UDP 須指定連接埠,ICMP 不需連接埠。
requestKeyJSON 請求主體 · 必填string
8–100 個字元,僅限 A–Z、a–z、0–9、底線或連字號。重試同一操作時,請沿用相同的鍵值與完全相同的輸入。
serverIdsJSON 請求主體 · 選填string[]
servers 操作必填。最多 100 個平台伺服器 ID,每個為 24 個十六進位字元。
serverIdJSON 請求主體 · 選填string
attach 操作必填。平台伺服器 ID,24 個十六進位字元。
回應
HTTP 狀態 200
回傳已確認的防火牆變更結果;供應商結果不確定時會拋出錯誤,不會捏造工作回執。
okboolean (true)請求的防火牆操作已完成,或已成功重播原結果。
pendingboolean (false)目前實作中成功的分支一律回傳 false。
idstring受影響的平台端防火牆識別碼;操作允許時也可能為 system。