Glows.ai SDK の API ドキュメント
SDK を使用して新しいインスタンスを起動します
| from_image_id required | string イメージ ID。例:6np5yvq2 |
| gpu_name required | string GPU マシン名。例:NVIDIA L40S PCIe |
| custom_meta_key required | string ユーザーが設定するインスタンスの一意識別子(インスタンス ID とは別) |
| instance_category required | string マシンの基盤技術タイプ。例:container、vm |
| region_name required | string マシンのリージョン。例:TW-03、TW-04 など。 |
| remark | string ユーザーが設定するインスタンスの備考名 |
| public_ip_id | string バインドする Public IP に対応する ID。例:net-abcdefg |
| envs | string デフォルトの環境変数。例:foo=bar;tik=tok |
| ports | string カスタム公開ポート。JSON 文字列形式。例:[{"port":7890,"protocol":2}, {"port":3306,"protocol":1}]。protocol=1 は SSH プロトコル、protocol=2 は HTTP プロトコルを表します |
| cmd | string エントリーコマンド。container モードのみサポート。コマンドは継続実行可能(hang できる)である必要があります。そうでない場合、コマンド終了後にインスタンスは自動的に解放されます。例:python -m http.server 8080 |
| code | integer 戻りコード。0 は成功、それ以外(非 0)は失敗を表します |
| msg | string 返却メッセージ。通常は失敗時の説明 |
object |
curl --http1.1 \ --request POST \ --url 'https://a.glows.ai/sdk/v1/instance' \ --header 'Authorization: Bearer YOUR_SDK_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "from_snap_id": "6ypgvgpw", "custom_meta_key": "cpu_test.009", "cpu_name": "Intel(R) Xeon(R) Platinum 8468", "instance_category": "container", "region_name": "TW-04", "public_ip_id": "net-abcdefg" }'
{- "code": 0,
- "msg": "",
- "instance": {
- "instanceID": "boyqp4g8",
- "category": "container",
- "status": "SchedQueued",
- "priceCent": 0,
- "hardware": {
- "gpuName": "NVIDIA GeForce RTX 4090",
- "cpuName": "",
- "gpuNum": 0,
- "gpuRamMB": 0,
- "cpuCoresNum": 0,
- "ramMB": 0,
- "diskGB": 0
}, - "baseImage": {
- "imageID": "87p9kq26",
- "imageName": "Ubuntu20.04 CUDA12.2 Python3.9"
}, - "baseSnap": null,
- "sshCred": {
- "user": "root",
- "password": "YOUR_INSTANCE_PASSWORD"
}, - "accesses": [
- {
- "protocol": "ssh",
- "listenPort": 22,
- "url": ""
}, - {
- "protocol": "http",
- "listenPort": 8888,
- "url": ""
}, - {
- "protocol": "http",
- "listenPort": 7890,
- "url": ""
}
], - "domain": 2,
- "createTime": {
- "seconds": 1726810944
}, - "cmd": "",
- "envs": "foo=bar",
- "remark": "this is from sdk",
- "metaKey": "order.123456",
- "sourceType": "SourceSDK",
- "regionName": "TW-03"
}
}指定したインスタンスの情報を取得します
| request_id | string インスタンス ID(インスタンス作成応答の instanceID)。request_id または meta_key のいずれかが必須です。 |
| meta_key | string インスタンス作成時に指定した meta_key。グローバルで一意。request_id または meta_key のいずれかが必須です。 |
| code | integer 戻りコード。0 は成功、それ以外(非 0)は失敗を表します |
| msg | string 返却メッセージ。通常は失敗時の説明 |
object |
curl --http1.1 \ --request GET \ --url 'https://a.glows.ai/sdk/v1/instance?meta_key=cpu_test.009' \ --header 'Authorization: Bearer YOUR_SDK_TOKEN'
{- "code": 0,
- "msg": "",
- "instance": {
- "instanceID": "boyqp4g8",
- "category": "container",
- "status": "Running",
- "priceCent": 65,
- "hardware": {
- "gpuName": "NVIDIA GeForce RTX 4090",
- "cpuName": "Intel(R) Xeon(R) Platinum 8352V CPU @ 2.10GHz",
- "gpuNum": 1,
- "gpuRamMB": 24564,
- "cpuCoresNum": 10,
- "ramMB": 43008,
- "diskGB": 100
}, - "baseImage": {
- "imageID": "87p9kq26",
- "imageName": "Ubuntu20.04 CUDA12.2 Python3.9"
}, - "baseSnap": null,
- "sshCred": {
- "user": "root",
- "password": "YOUR_INSTANCE_PASSWORD"
}, - "accesses": [
- {
- "protocol": "ssh",
- "listenPort": 22,
- "url": "ssh://tw-01.access.glows.ai:15692"
}, - {
- "protocol": "http",
- "listenPort": 8888,
}, - {
- "protocol": "http",
- "listenPort": 7890,
}
], - "domain": 2,
- "createTime": {
- "seconds": 1726810944
}, - "cmd": "",
- "envs": "foo=bar",
- "remark": "this is from sdk",
- "metaKey": "order.123456",
- "sourceType": "SourceSDK",
- "regionName": "TW-03"
}
}request_id または meta_key を使用してインスタンスを解放します
| request_id | string インスタンス ID(インスタンス作成応答の instanceID)。request_id または meta_key のいずれかが必須です。 |
| meta_key | string インスタンス作成時に指定した meta_key。グローバルで一意。request_id または meta_key のいずれかが必須です。 |
| code | integer 戻りコード。0 は成功、それ以外(非 0)は失敗を表します |
| msg | string 返却メッセージ。通常は失敗時の説明 |
curl --http1.1 \ --request DELETE \ --url 'https://a.glows.ai/sdk/v1/instance?meta_key=cpu_test.009' \ --header 'Authorization: Bearer YOUR_SDK_TOKEN'
{- "code": 0,
- "msg": ""
}インスタンスの統計情報を取得します
| code | integer 戻りコード。0 は成功、それ以外(非 0)は失敗を表します |
| msg | string 返却メッセージ。通常は失敗時の説明 |
object 各ステータスに対応するインスタンス数。統計値が 0 のステータスは表示されません |
curl --http1.1 \ --request GET \ --url 'https://a.glows.ai/sdk/v1/instance/stats' \ --header 'Authorization: Bearer YOUR_SDK_TOKEN'
{- "code": 0,
- "msg": "",
- "stats": {
- "Running": 1
}
}ページネーションとフィルタリングのオプションでインスタンス一覧を取得します
| page required | integer ページ番号 |
| per_page required | integer 1 ページあたりの件数 |
| ascending | boolean 作成日時の昇順で取得するかどうか。デフォルトは降順です |
| statuses | Array of strings 指定したステータスのインスタンスのみを表示します |
| code | integer 戻りコード。0 は成功、それ以外(非 0)は失敗を表します |
| msg | string 返却メッセージ。通常は失敗時の説明 |
object | |
Array of objects |
curl --http1.1 \ --request GET \ --url 'https://a.glows.ai/sdk/v1/instance/list?page=1&per_page=10&statuses=Running' \ --header 'Authorization: Bearer YOUR_SDK_TOKEN'
{- "code": 0,
- "msg": "",
- "pagination": {
- "total": 0,
- "numPages": 0,
- "page": 1,
- "perPage": 10
}, - "instances": [ ]
}