API: ماشینهای مجازی
ساخت، فهرست و کنترل ماشینها: روشن، خاموش، راهاندازی مجدد، تغییر اندازه، نصب مجدد، بازیابی، حذف و کنسول.
در API به ماشین مجازی «سفارش» (order) گفته میشود. عملیات ناهمگام هستند: بلافاصله با 202 و وضعیت در جریان پاسخ میدهند و شما GET /orders/{order} را تا پایان کار میپرسید. قراردادهای API را ببینید.
فهرست ماشینهای شما
GET /orders
ماشینهای شما را برمیگرداند، با امکان فیلتر بر اساس وضعیت.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای query
| فیلد | نوع | مقادیر |
|---|---|---|
status |
string | pending, provisioning, running, failed, deleting, resizing, reinstalling, terminated, stopped, starting, stopping, rebooting, restoring |
per_page |
integer |
پاسخها
200موفق. برمیگرداند:data(فهرستی ازOrder).
نمونه
curl -X GET https://veneshcloud.ir/api/orders \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
ساخت ماشین مجازی
POST /orders
یک ماشین روی یک پلن سفارش میدهد. هزینهٔ ماه اول از کیف پول کسر میشود. اگر موجودی حداقل لازم را پوشش ندهد، درخواست رد میشود و خطا نیاز را توضیح میدهد. ماشین در پسزمینه ساخته میشود.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
customer_plan_id |
integer | بله | |
os_image |
string | بله | |
region |
string | خیر | |
hostname |
string | خیر | |
ssh_public_key |
string | خیر | |
password |
string | خیر | |
disk_gb |
integer | خیر | |
assign_public_ip |
boolean | خیر | |
bandwidth_mbps |
integer | خیر | |
open_ports |
فهرستی از integer | خیر | |
user_data |
string | خیر | |
description |
string | خیر | |
assign_ipv6 |
boolean | خیر | |
data_disk_gb |
integer | خیر | |
tags |
object | خیر | |
join_private_network_id |
integer | خیر | |
source_snapshot_id |
integer | خیر | |
install_monitoring_agent |
boolean | خیر |
پاسخها
200موفق. برمیگرداندOrder.422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"customer_plan_id":1,"os_image":"ubuntu-22.04"}'
دریافت یک ماشین
GET /orders/{order}
یکی از ماشینهای شما و وضعیت آن را برمیگرداند.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
200موفق. برمیگرداندOrder.
نمونه
curl -X GET https://veneshcloud.ir/api/orders/ORDER_ID \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
دریافت دسترسی کنسول
GET /orders/{order}/console
جزئیات کنسول ماشین را برمیگرداند. قالب آن به ارائهدهنده بستگی دارد (راهنمای سریال یا پیوند VNC) و پیوندها ممکن است ظرف چند ثانیه منقضی شوند؛ درست پیش از استفاده بگیرید.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
200موفق. برمیگرداند:console(OrderConsole).403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی502خطای ارائهدهنده503موقتاً در دسترس نیست
نمونه
curl -X GET https://veneshcloud.ir/api/orders/ORDER_ID/console \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
حذف ماشین
POST /orders/{order}/actions/delete
ماشین را از بین میبرد. وقتی در حال اجرا یا ناموفق است مجاز است. قابل بازگشت نیست.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
202پذیرفته شد، کار در پسزمینه ادامه دارد. برمیگرداندOrder.403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/actions/delete \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
تغییر اندازهٔ ماشین
POST /orders/{order}/actions/resize
ماشین را به پلن دیگری روی همان ارائهدهنده و منطقه میبرد. ماشین باید در حال اجرا باشد. ماشینهای OVHcloud را نمیتوان کوچک کرد.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
customer_plan_id |
integer | بله |
پاسخها
202پذیرفته شد، کار در پسزمینه ادامه دارد. برمیگرداندOrder.403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/actions/resize \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"customer_plan_id":1}'
گزینههای تغییر اندازه
GET /orders/{order}/resize-options
پلنهایی را که میتوانید به آنها تغییر اندازه دهید و مقادیر متمایز vCPU و RAM آنها را برای ساخت دو انتخابگر مستقل برمیگرداند.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
200موفق. برمیگرداندResizeOptions.403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X GET https://veneshcloud.ir/api/orders/ORDER_ID/resize-options \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
نصب مجدد سیستمعامل
POST /orders/{order}/actions/reinstall
دیسک را پاک میکند و تصویر انتخابی را نصب میکند. ماشین باید در حال اجرا باشد. پلن تغییر نمیکند.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
os_image |
string | بله |
پاسخها
202پذیرفته شد، کار در پسزمینه ادامه دارد. برمیگرداندOrder.403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/actions/reinstall \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"os_image":"ubuntu-22.04"}'
روشن کردن ماشین
POST /orders/{order}/actions/start
ماشین متوقف را روشن میکند.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
202پذیرفته شد، کار در پسزمینه ادامه دارد. برمیگرداندOrder.403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/actions/start \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
خاموش کردن ماشین
POST /orders/{order}/actions/stop
ماشین در حال اجرا را خاموش میکند. دیسک آن حفظ میشود.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
202پذیرفته شد، کار در پسزمینه ادامه دارد. برمیگرداندOrder.403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/actions/stop \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
راهاندازی مجدد ماشین
POST /orders/{order}/actions/reboot
ماشین در حال اجرا را از نو راهاندازی میکند.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
202پذیرفته شد، کار در پسزمینه ادامه دارد. برمیگرداندOrder.403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/actions/reboot \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
بازیابی از اسنپشات
POST /orders/{order}/actions/restore
دیسک ماشین را با یکی از اسنپشاتهای تکمیلشدهٔ خودش جایگزین میکند. ماشین باید در حال اجرا یا متوقف باشد. قابل بازگشت نیست.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
snapshot_id |
integer | بله |
پاسخها
202پذیرفته شد، کار در پسزمینه ادامه دارد. برمیگرداندOrder.403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/actions/restore \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"snapshot_id":1}'
تمدید ماشین مجازی
POST /orders/{order}/renew
دورهٔ ۳۰ روزهٔ بعد را همین حالا از کیف پول میپردازد (قیمت پلن بهعلاوهٔ دیسک داده). وقتی ماشین معوق یا معلق است یا تا ۷ روز به تاریخ تمدید مانده مجاز است. ماشینی که برای عدم پرداخت خاموش شده دوباره روشن میشود. اگر موجودی کافی نباشد 422 با پیام خوانا برمیگرداند.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
200موفق. برمیگرداند:data(Order).422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/renew \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
اشیاء
فهرست فیلدهای اشیایی که در بالا برگردانده میشوند.
CustomerPlan
| فیلد | نوع | مقادیر |
|---|---|---|
id |
integer | |
name |
string | |
provider |
string | |
plan_name |
string | |
region |
string | |
os_options |
فهرستی از string | |
specs |
object | |
usd_equivalent_price |
string | |
rial_price |
integer | |
fx |
object | |
active |
boolean |
Order
| فیلد | نوع | مقادیر |
|---|---|---|
billing |
OrderBilling |
|
id |
integer | |
status |
string | pending, provisioning, running, failed, deleting, resizing, reinstalling, terminated, stopped, starting, stopping, rebooting, restoring |
customer_plan |
CustomerPlan |
|
region |
string | |
os_image |
string | |
hostname |
string | |
price_usd |
string | |
price_rial |
integer | |
external_instance_id |
string | |
failure_reason |
string | |
source_snapshot_id |
integer | |
ipv4_address |
string | |
ipv6_address |
string | |
has_live_instance |
boolean | |
created_at |
string | |
provisioned_at |
string |
OrderBilling
| فیلد | نوع | مقادیر |
|---|---|---|
state |
string | active, overdue, suspended |
paid_until |
string | |
next_renewal_at |
string | |
suspended_at |
string | |
renewal_price_usd |
string | |
renewal_price_rial |
integer | |
data_disk_gb |
integer | |
auto_renew |
boolean | |
daily_accrual_usd |
string | |
daily_accrual_rial |
integer | |
wallet_balance_rial |
integer | |
delete_at_balance_rial |
integer | |
rial_until_deletion |
integer | |
wallet_balance_usd |
string | |
delete_at_balance_usd |
number | |
usd_until_deletion |
number |
ResizeOptions
| فیلد | نوع | مقادیر |
|---|---|---|
provider |
string | |
region |
string | |
current |
object | |
cpu_options |
فهرستی از integer | |
ram_options |
فهرستی از integer | |
plans |
فهرستی از object |