NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Microsoft Visual Studio Code で Nutanix Cmdlets。

Nutanix Advent Calendar 2016 の20日目の投稿です。

www.adventar.org

 

今回は、Microsoft の Visual Studio Code (VS Code)で、Nutanix Cmdlets を使ってみます。VS Code はすでにインストールずみで、バージョンは 1.8.1 を使用しています。

Visual Studio Code - Visual Studio

 

VS Code に 機能拡張: PowerShell のインストール

「機能拡張」ボタンのあたりで PowerShell を検索すると見つかるので、インストールしておきます。

f:id:gowatana:20161220084212p:plain

PowerShell の Profile ファイル作成

VS Code の PowerShell 言語モードで、NutanixCmdlets の PSSnapIn を読み込むようにします。プロファイルは、下記のあたりに作成します。

PS C:\Users\gowatana> $PROFILE
C:\Users\gowatana\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

デフォルトではプロファイルを格納するフォルダがないので、作成しておきます。

PS C:\Users\gowatana> $HOME
C:\Users\gowatana
PS C:\Users\gowatana> mkdir $HOME\Documents\WindowsPowerShell

NutanixCmdletsPSSnapin を読み込む「Microsoft.VSCode_profile.ps1」ファイルを作成します。

PS C:\Users\gowatana> echo "Add-PSSnapin NutanixCmdletsPSSnapin" >> $HOME\Documents\WindowsPowerShell\Microsoft.VSCode_profile.ps1
PS C:\Users\gowatana> cat $HOME\Documents\WindowsPowerShell\Microsoft.VSCode_profile.ps1
Add-PSSnapin NutanixCmdletsPSSnapin

VS Code の言語モードで PowerShell を選択

VS Code を起動しなおして、言語モードで PowerShell を選択します。

f:id:gowatana:20161220084857p:plain

インテリセンスで NTNX 系のコマンドレットが補完されるようになります。

f:id:gowatana:20161220085222p:plain

オプションの候補も表示されるようになります。

f:id:gowatana:20161220085232p:plain

デバッグ実行

デバッグ実行の構成を保存するファイルを作成します。
これは、最初にデバッグ実行するあたりで、自動生成することができます。
(そのときの画面ではないですが、下記のあたりです。)

f:id:gowatana:20161220090410p:plain

今回は、スクリプトで Connect-NutanixCluster で Nutanix クラスタ(クラスタ VIP は 192.168.1.190)に接続してみます。
デバッグ 画面の「構成の追加」ボタンで、「PowerShell: Launch Current File Configuration」あたりを選択すると launch.json のテンプレートが表示されるので、引数(args)あたりを編集します。

launch.json (下記は、デフォルトから args だけ編集してあります。)

{
    "version": "0.2.0",
    "configurations": [

        {
            "type": "PowerShell",
            "request": "launch",
            "name": "PowerShell Launch (current file)",
            "script": "${file}",
            "args": ["192.168.1.190","admin","パスワード"],
            "cwd": "${file}"
        }
    ]
}

実行する Nutanix Cmdlets の PowerShell スクリプトです。

Add-PSSnapin NutanixCmdletsPSSnapin

$prism_addr = $args[0]
$prism_user = $args[1]
$prism_pass = ConvertTo-SecureString $args[2] -AsPlainText -Force
$prism = Connect-NutanixCluster -Server $prism_addr -UserName $prism_user -Password $prism_pass -AcceptInvalidSSLCerts -ForcedConnection

Get-NTNXCluster

Disconnect-NutanixCluster $prism

「デバッグの開始」を実行すると、オプションを読み込んで、クラスタに接続して情報取得できました。

f:id:gowatana:20161220085632p:plain

以上。