読者です 読者をやめる 読者になる 読者になる

続 カッコの付け方

AWSを始めとしたクラウドコンピューティング全般と、唯一神emacsにおける()の付け方についてだらだら書きます

Ansible の ec2.pyをprofile対応にする

Ansible EC2

ほぼ覚書です。

ec2.pyというスクリプトを使って、インスタンスID -> IPアドレスなどの変換を行いますが、こいつがprofileに対応していないので、改造版を使った。

https://github.com/donal/deployments/blob/master/ansible/ec2.py

ただこれを使っても、2つのプロファイルを同時に使うには、改造が必要

  • ec2.iniファイルにprofileを直書きするので、引数で切り替えられない
  • キャッシュファイル名が同じになってしまうので、profileごとのキャシュファイル名を変えるようにするか、0にするかのどちらか

結局泥臭く、ec2.py の別名ファイルを作り、読み込むiniファイルもファイル名変更し、ec2.py 自体を2つ用意した。カッコよく改造するなら、複数Profileを一気に吸って、吐き出すjsonをマージするだけど、面倒だからやらない。

複数AWSアカウントに散らばるリソースでec2.pyをつかうなら、この点なんとかしないといけない。