Class: AWSCDK::StepFunctionsTasks::SageMakerCreateTransformJobJsonPathProps

Inherits:
AWSCDK::StepFunctions::TaskStateJsonPathBaseProps
  • Object
show all
Defined in:
step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb

Overview

Properties for creating an Amazon SageMaker transform job task using JSONPath.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(comment: nil, query_language: nil, state_name: nil, credentials: nil, heartbeat: nil, heartbeat_timeout: nil, integration_pattern: nil, task_timeout: nil, timeout: nil, assign: nil, input_path: nil, output_path: nil, result_path: nil, result_selector: nil, model_name:, transform_input:, transform_job_name:, transform_output:, batch_strategy: nil, environment: nil, max_concurrent_transforms: nil, max_payload: nil, model_client_options: nil, role: nil, tags: nil, transform_resources: nil) ⇒ SageMakerCreateTransformJobJsonPathProps

Returns a new instance of SageMakerCreateTransformJobJsonPathProps.

Parameters:

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

    A comment describing this state.

  • query_language (AWSCDK::StepFunctions::QueryLanguage, nil) (defaults to: nil)

    The name of the query language used by the state.

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

    Optional name for this state.

  • credentials (AWSCDK::StepFunctions::Credentials, nil) (defaults to: nil)

    Credentials for an IAM Role that the State Machine assumes for executing the task.

  • heartbeat (AWSCDK::Duration, nil) (defaults to: nil)

    Timeout for the heartbeat.

  • heartbeat_timeout (AWSCDK::StepFunctions::Timeout, nil) (defaults to: nil)

    Timeout for the heartbeat.

  • integration_pattern (AWSCDK::StepFunctions::IntegrationPattern, nil) (defaults to: nil)

    AWS Step Functions integrates with services directly in the Amazon States Language.

  • task_timeout (AWSCDK::StepFunctions::Timeout, nil) (defaults to: nil)

    Timeout for the task.

  • timeout (AWSCDK::Duration, nil) (defaults to: nil)

    Timeout for the task.

  • assign (Hash{String => Object}, nil) (defaults to: nil)

    Workflow variables to store in this step.

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

    JSONPath expression to select part of the state to be the input to this state.

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

    JSONPath expression to select part of the state to be the output to this state.

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

    JSONPath expression to indicate where to inject the state's output.

  • result_selector (Hash{String => Object}, nil) (defaults to: nil)

    The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.

  • model_name (String)

    Name of the model that you want to use for the transform job.

  • transform_input (AWSCDK::StepFunctionsTasks::TransformInput)

    Dataset to be transformed and the Amazon S3 location where it is stored.

  • transform_job_name (String)

    Transform Job Name.

  • transform_output (AWSCDK::StepFunctionsTasks::TransformOutput)

    S3 location where you want Amazon SageMaker to save the results from the transform job.

  • batch_strategy (AWSCDK::StepFunctionsTasks::BatchStrategy, nil) (defaults to: nil)

    Number of records to include in a mini-batch for an HTTP inference request.

  • environment (Hash{String => String}, nil) (defaults to: nil)

    Environment variables to set in the Docker container.

  • max_concurrent_transforms (Numeric, nil) (defaults to: nil)

    Maximum number of parallel requests that can be sent to each instance in a transform job.

  • max_payload (AWSCDK::Size, nil) (defaults to: nil)

    Maximum allowed size of the payload, in MB.

  • model_client_options (AWSCDK::StepFunctionsTasks::ModelClientOptions, nil) (defaults to: nil)

    Configures the timeout and maximum number of retries for processing a transform job invocation.

  • role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    Role for the Transform Job.

  • tags (Hash{String => String}, nil) (defaults to: nil)

    Tags to be applied to the train job.

  • transform_resources (AWSCDK::StepFunctionsTasks::TransformResources, nil) (defaults to: nil)

    ML compute instances for the transform job.



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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 33

