メインコンテンツまでスキップ

Network Volume

共通規約​

  • Base URL: BASE_API_URL
  • Path: /bff/v1/networkvolume/{orgIdentifier}/workspaces/{workspaceIdentifier}/{action}
  • Method: すべてPOST。
  • サービス固有ヘッダー: X-Region: <region>
  • 共通ヘッダー (apiClient): X-Org-Id、X-Workspace-Id、X-User-Id
  • レスポンスエンベロープ: { "code": "", "message": "", "data": ..., "total": 0 }
  • パラメータ: Queryアクションはクエリ文字列で渡す(body {});その他のアクションはJSON bodyで渡す。

エンドポイント一覧​

ボリューム​

#ActionQuery paramBody用途
1network-volume.liststatus, sort_by, sort_type (asc | desc){}ボリューム一覧
2network-volume.create—{ name, capacity_gb }ボリューム作成
3network-volume.update—{ volume_id, capacity_gb }容量の拡張
4network-volume.delete—{ volume_id }ボリューム削除
5network-volume.calculateprice—{}単価の取得
6network-volume.checknamename{}名前の重複確認

S3アダプターキー​

#ActionQuery paramBody用途
7network-volume.lists3keys—{}S3キー一覧 + S3ステータス
8network-volume.creates3key—{ name }S3キー作成(タイムアウト90s)
9network-volume.gets3key—{ key_id }S3キー詳細
10network-volume.deletes3key—{ key_id }S3キー削除

制約​

フィールドルール
name最大16文字、正規表現 ^[a-zA-Z][a-zA-Z0-9-]*$(英字で始まる;英字、数字、- 使用可)
capacity_gb50〜3000 GB(デフォルト50)
デフォルトマウントポイント/mnt/hps

リクエストボディ​

2. network-volume.create​

{ "name": "my-volume", "capacity_gb": 100 }

3. network-volume.update — 容量の増加のみ​

{ "volume_id": "...", "capacity_gb": 200 }

8. network-volume.creates3key​

{ "name": "my-key" }

レスポンス​

ActionResponse (data)
network-volume.list[{ id, name, vast_config_id, region_code, capacity_gb, endpoint, status, last_error, created_at, created_by, updated_at, updated_by }](エンベロープにtotal含む)
network-volume.create / update / deleteVolume: listと同じフィールド + vast_resources{ quota, view_policy, view }
network-volume.calculateprice{ capacity_gb, price, price_per_gb_hour, hourly_cost, monthly_cost, total, currency_code, price_info{ currency, value, unit } } — FE優先順位: price_per_gb_hour → price → price_info.value;デフォルト通貨USD
network-volume.checkname{ is_duplicate: boolean }(FEはisDuplicate、duplicated、exists、data内にラップ、またはbooleanも受け付ける)

列挙型 (Enum)​

  • ボリュームstatus: ACTIVE、CREATING、PROCESSING、DELETING、DELETED、ERROR(ERRORの場合はlast_errorを確認)
  • リージョン表示: Ha Noi、Tokyo

エラーコード​

エラー形式​

エラー時、HTTPステータス ≠ 2xx でbodyは以下の形式:

{ "code": "EQ-RESOURCE-00001", "message": "...", "params": { "quotaLevel": "Workspace" }, "role_based": true }
  • role_based: true — 呼び出し元のロール(MANAGEMENT / WS_ADMIN / MEMBER)とparams.quotaLevelによってメッセージが異なる。
  • HTTP 401 — クライアントはログアウトしてログインページにリダイレクトする。

共通エラーコード (billing / quota / gateway)​

Code意味
INSUFFICIENT_BALANCEクレジット不足(role-based)。MANAGEMENTロールは自動でトップアップモーダルを開く。
INSUFFICIENT_PERMISSIONSこの操作を実行する権限がない。
EQ-RESOURCE-00001クォータに達した(role-based、params.quotaLevelによる)。
EQ-RESOURCE-SYSTEM-LIMITリソースのクォータに達した(params.name)。
BFF-CREATING-CONCURRENCYこのワークスペース/サービスで別のリソースが作成中。
route_not_foundエンドポイントが存在しない。
method_not_allowedメソッドが間違っている。POSTのみ使用可能。
request_too_largeボディが64 KBを超えている。
invalid_tokenトークンが無効または期限切れ。
gateway_internal_errorゲートウェイ内部エラー。
upstream_unavailableバックエンドサービスが一時的に利用不可。
gateway_timeoutバックエンドサービスがタイムアウト。