awspecがShared Credentialsに対応しました

awspecがShared Credentialsに対応しました。

Release v0.19.0 · k1LoW/awspec · GitHub

Shared Credentialsとは

aws-cliでよく使う ~/.aws/credentials のことです。

Shared Credentialsのprofile対応

もともとawspecで利用しているaws-sdk-rubyはShared Credentialsのdefaultを自動で読むようになっていたのですが、profileごとのShared Credentialsも指定できるようにしました。ついでに ~/.aws/config の設定も読むようにしたので、

$ aws configure --profile myprofile
AWS Access Key ID [None]: 
AWS Secret Access Key [None]: 
Default region name [None]:
Default output format [None]: 

と設定したあとで、

$ export AWS_PROFILE=myprofile; bundle exec rake spec

とか

$ awspec generate ec2 vpc-ab123cde --profile myprofile

とか、わざわざawspec用にsecrets.ymlを作成することなく実行できるようになりました。 (secrets.ymlも今までどおり利用できます)

awspecのテスト事情

awspec自体のテストはaws-sdk-rubyが提供するstubを利用して書いていますが(かなり優秀です!)、実は新しいResource Typeを実装する時などには、自分のAWSアカウントで必要なAWSリソース構成を作成し、実際にAWSにリクエストを投げて確認をしていたりします。

そういったときにsecrets.ymlが面倒だなーと思っていたので、awspecをつかう人はもっと面倒なのでは?と思い、aws-cliと同じように --profile が利用できるようにした次第です。

というわけで、少しだけ便利になりました。awspec。