Class AWS::EMR::JobFlow
In: lib/aws/emr/job_flow.rb
Parent: Core::Resource

@attr_reader [String] name

  The name of the job flow.

@attr_reader [String] ami_version

  The version of the AMI used to initialize Amazon EC2 instances in
  the job flow.

@attr_reader [String,nil] log_uri

  The location in Amazon S3 where log files for the job are stored.

@attr_reader [Array<String>] supported_products

  A list of strings set by third party software when the job flow is
  launched. If you are not using third party software to manage the
  job flow this value is empty.

@attr_reader [Array<Hash>] bootstrap_actions

@attr_reader [String] state

@attr_reader [Time] created_at

@attr_reader [Time] started_at

@attr_reader [Time] ready_at

@attr_reader [Time] ended_at

@attr_reader [String] last_state_change_reason

@attr_reader [String] master_instance_type

@attr_reader [String] master_public_dns_name

@attr_reader [String] master_instance_id

@attr_reader [String] slave_instance_id

@attr_reader [Integer] instance_count

@attr_reader [Integer] normalized_instance_hours

@attr_reader [String] ec2_key_name

@attr_reader [String] ec2_subnet_id

@attr_reader [String] availability_zone_name

@attr_reader [Boolean] keep_job_flow_alive_when_no_steps

@attr_reader [Boolean] termination_protected

@attr_reader [String] hadoop_version

@attr_reader [Array<Hash>] instance_group_details

@attr_reader [Array<Hash>] step_details

Methods

External Aliases

job_flow_id -> id

Attributes

job_flow_id  [R]  @return [String]

Public Class methods

@param [String] job_flow_id @param [Hash] options @api private

Public Instance methods

Adds one (or more) steps to the current job flow.

    emr.job_flows['job-flow-id'].add_steps([{
      :name => 'step-name',
      :action_on_failure => 'TERMINATE_JOB_FLOW',
      :hadoop_jar_step => {
        :jar => 'path/to/a/jar/file',
        :main_class => 'MainClassName',
        :args => %w(arg1 arg2 arg3)],
        :properties => [
          { :key => 'property-1-name', :value => 'property-1-value' }
          { :key => 'property-2-name', :value => 'property-2-value' }
        ],
      }
    }])
    emr.job_flows['job-flow-id'].add_steps([{

@param [Array<Hash>] steps A list of one or more steps to add.

  Each step should be a hash with the following structure:
  * `:name` - *required* - (String) The name of the job flow step.
  * `:action_on_failure` - (String) Specifies the action to take if the
    job flow step fails.
  * `:hadoop_jar_step` - *required* - (Hash) Specifies the JAR file
    used for the job flow step.
    * `:properties` - (Array<Hash>) A list of Java properties that are
      set when the step runs. You can use these properties to pass key
      value pairs to your main function.
      * `:key` - (String) The unique identifier of a key value pair.
      * `:value` - (String) The value part of the identified key.
    * `:jar` - *required* - (String) A path to a JAR file run during
      the step.
    * `:main_class` - (String) The name of the main class in the
      specified Java file. If not specified, the JAR file should
      specify a Main-Class in its manifest file.
    * `:args` - (Array<String>) A list of command line arguments passed
      to the JAR file's main function when executed.

@return [nil]

delete()

Alias for terminate

Removes a lock on this job flow so the Amazon EC2 instances in the cluster may be terminated. @return [nil]

Locks this job flow so the Amazon EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. @return [nil]

@return [Boolean] Returns `true` if the job flow exists.

@param [Boolean] state @return [nil]

@param [Boolean] state @return [nil]

Terminates the current job flow. @return [nil]

Protected Instance methods

[Validate]