Completed
Push — master ( cc34b5...c8d41a )
by Ken’ichiro
03:58 queued 35s
created

Rds.select_all_rds_db_parameters()   A

Complexity

Conditions 1

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
c 0
b 0
f 0
dl 0
loc 13
rs 9.4285
1
module Awspec::Helper
2
  module Finder
3
    module Rds
4
      def find_rds(id)
5
        begin
6
          res = rds_client.describe_db_instances({
7
                                                   db_instance_identifier: id
8
                                                 })
9
        rescue
10
          res = rds_client.describe_db_instances({
11
                                                   filters: [{ name: 'db-instance-id', values: [id] }]
12
                                                 })
13
        end
14
        res.db_instances.single_resource(id)
15
      end
16
17
      def select_rds_by_vpc_id(vpc_id)
18
        res = rds_client.describe_db_instances
19
        res.db_instances.select do |db_instance|
20
          db_instance.db_subnet_group.vpc_id == vpc_id
21
        end
22
      end
23
24
      def select_all_rds_db_parameters(paramater_group)
25
        parameters = {}
26
        res = rds_client.describe_db_parameters({
27
                                                  db_parameter_group_name: paramater_group
28
                                                })
29
        loop do
30
          res.parameters.each do |param|
31
            parameters[param.parameter_name] = param.parameter_value
32
          end
33
          (res.next_page? && res = res.next_page) || break
34
        end
35
        parameters
36
      end
37
38
      def select_all_rds_db_cluster_parameters(paramater_group)
39
        parameters = {}
40
        res = rds_client.describe_db_cluster_parameters({
41
                                                          db_cluster_parameter_group_name: paramater_group
42
                                                        })
43
        loop do
44
          res.parameters.each do |param|
45
            parameters[param.parameter_name] = param.parameter_value
46
          end
47
          (res.respond_to?(:next_page?) && res.next_page? && res = res.next_page) || break
48
        end
49
        parameters
50
      end
51
    end
52
  end
53
end
54