errbot-cloudfront: first
PyCon JPのプロポーザル選考速報を見た悲しみでガーッと作りました。おおまかな動作は確認済み。
何を する ものか?
Errbotのプラグインで、これを導入するとerrbot経由でCloudFrontのディストリビューションの一覧取得と、 ID指定によるオブジェクトの無効化ができるようになります。
どう やって 使うか
事前に必要なもの
Errbotが動いている環境
CloudFrontを扱える、AWSのIAMアカウント(AccessIDとSecretKey)
インストールする
インストール自体はErrbotプラグインの例に漏れず、 GitHubのようなGitリポジトリで管理している分については、
!repos install https://github.com/attakei/errbot-cloudfront.git
とErrbotに対して命令を出すだけで完了します。
ただし、バージョンや環境によってはrequirements.txtを読み込まないケースがあるので、 その場合はErrbotを動かしている環境下にboto3をインストールしてあげてください。
使う
現時点で持っている機能は2+1個
cloudfront list
上記のアカウントが読み取り可能なディストリビューション設定の一覧表示
上記のアカウントが指示可能な、ディストリビューションに対するキャッシュ無効化
cloudfront invalidate
キャッシュ無効化の状況確認
cloudfront status
list コマンドはあくまでディストリビューションIDを表示するのが目的で、 メインの機能はキャッシュの無効化命令を出す部分です。
状況確認のコマンドもあるにはありますが、基本的には無効化確認を自動で行い、 無効化処理が"Completed"になった時点で指示を出した人宛にメンションを出す仕様なので、 実質的に cloudfront invalidate だけあればほぼ十分になっています。
あとがき
社内でこんなのあれば便利じゃね?
ちょっと個人でプロダクト作るときに便利かも?
地に足ついたOSS活動しておこう
などの悪魔合体的に作った産物ですが、 そこそこ便利だとおもうのと、「わかりやすく作る」を多少は意識したので、 Errbotに興味をもった人やErrbotプラグインを作ろうと思った人がいたら、 ぜひ使ってもらえればと思います。