def initialize(comment: nil, query_language: nil, state_name: nil, credentials: nil, heartbeat: nil, heartbeat_timeout: nil, integration_pattern: nil, task_timeout: nil, timeout: nil, assign: nil, input_path: nil, output_path: nil, result_path: nil, result_selector: nil, model_name:, transform_input:, transform_job_name:, transform_output:, batch_strategy: nil, environment: nil, max_concurrent_transforms: nil, max_payload: nil, model_client_options: nil, role: nil, tags: nil, transform_resources: nil)
  @comment = comment
  Jsii::Type.check_type(@comment, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "comment") unless @comment.nil?
  @query_language = query_language
  Jsii::Type.check_type(@query_language, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5RdWVyeUxhbmd1YWdlIn0=")), "queryLanguage") unless @query_language.nil?
  @state_name = state_name
  Jsii::Type.check_type(@state_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "stateName") unless @state_name.nil?
  @credentials = credentials.is_a?(Hash) ? ::AWSCDK::StepFunctions::Credentials.new(**credentials.transform_keys(&:to_sym)) : credentials
  Jsii::Type.check_type(@credentials, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5DcmVkZW50aWFscyJ9")), "credentials") unless @credentials.nil?
  @heartbeat = heartbeat
  Jsii::Type.check_type(@heartbeat, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "heartbeat") unless @heartbeat.nil?
  @heartbeat_timeout = heartbeat_timeout
  Jsii::Type.check_type(@heartbeat_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5UaW1lb3V0In0=")), "heartbeatTimeout") unless @heartbeat_timeout.nil?
  @integration_pattern = integration_pattern
  Jsii::Type.check_type(@integration_pattern, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5JbnRlZ3JhdGlvblBhdHRlcm4ifQ==")), "integrationPattern") unless @integration_pattern.nil?
  @task_timeout = task_timeout
  Jsii::Type.check_type(@task_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5UaW1lb3V0In0=")), "taskTimeout") unless @task_timeout.nil?
  @timeout = timeout
  Jsii::Type.check_type(@timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "timeout") unless @timeout.nil?
  @assign = assign
  Jsii::Type.check_type(@assign, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "assign") unless @assign.nil?
  @input_path = input_path
  Jsii::Type.check_type(@input_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "inputPath") unless @input_path.nil?
  @output_path = output_path
  Jsii::Type.check_type(@output_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "outputPath") unless @output_path.nil?
  @result_path = result_path
  Jsii::Type.check_type(@result_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resultPath") unless @result_path.nil?
  @result_selector = result_selector
  Jsii::Type.check_type(@result_selector, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "resultSelector") unless @result_selector.nil?
  @model_name = model_name
  Jsii::Type.check_type(@model_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "modelName")
  @transform_input = transform_input.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::TransformInput.new(**transform_input.transform_keys(&:to_sym)) : transform_input
  Jsii::Type.check_type(@transform_input, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5UcmFuc2Zvcm1JbnB1dCJ9")), "transformInput")
  @transform_job_name = transform_job_name
  Jsii::Type.check_type(@transform_job_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "transformJobName")
  @transform_output = transform_output.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::TransformOutput.new(**transform_output.transform_keys(&:to_sym)) : transform_output
  Jsii::Type.check_type(@transform_output, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5UcmFuc2Zvcm1PdXRwdXQifQ==")), "transformOutput")
  @batch_strategy = batch_strategy
  Jsii::Type.check_type(@batch_strategy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5CYXRjaFN0cmF0ZWd5In0=")), "batchStrategy") unless @batch_strategy.nil?
  @environment = environment
  Jsii::Type.check_type(@environment, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "environment") unless @environment.nil?
  @max_concurrent_transforms = max_concurrent_transforms
  Jsii::Type.check_type(@max_concurrent_transforms, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxConcurrentTransforms") unless @max_concurrent_transforms.nil?
  @max_payload = max_payload
  Jsii::Type.check_type(@max_payload, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5TaXplIn0=")), "maxPayload") unless @max_payload.nil?
  @model_client_options = model_client_options.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::ModelClientOptions.new(**model_client_options.transform_keys(&:to_sym)) : model_client_options
  Jsii::Type.check_type(@model_client_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5Nb2RlbENsaWVudE9wdGlvbnMifQ==")), "modelClientOptions") unless @model_client_options.nil?
  @role = role
  Jsii::Type.check_type(@role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "role") unless @role.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil?
  @transform_resources = transform_resources.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::TransformResources.new(**transform_resources.transform_keys(&:to_sym)) : transform_resources
  Jsii::Type.check_type(@transform_resources, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5UcmFuc2Zvcm1SZXNvdXJjZXMifQ==")), "transformResources") unless @transform_resources.nil?
end

Instance Attribute Details

#assignHash{String => Object}? (readonly)

Note:

Default: - Not assign variables

Workflow variables to store in this step.

Using workflow variables, you can store data in a step and retrieve that data in future steps.

Returns:

  • (Hash{String => Object}, nil)

See Also:



159
160
161
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 159

def assign
  @assign
end

#batch_strategyAWSCDK::StepFunctionsTasks::BatchStrategy? (readonly)

Note:

Default: - No batch strategy

Number of records to include in a mini-batch for an HTTP inference request.



213
214
215
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 213

def batch_strategy
  @batch_strategy
end

#commentString? (readonly)

Note:

Default: No comment

A comment describing this state.

Returns:

  • (String, nil)


92
93
94
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 92

def comment
  @comment
end

#credentialsAWSCDK::StepFunctions::Credentials? (readonly)

Note:

Default: - None (Task is executed using the State Machine's execution role)

Credentials for an IAM Role that the State Machine assumes for executing the task.

This enables cross-account resource invocations.



113
114
115
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 113

def credentials
  @credentials
end

#environmentHash{String => String}? (readonly)

Note:

Default: - No environment variables

Environment variables to set in the Docker container.

Returns:

  • (Hash{String => String}, nil)


218
219
220
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 218

def environment
  @environment
end

#heartbeatAWSCDK::Duration? (readonly)

Deprecated.

use heartbeatTimeout

Note:

Default: - None

Timeout for the heartbeat.

Returns:



119
120
121
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 119

def heartbeat
  @heartbeat
end

#heartbeat_timeoutAWSCDK::StepFunctions::Timeout? (readonly)

Note:

Default: - None

Timeout for the heartbeat.

[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface



127
128
129
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 127

def heartbeat_timeout
  @heartbeat_timeout
end

#input_pathString? (readonly)

Note:

Default: $

JSONPath expression to select part of the state to be the input to this state.

May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}.

Returns:

  • (String, nil)


167
168
169
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 167

def input_path
  @input_path
end

#integration_patternAWSCDK::StepFunctions::IntegrationPattern? (readonly)

Note:

Default: - IntegrationPattern.REQUEST_RESPONSE for most tasks. IntegrationPattern.RUN_JOB for the following exceptions: BatchSubmitJob, EmrAddStep, EmrCreateCluster, EmrTerminationCluster, and EmrContainersStartJobRun.

AWS Step Functions integrates with services directly in the Amazon States Language.

You can control these AWS services using service integration patterns.

Depending on the AWS Service, the Service Integration Pattern availability will vary.



137
138
139
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 137

def integration_pattern
  @integration_pattern
end

#max_concurrent_transformsNumeric? (readonly)

Note:

Default: - Amazon SageMaker checks the optional execution-parameters to determine the settings for your chosen algorithm. If the execution-parameters endpoint is not enabled, the default value is 1.

Maximum number of parallel requests that can be sent to each instance in a transform job.

Returns:

  • (Numeric, nil)


223
224
225
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 223

def max_concurrent_transforms
  @max_concurrent_transforms
end

#max_payloadAWSCDK::Size? (readonly)

Note:

Default: 6

Maximum allowed size of the payload, in MB.

Returns:



228
229
230
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 228

def max_payload
  @max_payload
end

#model_client_optionsAWSCDK::StepFunctionsTasks::ModelClientOptions? (readonly)

Note:

Default: - 0 retries and 60 seconds of timeout

Configures the timeout and maximum number of retries for processing a transform job invocation.



233
234
235
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 233

def model_client_options
  @model_client_options
end

#model_nameString (readonly)

Name of the model that you want to use for the transform job.

Returns:

  • (String)


196
197
198
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 196

def model_name
  @model_name
end

#output_pathString? (readonly)

Note:

Default: $

JSONPath expression to select part of the state to be the output to this state.

May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.

Returns:

  • (String, nil)


175
176
177
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 175

def output_path
  @output_path
end

#query_languageAWSCDK::StepFunctions::QueryLanguage? (readonly)

Note:

Default: - JSONPath

The name of the query language used by the state.

If the state does not contain a query_language field, then it will use the query language specified in the top-level query_language field.



100
101
102
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 100

def query_language
  @query_language
end

#result_pathString? (readonly)

Note:

Default: $

JSONPath expression to indicate where to inject the state's output.

May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output.

Returns:

  • (String, nil)


183
184
185
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 183

def result_path
  @result_path
end

#result_selectorHash{String => Object}? (readonly)

Note:

Default: - None

The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.

You can use ResultSelector to create a payload with values that are static or selected from the state's raw result.



192
193
194
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 192

def result_selector
  @result_selector
end

#roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - A role is created with AmazonSageMakerFullAccess managed policy

Role for the Transform Job.

Returns:



238
239
240
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 238

def role
  @role
end

#state_nameString? (readonly)

Note:

Default: - The construct ID will be used as state name

Optional name for this state.

Returns:

  • (String, nil)


105
106
107
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 105

def state_name
  @state_name
end

#tagsHash{String => String}? (readonly)

Note:

Default: - No tags

Tags to be applied to the train job.

Returns:

  • (Hash{String => String}, nil)


243
244
245
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 243

def tags
  @tags
end

#task_timeoutAWSCDK::StepFunctions::Timeout? (readonly)

Note:

Default: - None

Timeout for the task.

[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface



145
146
147
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 145

def task_timeout
  @task_timeout
end

#timeoutAWSCDK::Duration? (readonly)

Deprecated.

use taskTimeout

Note:

Default: - None

Timeout for the task.

Returns:



151
152
153
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 151

def timeout
  @timeout
end

#transform_inputAWSCDK::StepFunctionsTasks::TransformInput (readonly)

Dataset to be transformed and the Amazon S3 location where it is stored.



200
201
202
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 200

def transform_input
  @transform_input
end

#transform_job_nameString (readonly)

Transform Job Name.

Returns:

  • (String)


204
205
206
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 204

def transform_job_name
  @transform_job_name
end

#transform_outputAWSCDK::StepFunctionsTasks::TransformOutput (readonly)

S3 location where you want Amazon SageMaker to save the results from the transform job.



208
209
210
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 208

def transform_output
  @transform_output
end

#transform_resourcesAWSCDK::StepFunctionsTasks::TransformResources? (readonly)

Note:

Default: - 1 instance of type M4.XLarge

ML compute instances for the transform job.



248
249
250
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 248

def transform_resources
  @transform_resources
end

Class Method Details

.jsii_propertiesObject



250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 250

def self.jsii_properties
  {
    :comment => "comment",
    :query_language => "queryLanguage",
    :state_name => "stateName",
    :credentials => "credentials",
    :heartbeat => "heartbeat",
    :heartbeat_timeout => "heartbeatTimeout",
    :integration_pattern => "integrationPattern",
    :task_timeout => "taskTimeout",
    :timeout => "timeout",
    :assign => "assign",
    :input_path => "inputPath",
    :output_path => "outputPath",
    :result_path => "resultPath",
    :result_selector => "resultSelector",
    :model_name => "modelName",
    :transform_input => "transformInput",
    :transform_job_name => "transformJobName",
    :transform_output => "transformOutput",
    :batch_strategy => "batchStrategy",
    :environment => "environment",
    :max_concurrent_transforms => "maxConcurrentTransforms",
    :max_payload => "maxPayload",
    :model_client_options => "modelClientOptions",
    :role => "role",
    :tags => "tags",
    :transform_resources => "transformResources",
  }
end

Instance Method Details

#to_jsiiObject



281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
# File 'step_functions_tasks/sage_maker_create_transform_job_json_path_props.rb', line 281

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "comment" => @comment,
    "queryLanguage" => @query_language,
    "stateName" => @state_name,
    "credentials" => @credentials,
    "heartbeat" => @heartbeat,
    "heartbeatTimeout" => @heartbeat_timeout,
    "integrationPattern" => @integration_pattern,
    "taskTimeout" => @task_timeout,
    "timeout" => @timeout,
    "assign" => @assign,
    "inputPath" => @input_path,
    "outputPath" => @output_path,
    "resultPath" => @result_path,
    "resultSelector" => @result_selector,
    "modelName" => @model_name,
    "transformInput" => @transform_input,
    "transformJobName" => @transform_job_name,
    "transformOutput" => @transform_output,
    "batchStrategy" => @batch_strategy,
    "environment" => @environment,
    "maxConcurrentTransforms" => @max_concurrent_transforms,
    "maxPayload" => @max_payload,
    "modelClientOptions" => @model_client_options,
    "role" => @role,
    "tags" => @tags,
    "transformResources" => @transform_resources,
  })
  result.compact
end