Pulumi
Pulumiのパッケージ更新をしたら、プロパティ名が変わっておりcraete-replacementが生じてしまう。 Pulumi SDK側でプロパティ名が変更されると発生するのですが、普段出会うことはまずありません。 しかし稀に、プレビューパッケージを使ったり、プレビュー…
Pulumiはステートをスタック (Stack) に保持しています。 スタックはリネームや別のOrganizationへの移動はサポートされていますが、自分のOrganizationの別プロジェクトへの移動はサポートされていません。 しかしスタックを後から整理したいときには、この…
Infrastructure as Code (以降IaC) で組むときにIaCツールを選ぶ基準はいろいろあり、様々な理由で選ぶことでしょう。 IaCの言語がチームとって扱いやすいか クラウドやサービスへのIaCの対応状況は早い/十分か コミュニティの大きさは十分でググれば情報を…
Pulumiは複数の言語で書くことができるのですが、そのうちの1つに .NET (C#) もあります。 Languages より https://www.pulumi.com/docs/intro/languages/ 以前PulumiをC# で書く時の事始めシリーズを書いていましたが、あれから時間がたって書き方も変わり…
PulumiはStackの解析をして、現在のステートとの差分でどのような処理をするかpreview / upで表示します。 このため、Stackの解析中 (=コードをビルドして実行してStack生成中) に例外が生じたときにどのようにハンドルされるかは重要です。 今回はユーザー…
terraformもそうですが、Infrastructure as Codeとかやってるとstateの壊れる日が来て軽く絶望します。 Pulumiで、誤った操作からstateのリソースが200あまり消えたときにどのように復旧したのかをメモしておきます。 TL;DR 状況 復旧目標 前提情報 State と…
この記事は、Pulumi dotnet Advent Calendar 2019の25日目です。 qiita.com 最終日は、Pulumiでこんなときどうするのかをまとめていきます。 TL;DR Pulumi.Aws.Iam.Invokes のInput<T>がOutput<T>の依存解決を行えない Pulumi-aws の destroy で vpc 削除が何度や</t></t>…
この記事は、Pulumi dotnet Advent Calendar 2019の24日目です。 qiita.com そろそろ終わりです。pulumiでよく使うコマンドを見てみましょう。 TL;DR ドキュメント 操作 pulumi up pulumi config pulumi destroy pulumi preview pulumi refresh State pulumi…
この記事は、Pulumi dotnet Advent Calendar 2019の23日目です。 qiita.com Terraformを使っていると、HCLで定義したリソースがHCLの定義とずれると差分として検出されました。 しかし、Pulumiではpulumi upをしただけでは検出されないことに気づきます。 こ…
この記事は、Pulumi dotnet Advent Calendar 2019の22日目です。 qiita.com あまりないのですが、時にすでにあるProjectとローカルのpulumiを紐づけたいときがあります。 そんなときにどうやればいいのか見ておきます。 TL;DR Summary Pulumi Project の紐づ…
この記事は、Pulumi dotnet Advent Calendar 2019の21日目です。 qiita.com Pulumiでterraform targetのような操作をどうやるか見てみます。 TL;DR 実際に操作する TL;DR Pulumi CLI 1.3.0から--targetによって可能になった。 合わせてreplaceにより入れ替え…
この記事は、Pulumi dotnet Advent Calendar 2019の20日目です。 qiita.com 些末なコマンドメモです。 Terraformと違って細かい差分でないのですが、Continuous Deliveryしているとdetailsを忘れるアレ。 TL;DR Summary TL;DR pulumi up後の選択肢で、detail…
この記事は、Pulumi dotnet Advent Calendar 2019の19日目です。 qiita.com そろそろどうやるか見てみましょう。 と思ったのですが、日本語OS上では解決方法が見つからないのでゆるぼ。 TL;DR Summary NOTE: だめな方法 推察 REF TL;DR 現状日本語Windowsで…
この記事は、Pulumi dotnet Advent Calendar 2019の18日目です。 qiita.com Pulumiの各プロバイダの実装はPluginとして提供されています。 このプラグインを確認する方法を見てみましょう。 TL;DR Pluginの確認 GitHub .NET 実装では NuGet で参照される Plu…
この記事は、Pulumi dotnet Advent Calendar 2019の17日目です。 qiita.com PulumiのTIPSを見ていきましょう。 TerraformのRemote Stateに相当する処理を見てみます。 Pulumiで他のStackで管理しているリソースは参照できるのでしょうか? TL;DR Stack Refere…
この記事は、Pulumi dotnet Advent Calendar 2019の16日目です。 qiita.com PulumiのWeb UIを見ると、stateはProject/Stack配下で管理されています。ということは、stateを他Project/Stackに移動したいときは何か操作がいりそうですね。 それをどうするのか…
この記事は、Pulumi dotnet Advent Calendar 2019の15日目です。 qiita.com PulumiのStateから特定のリソースだけ管理対象外にしたい、そんなことはきっと起こります。 どのようにやればいいのか見てみましょう。 TL;DR 想定ケース 対応方法 REF TL;DR pulum…
この記事は、Pulumi dotnet Advent Calendar 2019の14日目です。 qiita.com すでにPulumiで扱うこと自体はなるほど、という感じになってきましたでしょうか。 完全に理解した() を目指して、さらに進めてみます。 Terraform作ったリソースだが、実際にはKube…
この記事は、Pulumi dotnet Advent Calendar 2019の13日目です。 qiita.com Terraformでは、PRに連動させてどのようにPlan/Applyをするのかを一度は考え、すでに実践しているはずです。 私のお勧めはAtlantisですが、CircleCIでもいいでしょう。Terraform Cl…
この記事は、Pulumi dotnet Advent Calendar 2019の12日目です。 qiita.com Pulumiには、ProjectとStackがあります。 この構成どうするのがコンセプト的にはいいのか見てみます。 TL;DR project:stack を 1:n にしない TL;DR Stackは、あくまでもその環境の…
この記事は、Pulumi dotnet Advent Calendar 2019の11日目です。 qiita.com Terraformに慣れているとPulumiもイメージしやすいところはあります。 一方でTerraformとの違いでどうすればいいのかな? となることもあります。 どんなことがあるのか見ます。 TL;…
この記事は、Pulumi dotnet Advent Calendar 2019の10日目です。 qiita.com PulumiはWeb UIがあり、そこにはConfigが見えます。 実際にコードでもConfigが参照でき、機密情報はConfigに保持して参照することでGitから分離できてよさそうです。 早速見てみま…
この記事は、Pulumi dotnet Advent Calendar 2019の9日目です。 qiita.com 前回までの記事でPulumiを使ってIaCできる感触が出てきました。 今回から、一歩先に進めることを見ていきましょう。 まずは、既存のリソースを取り込むことです。terraform importで…
この記事は、Pulumi dotnet Advent Calendar 2019の8日目です。 qiita.com リソースを作ったら、ほかのリソースを作るときにその結果を参照させたいお気持ちになります。 どうやるのか見てみましょう。 TL;DR Summary Detail Output の処理の種類 Use Cases …
この記事は、Pulumi dotnet Advent Calendar 2019の7日目です。 qiita.com 前回Componense Resourceを薄くラップして使うことを見ました。今回はドキュメントにないComponentResourceの暗黙的なお約束です。 今後拡充するかもです。 TL;DR ComponentResource…
前回リソースの入れ子をする方法を見ました。 この記事は、Pulumi dotnet Advent Calendar 2019の6日目です。 qiita.com 今回は、ComponenseResourceで親子関係の維持、Dataリソースをasync/awaitで使うという二点を担保できるようにResourceクラスの簡単な…
この記事は、Pulumi dotnet Advent Calendar 2019の5日目です。 qiita.com リソースの親子関係を持たせることで、preview表示、グラフ表示したときに入れ子状態が格段と見やすく把握しやすくなります。 ではどうやって親子関係を持たせればいいのでしょうか…
この記事は、Pulumi dotnet Advent Calendar 2019の4日目です。 qiita.com terraformでいうところのdataリソースに相当する処理を見てみましょう。 すでに存在するリソースを参照して、ほかのリソースで利用するための方法です。 TL;DR 現在の AWS アカウン…
この記事は、Pulumi dotnet Advent Calendar 2019の3日目です。 qiita.com リソースを作るとなんか可視化されるらしい、PulumiのWeb UIについてざっくりみてみましょう。 TL;DR STACKS SETTINGS TL;DR Pulumiで圧倒的に使いやすいのがWeb UI。 特に、履歴、…
この記事は、Pulumi dotnet Advent Calendar 2019の2日目です。 qiita.com Getting Startedを一日目で見たので、PulumiでC# を使ってそもそもどのような風に書けばいいのかコンセプトを把握します。 疑問はそれから順次書きながら解消していきましょう。 TL;…