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プラグインを作ろうと思った人がいたら、 ぜひ使ってもらえればと思います。