かまたま日記3

プログラミングメイン、たまに日常

miamでexcludeオプションで除外したいIAMリソースを指定する

miamというAWS IAMリソースをDSLで管理できる素晴らしいツールがあるのですが、このツールの基本動作としてアカウントに紐づく全部のリソースを管理しようとするので、他のツール(例えばTerraformとかCloudFormation)で管理しているものがあった場合、こちらにエクスポートしておかないと削除されてしまいます。

そこで使うのが exclude オプションで、除外したいリソースを正規表現で指定できます。

$ bundle exec miam --apply --exclude 'foo'

しかし、このオプション、一回しか指定できないので、複数のリソースを指定したい場合、一個の exclude オプションに無理やり詰め込む必要がありました。

$ bundle exec miam --apply --exclude '(foo|bar|baz)'

しかし、我々のケースだと除外したいものが多くて複雑になってしまい

(foo-(admin|developer)-(staging|production)|bar-service.+)

こんなな感じになり読みづらいという難点がありました。

そこでPRを送らせてもらいまして、複数 exclude を指定できるようになったバージョン(v0.2.4.beta15)が本日リリースされました。 github.com

今後は以下のような感じで、 exclude を分けることが出来るようになります。

$ bundle exec miam --apply --exclude 'foo' --exclude 'bar' --exclude 'baz'

あと、 target というこれを指定したリソースだけをmiamで管理するというオプションも複数指定できるようになっています。

それでは、楽しいIAM管理ライフを!