Sha256: 409725c0fc9e731ee2bd029d63707985d1b1e5b84f874d94209e6e33aa9bfb74

Contents?: true

Size: 1.37 KB

Versions: 7

Compression:

Stored size: 1.37 KB

Contents

module Elasticity

  class SimpleJob

    attr_accessor :action_on_failure
    attr_accessor :aws_access_key_id
    attr_accessor :aws_secret_access_key
    attr_accessor :ec2_key_name
    attr_accessor :name
    attr_accessor :hadoop_version
    attr_accessor :instance_count
    attr_accessor :log_uri
    attr_accessor :master_instance_type
    attr_accessor :slave_instance_type

    def initialize(aws_access_key_id, aws_secret_access_key)
      @action_on_failure = "TERMINATE_JOB_FLOW"
      @aws_access_key_id = aws_access_key_id
      @aws_secret_access_key = aws_secret_access_key
      @ec2_key_name = "default"
      @hadoop_version = "0.20"
      @instance_count = 2
      @master_instance_type = "m1.small"
      @name = "Elasticity Job"
      @slave_instance_type = "m1.small"

      @emr = Elasticity::EMR.new(aws_access_key_id, aws_secret_access_key)
    end

    def add_hadoop_bootstrap_action(option, value)
      @hadoop_actions ||= []
      @hadoop_actions << {
        :name => "Elasticity Bootstrap Action (Configure Hadoop)",
        :script_bootstrap_action => {
          :path => "s3n://elasticmapreduce/bootstrap-actions/configure-hadoop",
          :args => [option, value]
        }
      }
    end

    private

    def get_bootstrap_actions
      return {} unless @hadoop_actions && !@hadoop_actions.empty?
      { :bootstrap_actions => @hadoop_actions }
    end

  end

end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
elasticity-1.4.1 lib/elasticity/simple_job.rb
elasticity-1.4 lib/elasticity/simple_job.rb
elasticity-1.3.1 lib/elasticity/simple_job.rb
elasticity-1.3 lib/elasticity/simple_job.rb
elasticity-1.2.3 lib/elasticity/simple_job.rb
wakoopa-elasticity-1.2.3 lib/elasticity/simple_job.rb
elasticity-1.2.2 lib/elasticity/simple_job.rb