Class: AwsInstanceList::List

Inherits:
Object
  • Object
show all
Defined in:
lib/aws_instance_list/list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeList

Returns a new instance of List.



7
8
9
10
# File 'lib/aws_instance_list/list.rb', line 7

def initialize
  @regions=AwsInstanceList::Region.list
  @list={}
end

Instance Attribute Details

#regionsObject

Returns the value of attribute regions.



5
6
7
# File 'lib/aws_instance_list/list.rb', line 5

def regions
  @regions
end

Instance Method Details

#cache_instance_list(region:) ⇒ Object



45
46
47
48
# File 'lib/aws_instance_list/list.rb', line 45

def cache_instance_list region:
  ec=AwsInstanceList::ElastiCache.new region: region
  ec.cache_list
end

#cache_listObject



41
42
43
# File 'lib/aws_instance_list/list.rb', line 41

def cache_list
  list call_to: :cache_instance_list
end

#db_listObject



12
13
14
# File 'lib/aws_instance_list/list.rb', line 12

def db_list
  list
end

#elasticsearch_listObject



50
51
52
# File 'lib/aws_instance_list/list.rb', line 50

def elasticsearch_list
  list call_to: :elasticsearch_service_list
end

#elasticsearch_service_list(region:) ⇒ Object



54
55
56
57
# File 'lib/aws_instance_list/list.rb', line 54

def elasticsearch_service_list region:
  es=AwsInstanceList::ElasticsearchService.new region: region
  es.domain_list
end

#list(call_to: :rds_db_list) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/aws_instance_list/list.rb', line 21

def list call_to: :rds_db_list

  threads = []

  regions.each do |region|

    threads << Thread.new do
      @list[region]=self.send( call_to, region: region)
    end

  end

  loop do
    break if threads.count { |th| th.alive? } == 0
  end

  @list.values.flatten(1)

end

#rds_db_list(region:) ⇒ Object



16
17
18
19
# File 'lib/aws_instance_list/list.rb', line 16

def rds_db_list region:
  rds=AwsInstanceList::RDS.new region: region
  rds.db_list
end