Skip to content

API ổ đĩa, volume & bảng giá ​

Các endpoint cho ổ đĩa bền vững, volume của workspace và bảng giá.

Endpoint của workspace nằm dưới /api/workspaces/{slug} và dùng cùng cách xác thực với phần còn lại của API; xem Xác thực. Endpoint đọc dành cho mọi thành viên workspace; thao tác thay đổi cần quyền admin của workspace.

Đối tượng ​

Volume ​

Một ổ đĩa bền vững, thuộc về một dự án, template, cơ sở dữ liệu được quản lý hoặc cloud desktop.

TrườngKiểuMô tả
idstringID volume
workspace_idstringWorkspace sở hữu
workload_typestringproject, template, database hoặc desktop
workload_idstringID của workload sở hữu
workload_namestringTên của workload sở hữu
pvc_namestringTên PVC Kubernetes
namespacestringNamespace Kubernetes
size_gibintegerDung lượng đã cấp phát, tính bằng GiB (dung lượng tính phí)
mount_pathstringĐường dẫn mount trong container
storage_classstringStorage class
statusstringprovisioning, bound, resizing, failed hoặc released
last_errorstringLỗi cấp phát hoặc mở rộng gần nhất, nếu có
billing_starts_atstring (RFC 3339)Thời điểm bắt đầu tính phí lưu trữ
released_atstring | nullThời điểm ổ đĩa bị xóa và dừng tính phí
created_at / updated_atstring (RFC 3339)Mốc thời gian
monthly_cost_usdnumberChi phí của dung lượng hiện tại cho một tháng 730 giờ
hourly_cost_usdnumberChi phí của dung lượng hiện tại mỗi giờ

StoragePricing ​

TrườngKiểuMô tả
usd_per_gib_monthnumberGiá mỗi GiB mỗi tháng
hours_per_monthintegerSố giờ trong một tháng tính phí (730)
min_size_gibintegerDung lượng nhỏ nhất (1)
max_size_gibintegerDung lượng lớn nhất (1000)
versionstringPhiên bản bảng giá ghi vào usage
enabledbooleanLưu trữ hiện có đang tính phí hay không

Volume ​

Liệt kê volume ​

Mọi ổ đĩa trong workspace (dự án, template, cơ sở dữ liệu và cloud desktop).

http
GET /api/workspaces/{slug}/volumes

Phản hồi:

jsonc
{
  "volumes": [ /* Volume */ ],
  "pricing": { /* StoragePricing */ }
}

Mở rộng volume ​

Tăng dung lượng ổ đĩa. Cần quyền admin.

http
PATCH /api/workspaces/{slug}/volumes/{volume_id}

Body:

json
{ "size_gib": 30 }

Phản hồi: { "volume": Volume }

Chỉ được tăng dung lượng. size_gib nhỏ hơn sẽ trả về 400 kèm hướng dẫn di chuyển dữ liệu sang ổ đĩa mới nhỏ hơn. Tăng dung lượng khi ví hết tiền sẽ trả về 403. Ổ đĩa home của cloud desktop chỉ tăng được sau khi đã bind (trả về 409 trước lần khởi động đầu tiên) và không vượt quá giới hạn ổ đĩa desktop của nền tảng (vượt quá trả về 400).

Ổ đĩa dự án ​

Lấy ổ đĩa dự án ​

http
GET /api/workspaces/{slug}/projects/{project_slug}/disk

Phản hồi:

jsonc
{
  "disk": null,
  "pricing": { /* StoragePricing */ }
}

disk là một Volume, hoặc null khi dự án stateless.

Tạo hoặc cập nhật ổ đĩa dự án ​

Bật ổ đĩa cho dự án, tăng dung lượng hoặc đổi đường dẫn mount. Cần quyền admin.

http
PUT /api/workspaces/{slug}/projects/{project_slug}/disk

Body:

json
{ "size_gib": 10, "mount_path": "/data" }

Phản hồi:

jsonc
{
  "disk": { /* Volume */ },
  "redeploy_required": true
}

Thay đổi có hiệu lực ở lần triển khai tiếp theo. Quy tắc dung lượng và đường dẫn mount xem tại Ổ đĩa bền vững. Không thể giảm dung lượng.

Xóa ổ đĩa dự án ​

Xóa ổ đĩa cùng toàn bộ dữ liệu và dừng tính phí lưu trữ. Cần quyền admin.

http
DELETE /api/workspaces/{slug}/projects/{project_slug}/disk?confirm={project_slug}

Tham số confirm phải trùng với slug của dự án. Trả về 409 khi dự án còn bản triển khai đang chạy; hãy dừng dự án trước.

Phản hồi: { "message": "..." }

Tạo dự án kèm ổ đĩa ​

POST /api/workspaces/{slug}/projects nhận thêm đối tượng disk (tùy chọn):

json
{
  "name": "my-app",
  "disk": { "size_gib": 10, "mount_path": "/data" }
}

Bỏ disk để tạo dự án stateless.

Bảng giá ​

Lấy bảng giá ​

Công khai: gửi request không cần API key hay session. Trả về giá CPU và RAM theo giờ theo từng mức số dư ví, mức thấp nhất đứng trước (min_balance_usd là số dư từ đó mức giá áp dụng), cùng bảng giá lưu trữ bền vững.

http
GET /api/pricing

Phản hồi:

json
{
  "compute": {
    "tiers": [
      { "min_balance_usd": 0, "cpu_usd_per_hour": 0.02, "ram_gb_usd_per_hour": 0.01 },
      { "min_balance_usd": 100, "cpu_usd_per_hour": 0.014, "ram_gb_usd_per_hour": 0.007 },
      { "min_balance_usd": 200, "cpu_usd_per_hour": 0.012, "ram_gb_usd_per_hour": 0.006 }
    ]
  },
  "storage": {
    "usd_per_gib_month": 0.15,
    "hours_per_month": 730,
    "min_size_gib": 1,
    "max_size_gib": 1000,
    "version": "...",
    "enabled": true
  }
}

Bản ghi sử dụng ​

GET /api/workspaces/{slug}/wallet/usage trả về các bản ghi sử dụng theo giờ. Mỗi bản ghi có thêm:

TrườngKiểuMô tả
kindstringcompute hoặc storage
volume_idstring | nullVolume được tính phí, với bản ghi storage
storage_gibintegerDung lượng tính phí, với bản ghi storage
cost_nano_usdintegerChi phí lưu trữ chính xác, đơn vị một phần tỷ đô la

Với bản ghi storage, cost_nano_usd là số tiền chính xác; phần dưới 1 cent được cộng dồn trên ví và chỉ trừ khi đủ một cent. cost_usd (cent) chứa chi phí compute.

Released under the ISC License.