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
keystone api ref : https://docs.openstack.org/api-ref/identity/v3/
glace api ref : https://docs.openstack.org/api-ref/image/v2/
nova api ref : https://docs.openstack.org/api-ref/compute/
cinder api ref : https://docs.openstack.org/api-ref/block-storage/v3/
Last updated
Was this helpful?