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
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

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