Sha256: 8e90d88a15173593297ca13b925122214b100699f94ef0e0023c6a52742f5c5a

Contents?: true

Size: 1.64 KB

Versions: 5

Compression:

Stored size: 1.64 KB

Contents

require 'thor'
require_relative '../control/ami'

module Builderator
  module Tasks
    class AMI < Thor
      namespace :ami

      class_option :root_device_type,
                   :default => 'ebs',
                   :desc => 'The type of the root device volume (ebs | instance-store)'
      class_option :virtualization_type,
                   :default => 'hvm',
                   :desc => 'The virtualization type (paravirtual | hvm)'
      class_option :architecture,
                   :default => 'x86_64',
                   :desc => 'The image architecture (i386 | x86_64)'

      desc 'ubuntu SEARCH', 'Print the latest AMI ID for an Ubuntu image matching the SEARCH string'
      def ubuntu(search = '*/hvm-ssd/ubuntu-trusty-daily-amd64-server-20*')
        puts Control::AMI.latest(:owner => Builderator::Control::AMI::Owners::UBUNTU,
                                 'root-device-type' => options['root_device_type'],
                                 'virtualization-type' => options['virtualization_type'],
                                 'architecture' => options['architecture'],
                                 'name' => search).image_id
      end

      desc 'private [KEY VALUE ...]', 'Find the latest AMI ID with tags KEY=VALUE'
      def private(*args)
        puts Control::AMI.latest({ :owner => Builderator::Control::AMI::Owners::SELF,
                                   'root-device-type' => options['root_device_type'],
                                   'virtualization-type' => options['virtualization_type'],
                                   'architecture' => options['architecture'] }.merge(Hash[*args])).image_id
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
builderator-0.3.14 lib/builderator/tasks/ami.rb
builderator-0.3.13 lib/builderator/tasks/ami.rb
builderator-0.3.12 lib/builderator/tasks/ami.rb
builderator-0.3.11 lib/builderator/tasks/ami.rb
builderator-0.3.10 lib/builderator/tasks/ami.rb