WebAPI

AirManage2サーバのWebAPIについて説明します。
テナント管理者が実行可能なAPIの一覧となります。

info

システム管理者用APIについては本マニュアルには記載いたしません。
システム管理者用APIの内容についてはスタンダードプラン及びエンタープライズプラン契約時に弊社サポートへお問い合わせください。

テナントサマリ確認API

自分が管理するテナント内のノードのサマリを確認できます。

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/summary

FQDN例 : am01.plathome.co.jp
(一般サブスクリプションの場合、 am01の部分が時期に応じてam02 ~ am99となります。)

  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号
テナント一覧画面で確認します。
group_idグループのId。グループ画面で確認します。
指定しないとテナントに所属する監視対象のノードの情報を取得します。
tokenアクセストークン
管理者のユーザの設定画面にてアクセストークンの項が空きの場合は、生成または再生成ボタンで作成します。
  • レスポンス

レスポンスはJSON形式です。
内容は、ノード状況画面で表示される情報と同じです。
詳しくは、ノード状況をご覧ください。
以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果
summaryJSONオブジェクト
total全ノード数
unmonitored監視対象外ノード数
monitored監視対象ノード数
inactive接続不能ノード数
active接続ノード数
download_queuedダウンロード待ち
download_runningダウンロード中
download_finishedアップデート指示待ち
download_failedダウンロード失敗
upgrade_queuedアップデート待ち
upgrade_runningアップデート実行中
upgrade_failedアップデート失敗
attentionアテンションあり

cURLコマンドでのアクセス例です。

    • グループIdを指定しない場合
    $ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/summary' \
    -d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" }'
    • グループIdを指定した場合
    $ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/summary' \
    -d '{ "tenant_code": "TEST_TENANT", "group_id": 100 , "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success",
"summary": {
"total": 2,
"unmonitored": 0,
"monitored": 2,
"inactive": 0,
"active": 2,
"download_queued": 0,
"download_running": 0,
"download_finished": 0,
"download_failed": 0,
"upgrade_queued": 0,
"upgrade_running": 0,
"upgrade_failed": 0,
"attention": 0
}
}

ノード簡易情報確認API

自分が管理するテナント内のノードの簡易情報を確認できます。

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/list
  • リクエスト

リクエストメソッドはGETです。または、リクエストデータ形式はクエリです。

クエリ内容
tenant_codeテナント記号。テナント一覧画面で確認します。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果
nodesJSONオブジェクト配列
idノードのユニークID
location場所情報(未設定の場合、null)
ping_at最終接続確認時刻
connected接続状態
ondemand_maintenanceオンデマンド接続時におけるメンテナンスモード嬢状況
group_nameグループ名

cURLコマンドでのアクセス例です。

$ curl -s -X GET 'https://am01.plathome.co.jp/api/v1/nodes/list?tenant_code=TEST_TENANT&token=dcaPLATshbi4HOGEqZY8icfPKwoajRs1

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success",
"nodes": [
{
"id": 29,
"name": "obssvr_stretch",
"location": null,
"ping_at": "2019-05-27T06:55:35.204Z",
"connected": true,
"ondemand_maintenance": null,
"group_name": "DEFAULT"
},
{
"id": 26,
"name": "obsex_stretch",
"location": "",
"ping_at": "2019-05-27T06:54:54.668Z",
"connected": false,
"ondemand_maintenance": "request",
"group_name": "EDISON"
},
{
"id": 4,
"name": "obsex_jessie",
"location": "",
"ping_at": "2019-05-27T06:55:26.879Z",
"connected": false,
"ondemand_maintenance": null,
"group_name": "EDISON"
},
{
"id": 27,
"name": "obsvx_stretch",
"location": null,
"ping_at": "2019-05-27T06:56:04.260Z",
"connected": true,
"ondemand_maintenance": null,
"group_name": "DEFAULT"
}
]
}

ノード詳細情報確認API

