class AwsCli::CLI::Emr

Public Instance Methods

add_ig() click to toggle source
# File lib/awscli/cli/emr.rb, line 126
def add_ig
  unless options[:job_flow_id] and options[:instance_groups]
    abort '--job-flow-id and --instance-groups are required'
  end
  create_emr_object
  @emr.add_instance_groups options[:job_flow_id], options[:instance_groups]
end
add_instances() click to toggle source
# File lib/awscli/cli/emr.rb, line 47
def add_instances
  if !options[:job_flow_id] and !options[:instance_count] and !options[:instance_role] and !options[:instance_type]
    puts 'These options are required --job-flow-id, --instance-count, --instance-role and --instance-type'
    exit
  end
  abort 'Invalid Instance Role' unless %w(MASTER CORE TASK).include?(options[:instance_role])
  create_emr_object
  @emr.add_instance_group options
end
add_steps() click to toggle source
# File lib/awscli/cli/emr.rb, line 137
def add_steps
  unless options[:job_flow_id] and options[:steps]
    abort '--job-flow-id and --steps are required'
  end
  create_emr_object
  @emr.add_steps options[:job_flow_id], options[:steps]
end
create() click to toggle source
# File lib/awscli/cli/emr.rb, line 114
def create
  unless options[:name]
    puts 'These options are required --name'
    exit
  end
  create_emr_object
  @emr.create_job_flow options
end
delete() click to toggle source
# File lib/awscli/cli/emr.rb, line 30
def delete
  create_emr_object
  @emr.delete options[:job_flow_ids]
end
list() click to toggle source
# File lib/awscli/cli/emr.rb, line 20
def list
  if options[:job_flow_status]
    abort 'Invalid job flow status' unless %w(RUNNING WAITING SHUTTING_DOWN STARTING).each_cons(options[:job_flow_status].size).include? options[:job_flow_status]
  end
  create_emr_object
  @emr.list options
end
modify_instances() click to toggle source
# File lib/awscli/cli/emr.rb, line 60
def modify_instances
  if !options[:instance_count] and !options[:instance_group_id]
    puts 'These options are required --instance-count and --instance-group-id'
    exit
  end
  create_emr_object
  @emr.modify_instance_group options
end
termination_protection() click to toggle source
# File lib/awscli/cli/emr.rb, line 72
def termination_protection
  create_emr_object
  @emr.set_termination_protection options[:job_flow_ids], options[:termination_protection]
end
usage() click to toggle source
# File lib/awscli/cli/emr.rb, line 10
def usage
  File.open(File.dirname(__FILE__) + '/UsageExamples/emr') do |file|
    puts file.read
  end
end

Private Instance Methods

create_emr_object() click to toggle source
# File lib/awscli/cli/emr.rb, line 147
def create_emr_object
  puts 'EMR Establishing Connection...'
  $emr_conn =  Awscli::Connection.new.request_emr
  puts 'EMR Establishing Connection... OK'
  @emr = Awscli::Emr::EMR.new($emr_conn)
end