Using REST API

ใช้งาน REST API เพื่อใช้งาน NCS Public API

Prerequisite

  • มี account ใช้งานบน NIPA Cloud Space

  • มี access เข้า project ที่มี wallet status เป็น Normal

Instructions

1. ดูข้อมูล project ID บน NIPA Cloud Space

เข้าสู่หน้า project detail จากการเลือก project ที่ต้องการที่หน้า projects management และเลือก copy project ID

2. Authen เข้าใช้งาน OpenStack API

ใช้ cURL ในการ authenticate OpenStack API

curl -i -X POST \
https://identity-api.nipa.cloud/v3/auth/tokens \
  -H "Content-Type: application/json" \
  -d '
{
  "auth": {
    "identity": {
      "methods": [
        "password"
      ],
      "password": {
        "user": {
          "name": "<email สำหรับใช้ login เข้า NCS>",
          "password": "<password สำหรับใช้ login เข้า NCS>",
          "domain": { "name": "nipacloud" }
        }
      }
    },
    "scope": {
      "project": {
        "id": "<project ID ที่ copy มาจากหน้า project detail>"
      }
    }
  }
}'

เมื่อได้ผลเป็น Created (201) ให้ทำการ copy X-Subject-Token ใน response header ไปใช้งานต่อ

และสามารถดู API endpoint ได้จาก catalog ใน response body

อ่านเพิ่มเติม https://docs.openstack.org/api-quick-start/api-quick-start.html#authenticate


ตัวอย่างการใช้งาน API

ดูรายการ API สำหรับจัดการ Compute Instance ได้จาก https://docs.openstack.org/api-ref/compute/

1. ทำการ set variable

ทำการ export token variable โดยใช้ command

export OS_TOKEN=<X-Subject-Token ที่ได้จาก header ของการ authen>

export Compute API endpoint โดยใช้ command

export OS_COMPUTE_API=<Compute API endpoint จาก catalog ของการ authen>

2. ทำ action กับ Compute Instance

สั่ง REST API เพื่อทำ action กับ Compute Instance (Server)

curl -L -X POST -H "X-Auth-Token: $OS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"os-stop": null}' \
     $OS_COMPUTE_API/servers/{server_id}/action

Reference

Last updated

Was this helpful?