Class: AWSCDK::StepFunctionsTasks::EventBridgeSchedulerCreateScheduleTaskJsonPathProps

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

Overview

Properties for creating an AWS EventBridge Scheduler schedule 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, schedule:, schedule_name:, target:, action_after_completion: nil, client_token: nil, description: nil, enabled: nil, end_date: nil, flexible_time_window: nil, group_name: nil, kms_key: nil, start_date: nil, timezone: nil) ⇒ EventBridgeSchedulerCreateScheduleTaskJsonPathProps

Returns a new instance of EventBridgeSchedulerCreateScheduleTaskJsonPathProps.

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.

  • schedule (AWSCDK::StepFunctionsTasks::Schedule)

    The schedule that defines when the schedule will trigger.

  • schedule_name (String)

    Schedule name.

  • target (AWSCDK::StepFunctionsTasks::EventBridgeSchedulerTarget)

    The schedule's target.

  • action_after_completion (AWSCDK::StepFunctionsTasks::ActionAfterCompletion, nil) (defaults to: nil)

    Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.

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

    Unique, case-sensitive identifier to ensure the idempotency of the request.

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

    The description for the schedule.

  • enabled (Boolean, nil) (defaults to: nil)

    Specifies whether the schedule is enabled or disabled.

  • end_date (DateTime, nil) (defaults to: nil)

    The date, in UTC, before which the schedule can invoke its target.

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

    The maximum time window during which a schedule can be invoked.

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

    The name of the schedule group to associate with this schedule.

  • kms_key (AWSCDK::KMS::IKey, nil) (defaults to: nil)

    The customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt payload.

  • start_date (DateTime, nil) (defaults to: nil)

    The date, in UTC, after which the schedule can begin invoking its target.

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

    The timezone in which the scheduling expression is evaluated.



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
87
88
89
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 34

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, schedule:, schedule_name:, target:, action_after_completion: nil, client_token: nil, description: nil, enabled: nil, end_date: nil, flexible_time_window: nil, group_name: nil, kms_key: nil, start_date: nil, timezone: 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?
  @schedule = schedule
  Jsii::Type.check_type(@schedule, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5TY2hlZHVsZSJ9")), "schedule")
  @schedule_name = schedule_name
  Jsii::Type.check_type(@schedule_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scheduleName")
  @target = target
  Jsii::Type.check_type(@target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5FdmVudEJyaWRnZVNjaGVkdWxlclRhcmdldCJ9")), "target")
  @action_after_completion = action_after_completion
  Jsii::Type.check_type(@action_after_completion, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5BY3Rpb25BZnRlckNvbXBsZXRpb24ifQ==")), "actionAfterCompletion") unless @action_after_completion.nil?
  @client_token = client_token
  Jsii::Type.check_type(@client_token, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clientToken") unless @client_token.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enabled") unless @enabled.nil?
  @end_date = end_date
  Jsii::Type.check_type(@end_date, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJkYXRlIn0=")), "endDate") unless @end_date.nil?
  @flexible_time_window = flexible_time_window
  Jsii::Type.check_type(@flexible_time_window, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "flexibleTimeWindow") unless @flexible_time_window.nil?
  @group_name = group_name
  Jsii::Type.check_type(@group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "groupName") unless @group_name.nil?
  @kms_key = kms_key
  Jsii::Type.check_type(@kms_key, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa21zLklLZXkifQ==")), "kmsKey") unless @kms_key.nil?
  @start_date = start_date
  Jsii::Type.check_type(@start_date, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJkYXRlIn0=")), "startDate") unless @start_date.nil?
  @timezone = timezone
  Jsii::Type.check_type(@timezone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "timezone") unless @timezone.nil?
end

Instance Attribute Details

#action_after_completionAWSCDK::StepFunctionsTasks::ActionAfterCompletion? (readonly)

Note:

Default: ActionAfterCompletion.NONE

Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.



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

def action_after_completion
  @action_after_completion
end

#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:



162
163
164
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 162

def assign
  @assign
end

#client_tokenString? (readonly)

Note:

Default: - Automatically generated

Unique, case-sensitive identifier to ensure the idempotency of the request.

Returns:

  • (String, nil)


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

def client_token
  @client_token
end

#commentString? (readonly)

Note:

Default: No comment

A comment describing this state.

Returns:

  • (String, nil)


95
96
97
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 95

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.



116
117
118
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 116

def credentials
  @credentials
end

#descriptionString? (readonly)

Note:

Default: - No description

The description for the schedule.

Returns:

  • (String, nil)


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

def description
  @description
end

#enabledBoolean? (readonly)

Note:

Default: true

Specifies whether the schedule is enabled or disabled.

Returns:

  • (Boolean, nil)


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

def enabled
  @enabled
end

#end_dateDateTime? (readonly)

Note:

Default: - No end date

The date, in UTC, before which the schedule can invoke its target.

Depending on the schedule's recurrence expression, invocations might stop on, or before, the EndDate you specify. EventBridge Scheduler ignores EndDate for one-time schedules.

Returns:

  • (DateTime, nil)


236
237
238
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 236

def end_date
  @end_date
end

#flexible_time_windowAWSCDK::Duration? (readonly)

Note:

Default: - Flexible time window is not enabled.

The maximum time window during which a schedule can be invoked.

Minimum value is 1 minute. Maximum value is 1440 minutes (1 day).

Returns:



244
245
246
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 244

def flexible_time_window
  @flexible_time_window
end

#group_nameString? (readonly)

Note:

Default: - The default schedule group is used.

The name of the schedule group to associate with this schedule.

Returns:

  • (String, nil)


249
250
251
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 249

def group_name
  @group_name
end

#heartbeatAWSCDK::Duration? (readonly)

Deprecated.

use heartbeatTimeout

Note:

Default: - None

Timeout for the heartbeat.

Returns:



122
123
124
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 122

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



130
131
132
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 130

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)


170
171
172
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 170

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.



140
141
142
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 140

def integration_pattern
  @integration_pattern
end

#kms_keyAWSCDK::KMS::IKey? (readonly)

Note:

Default: - Use automatically generated KMS key

The customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt payload.



255
256
257
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 255

def kms_key
  @kms_key
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)


178
179
180
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 178

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.



103
104
105
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 103

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)


186
187
188
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 186

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.



195
196
197
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 195

def result_selector
  @result_selector
end

#scheduleAWSCDK::StepFunctionsTasks::Schedule (readonly)

The schedule that defines when the schedule will trigger.



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

def schedule
  @schedule
end

#schedule_nameString (readonly)

Schedule name.

Returns:

  • (String)


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

def schedule_name
  @schedule_name
end

#start_dateDateTime? (readonly)

Note:

Default: - No start date

The date, in UTC, after which the schedule can begin invoking its target.

Depending on the schedule's recurrence expression, invocations might occur on, or after, the StartDate you specify. EventBridge Scheduler ignores StartDate for one-time schedules.

Returns:

  • (DateTime, nil)


263
264
265
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 263

def start_date
  @start_date
end

#state_nameString? (readonly)

Note:

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

Optional name for this state.

Returns:

  • (String, nil)


108
109
110
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 108

def state_name
  @state_name
end

#targetAWSCDK::StepFunctionsTasks::EventBridgeSchedulerTarget (readonly)

The schedule's target.



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

def target
  @target
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



148
149
150
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 148

def task_timeout
  @task_timeout
end

#timeoutAWSCDK::Duration? (readonly)

Deprecated.

use taskTimeout

Note:

Default: - None

Timeout for the task.

Returns:



154
155
156
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 154

def timeout
  @timeout
end

#timezoneString? (readonly)

Note:

Default: - UTC

The timezone in which the scheduling expression is evaluated.

Returns:

  • (String, nil)


268
269
270
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 268

def timezone
  @timezone
end

Class Method Details

.jsii_propertiesObject



270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 270

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",
    :schedule => "schedule",
    :schedule_name => "scheduleName",
    :target => "target",
    :action_after_completion => "actionAfterCompletion",
    :client_token => "clientToken",
    :description => "description",
    :enabled => "enabled",
    :end_date => "endDate",
    :flexible_time_window => "flexibleTimeWindow",
    :group_name => "groupName",
    :kms_key => "kmsKey",
    :start_date => "startDate",
    :timezone => "timezone",
  }
end

Instance Method Details

#to_jsiiObject



302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
# File 'step_functions_tasks/event_bridge_scheduler_create_schedule_task_json_path_props.rb', line 302

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,
    "schedule" => @schedule,
    "scheduleName" => @schedule_name,
    "target" => @target,
    "actionAfterCompletion" => @action_after_completion,
    "clientToken" => @client_token,
    "description" => @description,
    "enabled" => @enabled,
    "endDate" => @end_date,
    "flexibleTimeWindow" => @flexible_time_window,
    "groupName" => @group_name,
    "kmsKey" => @kms_key,
    "startDate" => @start_date,
    "timezone" => @timezone,
  })
  result.compact
end