自分が管理するテナント内のノードの詳細情報を確認できます。

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/node_status
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
node_id
または
node_name
詳細情報を確認したいテナント内のノードのユニークIDまたはノード名。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果
nodeinfoJSONオブジェクト
idノードのユニークID。
group_idノードが所属するグループのID。
nameAirManage上で登録されているノード名。
hwnameAirManage上で登録されているHW名。
statusノードのステータス情報。
ping_at最終通信確認時刻。
location場所情報。
connected接続状態。
attentionアテンション情報。
uploadfile_idファイルアップロード機能のアップロード対象とするファイルID。
expired_at有効期限。
activeAirManageサービスの有効・無効状態。
jobsAirManageでの待機ジョブ一覧。

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/node_status' \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" , "node_id" : 100 }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success",
"nodeinfo": {
"id": 27,
"group_id": 1,
"name": "obsvx_stretch",
"hwname": "I1J00035",
"status": "old_revision",
"ping_at": "2019-05-27T07:11:22.255Z",
"location": null,
"connected": true,
"attention": null,
"uploadfile_id": null,
"expired_at": null,
"active": true,
"jobs": []
}
}

テナント詳細確認API

自分が管理するテナント内のノード全体の詳細を確認できます。

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/tenant_status
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
group_idグループのId。グループ画面で確認します。指定しない場合、テナントに所属する全体のノードの情報を取得します。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果
nodesinfoJSONオブジェクト配列
idノードのユニークID。
group_idノードが所属するグループのID。
nameAirManage上で登録されているノード名。
hwnameAirManage上で登録されているHW名。
statusノードのステータス情報。
ping_at最終通信確認時刻。
location場所情報。
connected接続状態。
attentionアテンション情報。
uploadfile_idファイルアップロード機能のアップロード対象とするファイルID。
expired_at有効期限。
activeAirManageサービスの有効・無効状態。
jobsAirManageでの待機ジョブ一覧。

cURLコマンドでのアクセス例です。

    • グループIdを指定しない場合
    $ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/tenant_status' \
    -d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1"}'
    • グループIdを指定した場合
    $ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/tenant_status' \
    -d '{ "tenant_code": "TEST_TENANT", "group_id": 100, "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1"}'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success",
"nodesinfo": [
{
"id": 4,
"group_id": 5,
"name": "obsex_jessie",
"hwname": "FAE00857",
"status": "old_revision",
"ping_at": "2019-05-27T07:16:13.007Z",
"location": "",
"connected": false,
"attention": null,
"uploadfile_id": null,
"expired_at": null,
"active": true,
"jobs": []
},
{
"id": 26,
"group_id": 5,
"name": "obsex_stretch",
"hwname": "G3E00015",
"status": "old_revision",
"ping_at": "2019-05-27T07:20:12.292Z",
"location": "",
"connected": false,
"attention": null,
"uploadfile_id": null,
"expired_at": null,
"active": true,
"jobs": []
}
]
}

ファイルアップロードAPI

自分が管理するテナント内のノードに配信するためのファイルをアップロードできます。

info

本APIではノードへのファイル配信自体は行われません。
別途、ノードへのファイル配信はファイルアップロードジョブAPIを実行する必要があります。

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/fileupload
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はマルチパートフォームです。

パラメータ内容
tenant_codeテナント記号。テナント一覧画面で確認します。
group_idファイルをアップロード対象とするグループのId。グループ画面で確認します。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
uploadfileアップロード対象のファイル。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果
file_idアップロード時に割り振られるファイルID。
filenameアップロード時のファイル名です。

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: multipart/form-data" 'https://am01.plathome.co.jp/api/v1/nodes/fileupload’ \
-F uploadfile=@./aminst_none_all.tgz \
-F token=dcaPLATshbi4HOGEqZY8icfPKwoajRs1 \
-F tenant_code=TEST_TENANT \
-F group_id=100

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success",
"file_id": 34,
"filename": "aminst_none_all.tgz"
}

ファイルアップロードジョブAPI

自分が管理するテナント内のノードへのファイル配信ジョブの登録を行います

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/filejob
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
group_idファイルをアップロード対象とするグループのId。グループ画面で確認します。
※ファイルをAirManageにアップロード時のグループIDと同一である必要があります。
node_id
または
node_name
ファイル配信対象のテナント内のノードのユニークIDまたはノード名。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
file_idファイルアップロードAPIのレスポンスのID。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/filejob’ \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" , "group_id" : 100 , "node_id" : 16 , "file_id" : 34 }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success"
}

