この記事は、Pulumi dotnet Advent Calendar 2019の18日目です。
Pulumiの各プロバイダの実装はPluginとして提供されています。 このプラグインを確認する方法を見てみましょう。
概要
- 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をベースにしているかがわかります。