Class: AwsCli::CLI::Emr

Inherits:
Thor
  • Object
show all
Defined in:
lib/awscli/cli/emr.rb

Instance Method Summary collapse

Instance Method Details

#add_igObject



126
127
128
129
130
131
132
# 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_instancesObject



47
48
49
50
51
52
53
54
55
# 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_stepsObject



137
138
139
140
141
142
143
# 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

#createObject



114
115
116
117
118
119
120
121
# 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

#deleteObject



30
31
32
33
# File 'lib/awscli/cli/emr.rb', line 30

def delete
  create_emr_object
  @emr.delete options[:job_flow_ids]
end

#listObject



20
21
22
23
24
25
26
# 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_instancesObject



60
61
62
63
64
65
66
67
# 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_protectionObject



72
73
74
75
# 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

#usageObject



10
11
12
13
14
# File 'lib/awscli/cli/emr.rb', line 10

def usage
  File.open(File.dirname(__FILE__) + '/UsageExamples/emr') do |file|
    puts file.read
  end
end