Module: Builderator::Control::AMI

Defined in:
lib/builderator/control/ami.rb

Overview

Find AMI IDs to use for sources

Defined Under Namespace

Modules: Owners

Constant Summary collapse

FILTERS =
%w(architecture block-device-mapping.delete-on-termination
block-device-mapping.device-name block-device-mapping.snapshot-id
block-device-mapping.volume-size block-device-mapping.volume-type
description hypervisor image-id image-type is-public kernel-id
manifest-location name owner-alias owner-id platform product-code
product-code.type ramdisk-id root-device-name root-device-type
state state-reason-code state-reason-message virtualization-type).freeze

Class Method Summary collapse

Class Method Details

.latest(filters) ⇒ Object



34
35
36
37
38
# File 'lib/builderator/control/ami.rb', line 34

def latest(filters)
  search(filters).sort do |a, b|
    DateTime.iso8601(b.creation_date) <=> DateTime.iso8601(a.creation_date)
  end.first
end

.search(filters = {}) ⇒ Object



28
29
30
31
32
# File 'lib/builderator/control/ami.rb', line 28

def search(filters = {})
  [].tap do |images|
    Builderator::Util.ec2.describe_images(search_options(filters)).each { |page| images.push(*page.images) }
  end
end