class Builderator::Model::Cleaner::Snapshots

EC2 Snapshot Resources

Constants

PROPERTIES

Public Instance Methods

fetch() click to toggle source
# File lib/builderator/model/cleaner/snapshots.rb, line 18
def fetch
  @resources = {}.tap do |s|
    Util.ec2.describe_snapshots(:filters => [
      {
        :name => 'status',
        :values => %w(completed)
      }
    ], :owner_ids => ['self']).each do |page|
      page.snapshots.each do |snap|
        properties = Util.from_tags(snap.tags)
        properties['creation_date'] = snap.start_time.to_datetime
        PROPERTIES.each { |pp| properties[pp] = snap[pp.to_sym] }

        s[snap.snapshot_id] = {
          :id => snap.snapshot_id,
          :properties => properties,
          :volume => snap.volume_id
        }
      end
    end
  end
end
in_use() click to toggle source
# File lib/builderator/model/cleaner/snapshots.rb, line 41
def in_use
  {}.tap do |used|
    used.merge!(select(Cleaner.volumes.snapshots))
    used.merge!(select(Cleaner.images.snapshots))
  end
end