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管理ライフを!