vCenter Server 8.0 U2c で、vCenter Server プロファイルをエクスポートしてみます。
今回の内容です。
- vCenter Server プロファイルを操作する REST API
- vCenter Server プロファイルのエクスポート(API Explorer)
- vCenter Server プロファイルの JSON データ
vCenter Server プロファイルを操作する REST API
vCenter Server プロファイルは vCenter Server 7.0 から提供されている機能ですが、いまのところ vSphere Client には UI が実装されていなそうなので、REST API で操作することになるようです。
vCenter Server プロファイルの操作には、vSphere Automation API に含まれる Appliance REST API → Infraprofile を使用します。また API コールには、CIS Session API で取得できる API Key(vmware-api-session-id)が必要になります。
- vSphere Automation API
https://developer.vmware.com/apis/vsphere-automation/latest/ - Appliance REST API
https://developer.vmware.com/apis/vsphere-automation/latest/appliance/ - Infraprofile
https://developer.vmware.com/apis/vsphere-automation/latest/appliance/infraprofile/configs/ - CIS Session API
https://developer.vmware.com/apis/vsphere-automation/latest/cis/cis/session/
vCenter Server プロファイルについては、下記の記事が参考になります。
- Achieve Consistent Configuration across vCenter Servers - vCenter Server Profiles
https://core.vmware.com/blog/achieve-consistent-configuration-across-vcenter-servers-vcenter-server-profiles
vCenter Server プロファイルのエクスポート(API Explorer)
今回は、vSphere Client に組み込まれている API Explorer を利用します。この手順であれば、vmware-api-session-id の取得は省略できます。
vSphere Client で、「デベロッパー センター」→「API Explorer」タブを開き、エンドポイント(vCenter インスタンス)と、API を選択します。
- API を選択: appliance
「API カテゴリ」→「infraprofile/configs」で、下記の API メソッドを展開します。
- POST /api/appliance/infraprofile/configs?action=export
request_body は空欄のまま、「実行」をクリックします。
確認メッセージが表示されるので、「続行」をクリックします。
Response に、vCenter Server プロファイルの JSON データが表示されます。分量の多い JSON ですが、「ダウンロード」ボタンでテキスト ファイルとして保存できます。
ちなみに、curl で実行できるコマンド ラインも表示されています。
ほかにも同様に、JSON のチェック(action=validae)と、インポート(action=import)が実行できます。
vCenter Server プロファイルの JSON データ
vCenter Server プロファイルはデフォルトでは response-body.json というファイル名でダウンロードされます。これは、エスケープ処理された長大な1行の JSON データです。
vCenter Server プロファイルの JSON データからエスケープを解除して、読みやすくフォーマットすると下記のようになります。ただしインポートする際には、あらためてエスケープ処理をすることになります。
つづく。