Module: Rubadoop::Oozie::WorkflowBuilder

Extended by:
ActiveSupport::Autoload
Defined in:
lib/rubadoop/oozie/workflow_builder.rb,
lib/rubadoop/oozie/workflow_builder/job_properties.rb

Defined Under Namespace

Classes: JobProperties

Class Method Summary collapse

Class Method Details

.load_job_properties(__params__ = {}, __spec_code__) ⇒ Object



32
33
34
35
36
# File 'lib/rubadoop/oozie/workflow_builder.rb', line 32

def load_job_properties(__params__ = {}, __spec_code__)
  new_job_properties(__params__) do |dsl|
    dsl.instance_eval __spec_code__
  end
end

.new_job_properties(params = {}, &block) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rubadoop/oozie/workflow_builder.rb', line 9

def new_job_properties(params = {}, &block)
  job_spec = JobProperties.new(params)

  if block_given?
    if block.arity == 1
      yield job_spec
    else
      job_spec.instance_eval &block
    end
  end

  unless params.has_key? :skip_aws_keys
    require 'aws-sdk'
    aws_config = AWS.config.credentials
    job_spec.prop 'fs.s3n.awsAccessKeyId', aws_config[:access_key_id]
    job_spec.prop 'fs.s3.awsAccessKeyId', aws_config[:access_key_id]
    job_spec.prop 'fs.s3n.awsSecretAccessKey', aws_config[:secret_access_key]
    job_spec.prop 'fs.s3.awsSecretAccessKey', aws_config[:secret_access_key]
  end

  job_spec
end