< 前回の投稿を読む

 

こんにちは、仮想化技術およびクラウドソリューション担当の平原です。今回は(私もそうですが)REST APIはちょっとなぁ...でも、コマンドがあればスクリプトなんかバリバリ作っちゃうぜ!というお方にオススメのCLIでの操作方法を説明いたします。実はVMware社はvRealize CloudClientというCLIライクなツールも用意しています。CLIライクというのはダウンロードしてみると分かるのですが、このCloudClientはWindowsバッチファイルおよびLinuxシェルスクリプトとJavaプログラムからなるツールで、スクリプト自身は裏でJavaを介してREST APIを叩いている、いわゆるラッパーソフトウェアとして動作するものです。とはいえ、使い勝手は全くのCLIそのものですし、ユーザスクリプトへの組み込みも問題なく行えます。ということで、このCloudClientを入手して実際にコマンドを実行させてみましょう。

現時点での最新版はバージョン4.3または3.5になります。どちらのバージョンを使うのかはvRealize Automationのバージョンに依存しますが、vRealize Automation 7.xであれば4.x、vRealize Automation 6.xであれば3.xを使用してください。


vRealize CloudClient 4.3のダウンロード

cloudclient.png

VMware Product Interoperability Matrixes

support_matrix.png

まず、ダウンロードしてきたCloudClientのzipファイルを任意のディレクトリ上に解凍してください。解凍後に出来たディレクトリの中にbinというパスがあるので、その中のバッチファイルまたはシェルスクリプトを実行します。そうするとCloudClient>というプロンプトが表示されるのでそこからコマンド操作が可能です(初回のみ使用許諾を求められます)。

cloudclient.png

操作方法はHTML形式のヘルプファイル(別途ダウンロード必要)を参照するか、helpコマンドで必要な情報を得られます。また、コマンドの途中でタブキーを押すと、以降に続く候補が得られます。

help.png

最初に必要なのはvRealize Automationへのログイン操作です。

vra_login.png

ログインが完了したら、以降は必要とする操作のためのコマンドを打ってみましょう。ここではNetwork Profileのリスト一覧を取ってみます。

vre_nwprofile_list.png

なお、このままの出力だとツール間連携には使いにくいので、出力形式をCSVまたはJSON形式で指定することも可能です。

CSV形式

vre_nwprofile_list_csv.png

こちらはJSON形式

vre_nwprofile_list_json.png

前回のREST API同様にNetwork Profileの詳細が取れるかを試してみました。残念ながら期待した情報は取れませんでした。機能的には必ずしもREST APIと同じというわけではないので注意が必要です。

vre_nwprofile_details.png

さて、ここまでのサンプルを見ていて、CloudClientの中で対話的にコマンドを叩いているけど、これではユーザスクリプトに組み込めないのでは?という疑問もあるでしょう。こういうときはautologinファイルを作成することで、ワンラインでコマンド実行までさせることが可能です。autologinファイルと暗号化されたパスワードを格納するkeyfileを作成してみます。

vra_autologin.png

autologinファイルは、解凍したディレクトリの直下に"CloudClient.properties"の名前で出来ているので、こちらを環境に合わせて編集します。

autologinfile.png

CloudClient.propertiesファイルの中身

autologinfile2.png

ここまでの準備が完了するとワンラインでのコマンド実行が可能なので、これでユーザスクリプトに組み込むことが可能になります。

oneliner_cmd.png

ちなみにCloudClientは情報参照だけでなく、サービスカタログからの仮想マシン作成やvRealize Automationの設定変更などにも使えます。下記はVMware社が提供しているサンプルスクリプトで、カタログIDとビジネスグループを引数に仮想マシンの作成を行うものです。

create_server.png

このようにvRealize Automationが提供しているAPIやコマンドをうまく活用することで、皆さんの運用環境に合わせた、より高度な自動化の実現が可能です。

 

続きの投稿を読む >