class Aeolus::CLI::ImportCommand

Public Class Methods

new(opts={}, logger=nil) click to toggle source
# File lib/aeolus_cli/command/import_command.rb, line 18
def initialize(opts={}, logger=nil)
  super(opts, logger)
  default = {
    :description => '<image><name>' + @options[:id] + '</name></image>',
  }
  @options = default.merge(@options)
end

Public Instance Methods

import_image() click to toggle source
# File lib/aeolus_cli/command/import_command.rb, line 26
def import_image
  begin
    description = read_file(@options[:description])
    if !description.nil?
      @options[:description] = description
    end

    import_params_valid!(@options)

    image = Aeolus::CLI::Image.new({:target_identifier => @options[:id],
                                    :image_descriptor => @options[:description],
                                    :provider_account_name => @options[:provider_account].first,
                                    :environment => @options[:environment]})
    image.save!

    headers = ActiveSupport::OrderedHash.new
    headers[:image] = "Image"
    headers[:build] = "Build"
    headers[:target_image] = "Target Image"
    headers[:id] = "Provider Image"
    headers[:status] = "Status"

    pi  = image.build.target_images.target_image.provider_images.provider_image
    pi.image = image.id
    pi.build = image.build.id
    pi.target_image = image.build.target_images.target_image.id
    pi_array = Array(pi)

    print_collection(pi_array, headers)
    quit(0)
  rescue => e
    handle_exception(e)
  end
end