この記事は、Pulumi dotnet Advent Calendar 2019の18日目です。
Pulumiの各プロバイダの実装はPluginとして提供されています。 このプラグインを確認する方法を見てみましょう。
TL;DR
- Issue報告などでPulumi VersionやPluginバージョンを添えると圧倒的に手早い
pulumi plugin ls
でpluginが確認できる- .NET (C#) ではNuGetで管理されている
Pluginの確認
Pluginは、awsとかazureのように、どこの操作をするかのグループ。
pulumi plugin
でプラグインの操作ができます。
$ pulumi plugin ls NAME KIND VERSION SIZE INSTALLED LAST USED aws resource 1.8.0 220 MB 6 days ago 6 days ago TOTAL plugin cache size: 220 MB
GitHub
Pluginは、pulumi-xxxx
リポジトリで開発されています。例えば、Awsプラグインなら、pulumi/pulumi-awsです。
.NET 実装では NuGet で参照される
Pulumiが生成するInfra.csproj
を見るとPulumiのNugetが入っています。
<ItemGroup> <PackageReference Include="Pulumi.Aws" Version="1.10.0-preview" /> <PackageReference Include="Pulumi" Version="1.6.0-preview" /> </ItemGroup>
多くの場合、Pulumi
nugetはPulumi.Aws
など実際に使っているプロバイダの依存バージョンで暗黙的に利用されています。
しかし、Pulumi
Nugetで修正されていて明示的に取得する必要があります。
この場合は、プロジェクトのNuGet管理からPulumi
やPulumi.Aws
NuGetを更新する。
Plugin の元ネタ
基本的に、Terraformをベースに書く言語実装が出力されています。そのため、Pluginの挙動でもしよくわからないことがあったら、Terraformのリソースでそのパラメーターが受け付けられているかなどを確認すると動作します。
バージョン履歴を見ると、現在どのバージョンのTerraform Providerをベースにしているかがわかります。