Class: AWSCDK::DataBrew::CfnJobProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
data_brew/cfn_job_props.rb

Overview

Properties for defining a CfnJob.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, role_arn:, type:, database_outputs: nil, data_catalog_outputs: nil, dataset_name: nil, encryption_key_arn: nil, encryption_mode: nil, job_sample: nil, log_subscription: nil, max_capacity: nil, max_retries: nil, output_location: nil, outputs: nil, profile_configuration: nil, project_name: nil, recipe: nil, tags: nil, timeout: nil, validation_configurations: nil) ⇒ CfnJobProps

Returns a new instance of CfnJobProps.

Parameters:



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'data_brew/cfn_job_props.rb', line 29

def initialize(name:, role_arn:, type:, database_outputs: nil, data_catalog_outputs: nil, dataset_name: nil, encryption_key_arn: nil, encryption_mode: nil, job_sample: nil, log_subscription: nil, max_capacity: nil, max_retries: nil, output_location: nil, outputs: nil, profile_configuration: nil, project_name: nil, recipe: nil, tags: nil, timeout: nil, validation_configurations: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn")
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @database_outputs = database_outputs
  Jsii::Type.check_type(@database_outputs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGF0YWJyZXcuQ2ZuSm9iLkRhdGFiYXNlT3V0cHV0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "databaseOutputs") unless @database_outputs.nil?
  @data_catalog_outputs = data_catalog_outputs
  Jsii::Type.check_type(@data_catalog_outputs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGF0YWJyZXcuQ2ZuSm9iLkRhdGFDYXRhbG9nT3V0cHV0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "dataCatalogOutputs") unless @data_catalog_outputs.nil?
  @dataset_name = dataset_name
  Jsii::Type.check_type(@dataset_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "datasetName") unless @dataset_name.nil?
  @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?
  @encryption_mode = encryption_mode
  Jsii::Type.check_type(@encryption_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "encryptionMode") unless @encryption_mode.nil?
  @job_sample = job_sample.is_a?(Hash) ? ::AWSCDK::DataBrew::CfnJob::JobSampleProperty.new(**job_sample.transform_keys(&:to_sym)) : job_sample
  Jsii::Type.check_type(@job_sample, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhYnJldy5DZm5Kb2IuSm9iU2FtcGxlUHJvcGVydHkifV19fQ==")), "jobSample") unless @job_sample.nil?
  @log_subscription = log_subscription
  Jsii::Type.check_type(@log_subscription, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "logSubscription") unless @log_subscription.nil?
  @max_capacity = max_capacity
  Jsii::Type.check_type(@max_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxCapacity") unless @max_capacity.nil?
  @max_retries = max_retries
  Jsii::Type.check_type(@max_retries, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxRetries") unless @max_retries.nil?
  @output_location = output_location.is_a?(Hash) ? ::AWSCDK::DataBrew::CfnJob::OutputLocationProperty.new(**output_location.transform_keys(&:to_sym)) : output_location
  Jsii::Type.check_type(@output_location, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhYnJldy5DZm5Kb2IuT3V0cHV0TG9jYXRpb25Qcm9wZXJ0eSJ9XX19")), "outputLocation") unless @output_location.nil?
  @outputs = outputs
  Jsii::Type.check_type(@outputs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGF0YWJyZXcuQ2ZuSm9iLk91dHB1dFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "outputs") unless @outputs.nil?
  @profile_configuration = profile_configuration.is_a?(Hash) ? ::AWSCDK::DataBrew::CfnJob::ProfileConfigurationProperty.new(**profile_configuration.transform_keys(&:to_sym)) : profile_configuration
  Jsii::Type.check_type(@profile_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhYnJldy5DZm5Kb2IuUHJvZmlsZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "profileConfiguration") unless @profile_configuration.nil?
  @project_name = project_name
  Jsii::Type.check_type(@project_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "projectName") unless @project_name.nil?
  @recipe = recipe.is_a?(Hash) ? ::AWSCDK::DataBrew::CfnJob::RecipeProperty.new(**recipe.transform_keys(&:to_sym)) : recipe
  Jsii::Type.check_type(@recipe, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhYnJldy5DZm5Kb2IuUmVjaXBlUHJvcGVydHkifV19fQ==")), "recipe") unless @recipe.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @timeout = timeout
  Jsii::Type.check_type(@timeout, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "timeout") unless @timeout.nil?
  @validation_configurations = validation_configurations
  Jsii::Type.check_type(@validation_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGF0YWJyZXcuQ2ZuSm9iLlZhbGlkYXRpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "validationConfigurations") unless @validation_configurations.nil?
end

Instance Attribute Details

#data_catalog_outputsAWSCDK::IResolvable, ... (readonly)

One or more artifacts that represent the AWS Glue Data Catalog output from running the job.



99
100
101
# File 'data_brew/cfn_job_props.rb', line 99

def data_catalog_outputs
  @data_catalog_outputs
end

#database_outputsAWSCDK::IResolvable, ... (readonly)

Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.



94
95
96
# File 'data_brew/cfn_job_props.rb', line 94

def database_outputs
  @database_outputs
end

#dataset_nameString? (readonly)

A dataset that the job is to process.



104
105
106
# File 'data_brew/cfn_job_props.rb', line 104

def dataset_name
  @dataset_name
end

#encryption_key_arnString? (readonly)

The Amazon Resource Name (ARN) of an encryption key that is used to protect the job output.

For more information, see Encrypting data written by DataBrew jobs



111
112
113
# File 'data_brew/cfn_job_props.rb', line 111

def encryption_key_arn
  @encryption_key_arn
end

#encryption_modeString? (readonly)

The encryption mode for the job, which can be one of the following:.

  • SSE-KMS - Server-side encryption with keys managed by AWS .
  • SSE-S3 - Server-side encryption with keys managed by Amazon S3.


119
120
121
# File 'data_brew/cfn_job_props.rb', line 119

def encryption_mode
  @encryption_mode
end

#job_sampleAWSCDK::IResolvable, ... (readonly)

A sample configuration for profile jobs only, which determines the number of rows on which the profile job is run.

If a JobSample value isn't provided, the default value is used. The default value is CUSTOM_ROWS for the mode parameter and 20,000 for the size parameter.



126
127
128
# File 'data_brew/cfn_job_props.rb', line 126

def job_sample
  @job_sample
end

#log_subscriptionString? (readonly)

The current status of Amazon CloudWatch logging for the job.



131
132
133
# File 'data_brew/cfn_job_props.rb', line 131

def log_subscription
  @log_subscription
end

#max_capacityNumeric? (readonly)

The maximum number of nodes that can be consumed when the job processes data.



136
137
138
# File 'data_brew/cfn_job_props.rb', line 136

def max_capacity
  @max_capacity
end

#max_retriesNumeric? (readonly)

The maximum number of times to retry the job after a job run fails.



141
142
143
# File 'data_brew/cfn_job_props.rb', line 141

def max_retries
  @max_retries
end

#nameString (readonly)

The unique name of the job.



76
77
78
# File 'data_brew/cfn_job_props.rb', line 76

def name
  @name
end

#output_locationAWSCDK::IResolvable, ... (readonly)

The location in Amazon S3 where the job writes its output.



146
147
148
# File 'data_brew/cfn_job_props.rb', line 146

def output_location
  @output_location
end

#outputsAWSCDK::IResolvable, ... (readonly)

One or more artifacts that represent output from running the job.



151
152
153
# File 'data_brew/cfn_job_props.rb', line 151

def outputs
  @outputs
end

#profile_configurationAWSCDK::IResolvable, ... (readonly)

Configuration for profile jobs.

Configuration can be used to select columns, do evaluations, and override default parameters of evaluations. When configuration is undefined, the profile job will apply default settings to all supported columns.



158
159
160
# File 'data_brew/cfn_job_props.rb', line 158

def profile_configuration
  @profile_configuration
end

#project_nameString? (readonly)

The name of the project that the job is associated with.



163
164
165
# File 'data_brew/cfn_job_props.rb', line 163

def project_name
  @project_name
end

#recipeAWSCDK::IResolvable, ... (readonly)

A series of data transformation steps that the job runs.



168
169
170
# File 'data_brew/cfn_job_props.rb', line 168

def recipe
  @recipe
end

#role_arnString (readonly)

The Amazon Resource Name (ARN) of the role to be assumed for this job.



81
82
83
# File 'data_brew/cfn_job_props.rb', line 81

def role_arn
  @role_arn
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Metadata tags that have been applied to the job.



173
174
175
# File 'data_brew/cfn_job_props.rb', line 173

def tags
  @tags
end

#timeoutNumeric? (readonly)

The job's timeout in minutes.

A job that attempts to run longer than this timeout period ends with a status of TIMEOUT .



180
181
182
# File 'data_brew/cfn_job_props.rb', line 180

def timeout
  @timeout
end

#typeString (readonly)

The job type of the job, which must be one of the following:.

  • PROFILE - A job to analyze a dataset, to determine its size, data types, data distribution, and more.
  • RECIPE - A job to apply one or more transformations to a dataset.


89
90
91
# File 'data_brew/cfn_job_props.rb', line 89

def type
  @type
end

#validation_configurationsAWSCDK::IResolvable, ... (readonly)

List of validation configurations that are applied to the profile job.



185
186
187
# File 'data_brew/cfn_job_props.rb', line 185

def validation_configurations
  @validation_configurations
end

Class Method Details

.jsii_propertiesObject



187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# File 'data_brew/cfn_job_props.rb', line 187

def self.jsii_properties
  {
    :name => "name",
    :role_arn => "roleArn",
    :type => "type",
    :database_outputs => "databaseOutputs",
    :data_catalog_outputs => "dataCatalogOutputs",
    :dataset_name => "datasetName",
    :encryption_key_arn => "encryptionKeyArn",
    :encryption_mode => "encryptionMode",
    :job_sample => "jobSample",
    :log_subscription => "logSubscription",
    :max_capacity => "maxCapacity",
    :max_retries => "maxRetries",
    :output_location => "outputLocation",
    :outputs => "outputs",
    :profile_configuration => "profileConfiguration",
    :project_name => "projectName",
    :recipe => "recipe",
    :tags => "tags",
    :timeout => "timeout",
    :validation_configurations => "validationConfigurations",
  }
end

Instance Method Details

#to_jsiiObject



212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
# File 'data_brew/cfn_job_props.rb', line 212

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "roleArn" => @role_arn,
    "type" => @type,
    "databaseOutputs" => @database_outputs,
    "dataCatalogOutputs" => @data_catalog_outputs,
    "datasetName" => @dataset_name,
    "encryptionKeyArn" => @encryption_key_arn,
    "encryptionMode" => @encryption_mode,
    "jobSample" => @job_sample,
    "logSubscription" => @log_subscription,
    "maxCapacity" => @max_capacity,
    "maxRetries" => @max_retries,
    "outputLocation" => @output_location,
    "outputs" => @outputs,
    "profileConfiguration" => @profile_configuration,
    "projectName" => @project_name,
    "recipe" => @recipe,
    "tags" => @tags,
    "timeout" => @timeout,
    "validationConfigurations" => @validation_configurations,
  })
  result.compact
end