2019年9月27日金曜日

vSphere REST API を curl でサクっと実行する方法

概要

タイトルの通りです
SOAP ではなく JSON ベースの REST API になります

環境

  • CentOS 7.7.1908
  • vSpehre vCenter 6.7.0.30000

認証

まずは SessionID を取得します
vSphere Client でログインしているユーザとパスワードが必要になります
以下は user001/pass001 として SessionID を取得する例です

  • curl -k -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'vmware-use-header-authn: test' --header 'vmware-api-session-id: null' -u 'user001' 'https://192.168.100.10/rest/com/vmware/cis/session'

実行するとパスワードの入力が求められるので user001 のパスワードを入力します
vmware-use-header-authn は「test」のままで OK です

成功すると {"value":"1aa17f25fbe29ca15de233dd82d1fda8"} のような SessionID が返ってきます

API をコールする

例えばタグの一覧を取得する場合は以下のようにコールします

  • curl -k -X GET --header 'Accept: application/json' --header 'vmware-api-session-id: 1aa17f25fbe29ca15de233dd82d1fda8' 'https://192.168.100.10/rest/com/vmware/cis/tagging/tag'

これで JSON 情報が返ってきます
取得した SessionID は vmware-api-session-id に設定しましょう

最後に

コール可能な API の一覧は https://192.168.100.10/apiexplorer/ にアクセスすると確認できます

0 件のコメント:

コメントを投稿