使い方
例えば、EC2インスタンスの情報をただ取得するコマンドラインツールを作るとき Awsecrets.load
メソッドを利用して
#!/usr/bin/env ruby require 'awsecrets' Awsecrets.load ec2_client = Aws::EC2::Client.new puts ec2_client.describe_instances({ instance_ids: [ARGV.first] }).reservations.first.instances.first
というコマンドラインツール ec2sample
を書いたら、
$ ec2sample i-1aa1aaaa --profile mycreds --region ap-northeast-1
や
$ AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX AWS_REGION=ap-northeast-1 ec2sample i-1aa1aaaa
や
$ cat <<EOF > secrets.yml region: ap-northeast-1 aws_access_key_id: XXXXXXXXXXXXXXXXXXXX aws_secret_access_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX EOF $ ec2sample i-1aa1aaaa
など、AWS CLIと同じような感じでAWSアクセスキーやリージョンを取得して Aws::config
にセットしていい感じに aws-sdk を活用できます。中身はaws_config.gemとaws-sdk.gemでできています。