この記事は、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
という名前で GitHub 上でオープンに開発されている。
例えば、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 をベースにしているかがわかる。