WebAPI

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

info

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

テナントサマリ確認API

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

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

リクエストメソッドは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://<AirManage2サーバのFQDN>/api/v1/nodes/summary' -d '{ "tenant_code": "テナント記号", "token": "アクセストークン"}'
    • グループIdを指定した場合
$ curl -s -X POST -H "Content-type: application/json" 'https://<AirManage2サーバのホスト名>/api/v1/nodes/summary' -d '{ "tenant_code": "テナント記号", "group_id": グループId, "token": "アクセストークン"}'

上記のコマンドを実行した場合の出力例(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://<AirManage2サーバのFQDN>/api/v1/nodes/list?tenant_code=<テナント記号>&token=<アクセストークン>

上記のコマンドを実行した場合の出力例(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://<AirManage2サーバのFQDN>/api/v1/nodes/node_status' -d '{ "tenant_code": "テナント記号", "token": "アクセストークン" , “node_id” : “ノードのユニークID” }'

上記のコマンドを実行した場合の出力例(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://<AirManage2サーバのFQDN>/api/v1/nodes/tenant_status' -d '{ "tenant_code": "テナント記号", "token": "アクセストークン"}'
    • グループIdを指定した場合
$ curl -s -X POST -H "Content-type: application/json" 'https://<AirManage2サーバのホスト名>/api/v1/nodes/tenant_status' -d '{ "tenant_code": "テナント記号", "group_id": グループId, "token": "アクセストークン"}'

上記のコマンドを実行した場合の出力例(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://<AirManage2サーバのFQDN>/api/v1/nodes/fileupload’ \
-F uploadfile=@<アップロードファイル> \
-F token=<アクセストークン> \
-F tenant_code=<テナント記号> \
-F group_id=<グループID>

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

{
"result": "success",
"file_id": 34,
"filename": "test.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://<AirManage2サーバのFQDN>/api/v1/nodes/filejob’ -d '{ "tenant_code": "テナント記号", "token": "アクセストークン" , "group_id" : グループID , "node_id" : ノードID , "file_id" : ファイルID }'

上記のコマンドを実行した場合の出力例(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://<AirManage2サーバのFQDN>/api/v1/nodes/delfilejob’ -d '{ "tenant_code": "テナント記号", "token": "アクセストークン" , "node_id" : ノードID }'

上記のコマンドを実行した場合の出力例(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://<AirManage2サーバのFQDN>/api/v1/nodes/clear_job’ -d '{ "tenant_code": "テナント記号", "token": "アクセストークン" , "node_id" : ノードID }'

上記のコマンドを実行した場合の出力例(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://<AirManage2サーバのFQDN>/api/v1/nodes/release_attention’ -d '{ "tenant_code": "テナント記号", "token": "アクセストークン" , "node_id" : ノードID }'

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

{
"result": "success"
}

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

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

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

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

JSONキー内容
tenant_codeテナント記号。テナント一覧画面で確認します。
group_idアテンション解除の対象とするグループのId。グループ画面で確認します。指定しないとテナントに所属する全てのノードが対象となります。
tokenアクセストークン。テナント管理者のユーザの設定画面にて確認します。
  • レスポンス

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

JSONキー内容
result実行結果

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

$ curl -s -X POST -H "Content-type: application/json" 'https://<AirManage2サーバのFQDN>/api/v1/nodes/tenant_ease_attention’ -d '{ "tenant_code": "テナント記号", "token": "アクセストークン" }'

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

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