Class: AWSCDK::EMR::CfnStepProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
emr/cfn_step_props.rb

Overview

Properties for defining a CfnStep.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(action_on_failure:, hadoop_jar_step:, job_flow_id:, name:, encryption_key_arn: nil, log_uri: nil) ⇒ CfnStepProps

Returns a new instance of CfnStepProps.

Parameters:

  • action_on_failure (String)

    This specifies what action to take when the cluster step fails.

  • hadoop_jar_step (AWSCDK::IResolvable, AWSCDK::EMR::CfnStep::HadoopJarStepConfigProperty)

    The HadoopJarStepConfig property type specifies a job flow step consisting of a JAR file whose main function will be executed.

  • job_flow_id (String)

    A string that uniquely identifies the cluster (job flow).

  • name (String)

    The name of the cluster step.

  • encryption_key_arn (String, nil) (defaults to: nil)

    The KMS key ARN to encrypt the logs published to the given Amazon S3 destination.

  • log_uri (String, nil) (defaults to: nil)

    The Amazon S3 destination URI for log publishing.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'emr/cfn_step_props.rb', line 15

def initialize(action_on_failure:, hadoop_jar_step:, job_flow_id:, name:, encryption_key_arn: nil, log_uri: nil)
  @action_on_failure = action_on_failure
  Jsii::Type.check_type(@action_on_failure, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "actionOnFailure")
  @hadoop_jar_step = hadoop_jar_step.is_a?(Hash) ? ::AWSCDK::EMR::CfnStep::HadoopJarStepConfigProperty.new(**hadoop_jar_step.transform_keys(&:to_sym)) : hadoop_jar_step
  Jsii::Type.check_type(@hadoop_jar_step, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuU3RlcC5IYWRvb3BKYXJTdGVwQ29uZmlnUHJvcGVydHkifV19fQ==")), "hadoopJarStep")
  @job_flow_id = job_flow_id
  Jsii::Type.check_type(@job_flow_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "jobFlowId")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @encryption_key_arn = encryption_key_arn
  Jsii::Type.check_type(@encryption_key_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "encryptionKeyArn") unless @encryption_key_arn.nil?
  @log_uri = log_uri
  Jsii::Type.check_type(@log_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "logUri") unless @log_uri.nil?
end

Instance Attribute Details

#action_on_failureString (readonly)

This specifies what action to take when the cluster step fails.

Possible values are CANCEL_AND_WAIT and CONTINUE .



36
37
38
# File 'emr/cfn_step_props.rb', line 36

def action_on_failure
  @action_on_failure
end

#encryption_key_arnString? (readonly)

The KMS key ARN to encrypt the logs published to the given Amazon S3 destination.

When omitted, EMR falls back to cluster-level logging behavior.



60
61
62
# File 'emr/cfn_step_props.rb', line 60

def encryption_key_arn
  @encryption_key_arn
end

#hadoop_jar_stepAWSCDK::IResolvable, AWSCDK::EMR::CfnStep::HadoopJarStepConfigProperty (readonly)

The HadoopJarStepConfig property type specifies a job flow step consisting of a JAR file whose main function will be executed.

The main function submits a job for the cluster to execute as a step on the master node, and then waits for the job to finish or fail before executing subsequent steps.



43
44
45
# File 'emr/cfn_step_props.rb', line 43

def hadoop_jar_step
  @hadoop_jar_step
end

#job_flow_idString (readonly)

A string that uniquely identifies the cluster (job flow).



48
49
50
# File 'emr/cfn_step_props.rb', line 48

def job_flow_id
  @job_flow_id
end

#log_uriString? (readonly)

The Amazon S3 destination URI for log publishing.

When omitted, EMR falls back to cluster-level logging behavior.



67
68
69
# File 'emr/cfn_step_props.rb', line 67

def log_uri
  @log_uri
end

#nameString (readonly)

The name of the cluster step.



53
54
55
# File 'emr/cfn_step_props.rb', line 53

def name
  @name
end

Class Method Details

.jsii_propertiesObject



69
70
71
72
73
74
75
76
77
78
# File 'emr/cfn_step_props.rb', line 69

def self.jsii_properties
  {
    :action_on_failure => "actionOnFailure",
    :hadoop_jar_step => "hadoopJarStep",
    :job_flow_id => "jobFlowId",
    :name => "name",
    :encryption_key_arn => "encryptionKeyArn",
    :log_uri => "logUri",
  }
end

Instance Method Details

#to_jsiiObject



80
81
82
83
84
85
86
87
88
89
90
91
# File 'emr/cfn_step_props.rb', line 80

def to_jsii
  result = {}
  result.merge!({
    "actionOnFailure" => @action_on_failure,
    "hadoopJarStep" => @hadoop_jar_step,
    "jobFlowId" => @job_flow_id,
    "name" => @name,
    "encryptionKeyArn" => @encryption_key_arn,
    "logUri" => @log_uri,
  })
  result.compact
end