Class: Builderator::Model::Cleaner::Instances
- Defined in:
- lib/builderator/model/cleaner/instances.rb
Overview
EC2 Instance resources
Constant Summary collapse
- PROPERTIES =
%w(private_dns_name public_dns_name instance_type subnet_id vpc_id private_ip_address public_ip_address architecture root_device_type virtualization_type hypervisor)
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Base
#find, #in_use, #in_use?, #initialize, #select, #unused
Constructor Details
This class inherits a constructor from Builderator::Model::Cleaner::Base
Instance Method Details
#fetch ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/builderator/model/cleaner/instances.rb', line 21 def fetch @resources = {}.tap do |i| Util.ec2.describe_instances(:filters => [ { :name => 'instance-state-name', :values => %w(pending running shutting-down stopping stopped) } ]).each do |page| page.reservations.each do |r| r.instances.each do |instance| properties = Util.(instance.) properties['availability_zone'] = instance.placement.availability_zone properties['creation_date'] = instance.launch_time.to_datetime PROPERTIES.each { |pp| properties[pp] = instance[pp.to_sym] } i[instance.instance_id] = { :id => instance.instance_id, :image => instance.image_id, :volumes => instance.block_device_mappings.map { |b| b.ebs.volume_id }, :properties => properties } end end end end end |
#images ⇒ Object
48 49 50 |
# File 'lib/builderator/model/cleaner/instances.rb', line 48 def images resources.values.map { |i| i[:image] } end |
#volumes ⇒ Object
52 53 54 |
# File 'lib/builderator/model/cleaner/instances.rb', line 52 def volumes resources.values.map { |i| i[:volumes] }.flatten end |