ようへいの日々精進XP

よかろうもん

2018 年 02 月 03 日(土)

ジョギング

  • 自宅→三日月山霊園→三日月湖一周 (6K) → 自宅というコースで 60 分くらいで 13 キロくらい
  • 三日月山霊園直前の心臓破りの坂で死んだけど、三日月湖一周のコースは適当なアップダウンもあって練習コースとしては最高

佐田整形外科

  • ストレッチ
  • インソールの話を聞くが、1 足分で 10,000 円〜 ということでビビった

腰痛

  • ジョギングの後、だんだん腰が痛くなる...
  • 立ったり、座ったりが激しく辛い

今日のるびぃ ~ awspec の Awspec::Helper::Finder モジュールメソッドの命名規則について考察 ~

昨日に引き続き

awspec についてのあくまでもメモ.

Awspec::Helper::Finder について

awspec/lib/awspec/helper/finder/ 以下に各 AWS リソース毎にファイルが用意されていて, aws-sdk の describe 系のメソッドを呼び出してリソースの一覧を取得している.

...
      def select_all_rds_db_parameters(parameter_group)
        parameters = {}
        res = rds_client.describe_db_parameters({
                                                  db_parameter_group_name: parameter_group
                                                })
        loop do
          res.parameters.each do |param|
            parameters[param.parameter_name] = param.parameter_value
          end
          (res.next_page? && res = res.next_page) || break
        end
        parameters
      end
...

上記のように describe_db_parameters を呼んでいて, 全てのパラメータを取得している.

で, メソッド名について

awspec/lib/awspec/helper/finder/ 以下の各ファイルを見てみると, 以下のような名前のメソッドで整理されていると思う.

メソッド名 詳細 用途
find_xxx(arg) xxx = AWS リソース名, arg = リソースの識別子(インスタンス ID 等) arg で指定したリソース情報を取得
select_xxx_by_yyyy(arg) xxx = AWS リソース名, yyy = yyy に紐付いている xxx(ebs_by_instance_id 等), arg = リソースの識別子 arg で指定したリソースに紐付いているリソース情報を取得
select_all_xxx(arg) xxx = AWS リソース名, arg = リソースの識別子 arg で指定したリソースに定義されている全ての情報を取得

例えば, 1 つの EC2 のインスタンスの情報を取得する場合には find_xxx(id) を利用しており, find_ec2(id) となっている. また, 1 つの EC2 に紐付いている EIP を取得する場合には, select_xxx_by_yyy を利用していて, select_eip_by_instance_id(id) となっている.

ふむふむ.