class AWS::EMR::JobFlow


@attr_reader [Array<Hash>] step_details
@attr_reader [Array<Hash>] instance_group_details
@attr_reader [String] hadoop_version
@attr_reader [Boolean] termination_protected
@attr_reader [Boolean] keep_job_flow_alive_when_no_steps
@attr_reader [String] availability_zone_name
@attr_reader [String] ec2_subnet_id
@attr_reader [String] ec2_key_name
@attr_reader [Integer] normalized_instance_hours
@attr_reader [Integer] instance_count
@attr_reader [String] slave_instance_id
@attr_reader [String] master_instance_id
@attr_reader [String] master_public_dns_name
@attr_reader [String] master_instance_type
@attr_reader [String] last_state_change_reason
@attr_reader [Time] ended_at
@attr_reader [Time] ready_at
@attr_reader [Time] started_at
@attr_reader [Time] created_at
@attr_reader [String] state
@attr_reader [Array<Hash>] bootstrap_actions
job flow this value is empty.
launched. If you are not using third party software to manage the
A list of strings set by third party software when the job flow is
@attr_reader [Array<String>] supported_products
The location in Amazon S3 where log files for the job are stored.
@attr_reader [String,nil] log_uri
the job flow.
The version of the AMI used to initialize Amazon EC2 instances in
@attr_reader [String] ami_version
The name of the job flow.
@attr_reader [String] name

def add_steps *steps

Returns:
  • (nil) -

Parameters:
  • steps (Array) -- A list of one or more steps to add.
def add_steps *steps
  options = {}
  options[:job_flow_id] = job_flow_id
  options[:steps] = steps.flatten
  client.add_job_flow_steps(options)
  nil
end

def availability_zone

Returns:
  • (EC2::AvailabilityZone, nil) -
def availability_zone
  if name = availability_zone_name
    AWS::EC2.new(:config => config).availability_zones[name]
  end
end

def disable_termination_protection

Returns:
  • (nil) -
def disable_termination_protection
  set_termination_protection(false)
end

def enable_termination_protection

Returns:
  • (nil) -
def enable_termination_protection
  set_termination_protection(true)
end

def exists?

Returns:
  • (Boolean) - Returns `true` if the job flow exists.
def exists?
  !get_resource.data[:job_flows].empty?
end

def get_resource attr = nil

def get_resource attr = nil
  client.describe_job_flows(:job_flow_ids => [job_flow_id])
end

def initialize job_flow_id, options = {}

Other tags:
    Api: - private

Parameters:
  • options (Hash) --
  • job_flow_id (String) --
def initialize job_flow_id, options = {}
  @job_flow_id = job_flow_id
  super
end

def instance_groups

Returns:
  • (InstanceGroupCollection) -
def instance_groups
  InstanceGroupCollection.new(self)
end

def master_instance

Returns:
  • (EC2::Instance, nil) -
def master_instance
  if instance_id = master_instance_id
    AWS::EC2.new(:config => config).instances[instance_id]
  end
end

def resource_identifiers

def resource_identifiers
  [[:job_flow_id, job_flow_id]]
end

def set_termination_protection state

Returns:
  • (nil) -

Parameters:
  • state (Boolean) --
def set_termination_protection state
  options = {}
  options[:termination_protected] = state
  options[:job_flow_ids] = [job_flow_id]
  client.set_termination_protection(options)
  nil
end

def set_visible_to_all_users state

Returns:
  • (nil) -

Parameters:
  • state (Boolean) --
def set_visible_to_all_users state
  options = {}
  options[:visible_to_all_users] = state
  options[:job_flow_ids] = [job_flow_id]
  client.set_visible_to_all_users(options)
  nil
end

def slave_instance

Returns:
  • (EC2::Instance, nil) -
def slave_instance
  if instance_id = slave_instance_id
    AWS::EC2.new(:config => config).instances[instance_id]
  end
end

def terminate

Returns:
  • (nil) -
def terminate
  client.terminate_job_flows(:job_flow_ids => [job_flow_id])
  nil
end