class Elbas::AWS::InstanceCollection
Attributes
instances[R]
Public Class Methods
new(ids)
click to toggle source
# File lib/elbas/aws/instance_collection.rb, line 8 def initialize(ids) @ids = ids @instances = query_instances_by_ids(ids).map do |i| Instance.new(i.instance_id, i.public_dns_name, i.state.code) end end
Public Instance Methods
each(&block)
click to toggle source
# File lib/elbas/aws/instance_collection.rb, line 19 def each(&block) instances.each(&block) end
running()
click to toggle source
# File lib/elbas/aws/instance_collection.rb, line 15 def running select(&:running?) end
Private Instance Methods
aws_namespace()
click to toggle source
# File lib/elbas/aws/instance_collection.rb, line 24 def aws_namespace ::Aws::EC2 end
query_instances_by_ids(ids)
click to toggle source
# File lib/elbas/aws/instance_collection.rb, line 28 def query_instances_by_ids(ids) aws_client .describe_instances(instance_ids: @ids) .reservations.flat_map(&:instances) end