ファイルアップロードジョブ取消API

自分が管理するテナント内のノードへのファイル配信ジョブの取り消しを行います。

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/delfilejob
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
node_id
または
node_name
ファイル配信対象のテナント内のノードのユニークIDまたはノード名。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/delfilejob’ \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" , "node_id" : 16 }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success"
}

ノード全ジョブ取消API

自分が管理するテナント内のノードが実施処理予定のジョブの取り消しを行います。

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/clear_job
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
node_id
または
node_name
全ジョブを取り消す対象のテナント内のノードのユニークIDまたはノード名。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/clear_job’ \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" , "node_id" : 16 }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success",
"message": "Exec Clear Jobs."
}

アテンション解除API

自分が管理するテナント内のノードのアテンションを解除するジョブの登録を行います

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/release_attention
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
node_id
または
node_name
アテンションを解除する対象のテナント内のノードのユニークIDまたはノード名。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/release_attention’ \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" , "node_id" : 16 }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success"
}

テナントアテンション解除一括API

自分が管理するテナント内の全てノード、または対象グループのノードに対してアテンションを解除するジョブの登録を行います

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/tenant_release_attention
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/tenant_release_attention \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success",
}

サポートデータ取得ジョブ設定API

自分が管理するテナント内のノードに対して、サポートデータの取得ジョブの登録を行います

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/create_support
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
group_idサポートデータのジョブを設定するグループのId。グループ画面で確認します。
※未指定の場合、テナント全体またはノード単位となります。
node_id
または
node_name
テナント内のサポートデータのジョブを設定対象のノードのユニークIDまたはノード名。
※未指定の場合、テナント全体またはグループ単位となります。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/create_support’ \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" , "node_id" : 16 }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success"
}

サポートデータ ファイルステータス情報API

自分が管理するテナント内のノードのサポートデータの属性情報の取得を行います

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/stat_support
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
node_id
または
node_name
テナント内のサポートデータのジョブを設定対象のノードのユニークIDまたはノード名。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果
mtime最終更新時刻
sizeファイルサイズ(バイト単位)

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/stat_support’ \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" , "node_id" : 16 }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success",
"mtime": "2022-04-27T14:56:34.680+09:00",
"size": 4004603
}

サポートデータダウンロードAPI

自分が管理するテナント内のノードのサポートデータの取得を行います

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/get_support
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
node_id
または
node_name
テナント内のサポートデータのジョブを設定対象のノードのユニークIDまたはノード名。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

レスポンスは正常時はバイナリーデータ(実ファイル)です。エラー時はJSON形式となります。

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/get_support’ \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" , "node_id" : 16 }' -o support.tgz

上記のコマンドでのsupport.tgzがサポートデータファイルとなります。
内容がJSONの場合、エラーが発生しています。

WEB UI用リバースプロキシ生成API

自分が管理するテナント内のノードのWEB UI用のリバースプロキシを生成します。

  • リクエストURL
https://<AirManage2サーバのFQDN>/api/v1/nodes/create_proxy
  • リクエスト

リクエストメソッドはPOSTです。または、リクエストデータ形式はJSONです。

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
node_id
または
node_name
テナント内のリバースプロキシ生成対象のノードのユニークIDまたはノード名。
  • レスポンス

レスポンスはJSON形式です。以下は正常時のレスポンスのJSONキーとなります。

JSONキー内容
result実行結果
urlリバースプロキシURL

cURLコマンドでのアクセス例です。

$ curl -s -X POST -H "Content-type: application/json" 'https://am01.plathome.co.jp/api/v1/nodes/create_proxy’ \
-d '{ "tenant_code": "TEST_TENANT", "token": "dcaPLATshbi4HOGEqZY8icfPKwoajRs1" , "node_id" : 16 }'

上記のコマンドを実行した場合の出力例(jqコマンドで整形)です。

{
"result": "success",
"url": "https://am01.plathome.co.jp:43347"
}
info

同一のIPアドレスから同一のノードへのWEB UI用リバースプロキシの生成は一定数までの制限をもうけています。一定数を超えた場合にはエラー応答となります。