مستندات وب‌سرویس لیارا (API)

وب‌سرویس و در واقع API ما به شما دسترسی کامل به امکانات پلتفرم ابری لیارا را می‌دهد. با استفاده از این API، می‌توانید در برنامه‌ها و سرویس‌های خودتان از لیارا به عنوان فراهم‌کننده‌ی زیر ساخت استفاده کنید.

این صفحه در حال تکمیل است. اگر مستندات وب‌سرویس مورد نظرتان را پیدا نمی‌کنید، با پشتیبانی لیارا ارتباط بگیرید.

برای ارتباط با وب‌سرویس لیارا، تمامی درخواست‌های‌تان را باید به آدرس زیر ارسال کنید:

https://api.liara.ir

احراز هویت (Authentication)

تمام درخواست‌ها به وب‌سرویس لیارا باید دارای هدر Authorization باشند:

Authorization: Bearer TOKEN

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

نسخه‌ها (Versioning)

تمامی درخواست‌ها دارای ورژن مشخصی هستند. ورژن‌های Endpoint ها با یک‌دیگر متفاوت هستند.

نسخه‌های قدیمی‌تر هر Endpoint تا زمانی که امکان‌پذیر باشد پشتیبانی می‌شوند.

برای مثال، برای دریافت لیست پروژه‌ها، ورژن به شکل زیر مشخص می‌شود:

https://api.liara.ir/v1/projects

مدیریت پروژه‌ها

لیست پروژه‌ها

GET https://api.liara.ir/v1/projects

نمونه‌ی پاسخ این درخواست:

{
  "projects": [
    {
      "_id": "5d63d32e7be321001cee3f91",
      "created_at": "2019-08-26T12:40:14.762Z",
      "planID": "nano",
      "scale": 1,
      "type": "django",
      "status": "ACTIVE",
      "project_id": "my-django-app"
    },
    {
      "_id": "5d77797340b865001c420356",
      "created_at": "2019-09-10T10:22:43.549Z",
      "planID": "standard-1x",
      "scale": 0,
      "status": "ACTIVE",
      "project_id": "analize-app",
      "type": "docker"
    }
  ]
}

اگر فیلدscaleبرابر با صفر باشد، به معنای خاموش‌بودن پروژه است.

ساخت پروژه‌ی جدید

POST https://api.liara.ir/v1/projects

نمونه‌ی داده‌هایی که در این خواست می‌توانید ارسال کنید:

{
  "name": "my-app",
  "platform": "laravel",
  "planID": "nano"
}

پروژه‌ها دارای پلن‌های مشخصی هستند که هر کدام از این پلن‌ها، شناسه‌ی یکتای خود را دارد. لیست پلن‌های قابل انتخاب:

شناسهحافظهپردازندهفضا
nano512 MBیک هسته۲ گیگ
micro1 GBیک هسته۵ گیگ
standard-1x2 GBدو هسته۱۰ گیگ
standard-2x4 GBدو هسته۲۰ گیگ
performance-1x6 GBچهار هسته۴۰ گیگ
performance-2x8 GBچهار هسته۶۰ گیگ

خاموش یا روشن‌کردن پروژه

POST https://api.liara.ir/v1/projects/:project_id/actions/scale

نمونه‌ی داده‌هایی که در این خواست می‌توانید ارسال کنید:

{
  "scale": 1
}

برای مثال، اگر قصد خاموش‌کردن پروژه‌ای را با شناسه‌یmy-appدارید، به این صورت باید درخواست دهید:

POST https://api.liara.ir/v1/projects/my-app/actions/scale

و این داده‌ها را باید بفرستید:

{
  "scale": 0
}

پارامتر scaleرا اگر برابر صفر قرار دهید، پروژه خاموش‌شده و اگر برابر یک قرار دهید، پروژه روشن می‌شود.

حذف پروژه

DELETE https://api.liara.ir/v1/projects/:project_id

برای مثال، اگر قصد حذف پروژه‌ای را با شناسه‌یmy-appدارید، به این صورت باید درخواست دهید:

DELETE https://api.liara.ir/v1/projects/my-app

مدیریت استقرارها

لیست استقرارها

GET https://api.liara.ir/v1/projects/:project_id/releases

نمونه‌ی پاسخ این درخواست:

{
  "platform": "node",
  "readyReleasesCount": 2,
  "releases": [
    {
      "_id": "5d9782503a794b0222381919",
      "type": "ENV_UPDATE",
      "state": "READY",
      "createdAt": "2019-10-02T07:31:41.415Z"
    },
    {
      "_id": "5d94525dfa0f8a003291109c",
      "type": "DEPLOY",
      "state": "READY",
      "createdAt": "2019-10-02T07:31:41.415Z"
    }
  ]
}

ایجاد استقرار جدید

GET https://api.liara.ir/v2/projects/:project_id/releases

نمونه‌ی داده‌هایی که در این خواست می‌توانید ارسال کنید:

{
  "port": 80,
  "type": "static",
  "files": [
    { "path": "index.html", "data": "<link rel='stylesheet' href='/assets/style.css'> Hello World :)" },
    { "path": "assets/style.css", "data": "body { color: white; background-color: green }" }
  ]
}

نمونه‌ی پاسخ این درخواست:

{
  "releaseID": "5d9c5494c0523a00464e4124"
}