API: دیسک‌های داده

فهرست، افزودن، بزرگ‌کردن و حذف دیسک‌های داده‌ی اضافه‌ی یک ماشین و دریافت قیمت پیش از انجام.

دیسک داده فقط روی ماشین‌های OVHcloud و فقط وقتی این قابلیت روشن است در دسترس است (GET /catalog/features آن را می‌گوید). دیسک بخشی از اشتراک ماشین است: افزودن یا بزرگ‌کردن آن، باقی‌ماندهٔ دورهٔ صورتحساب فعلی را کسر می‌کند و همراه ماشین تمدید می‌شود. دیسک فقط بزرگ می‌شود. افزودن، بزرگ‌کردن و حذف با 202 پاسخ می‌دهند؛ GET /orders/{order}/volumes را تا ثابت شدن وضعیت بپرسید. حذف دیسک داده‌های آن را از بین می‌برد. دیسک‌های داده را ببینید.

فهرست دیسک‌های داده‌ی یک ماشین

GET /orders/{order}/volumes

دیسک‌های داده‌ی ماشین را با حجم، وضعیت و قیمت، اندازه‌ی دیسک اصلی (بخشی از پلن)، حدود و اینکه سهمیه‌ی ارائه‌دهنده دیسک دیگری را مجاز می‌داند یا نه برمی‌گرداند. تا وقتی تغییری در جریان است وضعیت pending، attaching، extending یا deleting است؛ تا ثابت شدن بپرسید.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

پارامترهای مسیر

فیلد نوع
order integer

پاسخ‌ها

  • 200 موفق. برمی‌گرداند: data (DataVolumeList).
  • 403 مجاز نیست، این منبع متعلق به شما نیست
  • 422 خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی

نمونه

curl -X GET https://veneshcloud.ir/api/orders/ORDER_ID/volumes \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json"

افزودن دیسک داده

POST /orders/{order}/volumes

یک دیسک خالی به ماشین در حال اجرا یا متوقف اضافه می‌کند. مبلغ باقی‌ماندهٔ دورهٔ فعلی ابتدا از کیف پول کسر می‌شود و اگر ارائه‌دهنده نتواند دیسک را بسازد خودکار بازگردانده می‌شود. هر ماشین در هر زمان فقط یک تغییر دیسک دارد. دیسک خام است: آن را داخل ماشین فرمت و mount کنید.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

پارامترهای مسیر

فیلد نوع
order integer

بدنهٔ درخواست (application/json)

فیلد نوع الزامی مقادیر
size_gb integer بله

پاسخ‌ها

  • 202 پذیرفته شد، کار در پس‌زمینه ادامه دارد. برمی‌گرداند: data (DataVolume).
  • 403 مجاز نیست، این منبع متعلق به شما نیست
  • 422 خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی

نمونه

curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/volumes \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"size_gb":1}'

دریافت قیمت دیسک

GET /orders/{order}/volumes/pricing

نشان می‌دهد دیسک جدیدی به حجم size_gb چقدر هزینه دارد: قیمت هر دورهٔ صورتحساب و مبلغی که همین حالا برای باقی‌ماندهٔ دورهٔ فعلی کسر می‌شود، به معادل دلار و به ریال با نرخ امروز، و اینکه کیف پول شما آن را پوشش می‌دهد یا نه. با volume_id قیمت بزرگ‌کردن همان دیسک تا size_gb (اندازهٔ کل جدید) را می‌گیرید.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

پارامترهای مسیر

فیلد نوع
order integer

پارامترهای query

فیلد نوع مقادیر
size_gb integer
volume_id integer

پاسخ‌ها

  • 200 موفق. برمی‌گرداند: data (DataVolumePricing).
  • 403 مجاز نیست، این منبع متعلق به شما نیست
  • 422 خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی

نمونه

curl -X GET https://veneshcloud.ir/api/orders/ORDER_ID/volumes/pricing \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json"

بزرگ‌تر کردن دیسک

POST /orders/{order}/volumes/{volume}/extend

یک دیسک داده را تا new_size_gb بزرگ می‌کند. دیسک فقط بزرگ می‌شود و کوچک نمی‌شود. فقط گیگابایت‌های اضافه برای باقی‌ماندهٔ دورهٔ فعلی کسر می‌شود. سپس فایل‌سیستم را داخل ماشین بزرگ کنید.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

پارامترهای مسیر

فیلد نوع
order integer
volume integer

بدنهٔ درخواست (application/json)

فیلد نوع الزامی مقادیر
new_size_gb integer بله

پاسخ‌ها

  • 202 پذیرفته شد، کار در پس‌زمینه ادامه دارد. برمی‌گرداند: data (DataVolume).
  • 403 مجاز نیست، این منبع متعلق به شما نیست
  • 404 پیدا نشد
  • 422 خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی

نمونه

curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/volumes/VOLUME_ID/extend \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"new_size_gb":1}'

حذف دیسک داده

DELETE /orders/{order}/volumes/{volume}

یک دیسک داده و همهٔ داده‌های آن را حذف می‌کند. قابل بازگشت نیست. بخش استفاده‌نشدهٔ دورهٔ پرداخت‌شده بازگردانده نمی‌شود. حذف ماشین، دیسک‌های داده‌اش را هم حذف می‌کند.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

پارامترهای مسیر

فیلد نوع
order integer
volume integer

پاسخ‌ها

  • 200 موفق
  • 202 پذیرفته شد، کار در پس‌زمینه ادامه دارد. برمی‌گرداند: data (DataVolume).
  • 403 مجاز نیست، این منبع متعلق به شما نیست
  • 404 پیدا نشد
  • 422 خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی

نمونه

curl -X DELETE https://veneshcloud.ir/api/orders/ORDER_ID/volumes/VOLUME_ID \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json"

اشیاء

فهرست فیلدهای اشیایی که در بالا برگردانده می‌شوند.

DataVolume

فیلد نوع مقادیر
id integer
order_id integer
size_gb integer
device string
by_id_path string
guest_match string
status string pending, attaching, active, extending, deleting, failed, kept
is_initial boolean
pending_action string create, extend, delete, null
pending_size_gb integer
manageable boolean
failure_reason string
price_usd string
price_rial integer
period_days integer
next_renewal_at string
created_at string

DataVolumeList

فیلد نوع مقادیر
root_disk_gb integer
volumes فهرستی از DataVolume
limits object
unit object
capability object
can_modify boolean
blocked_reason string
paid_until string
refund_on_delete boolean
provider string

DataVolumePricing

فیلد نوع مقادیر
size_gb integer
delta_gb integer
unit_usd_per_gb string
unit_rial_per_gb integer
period_days integer
monthly_usd string
monthly_rial integer
charge_usd string
charge_rial integer
prorated_fraction number
paid_until string
renewal_total_usd_after string
renewal_total_rial_after integer
wallet_balance_usd string
wallet_balance_rial integer
sufficient_balance boolean
blocked_reason string