Class: AWSCDK::StepFunctions::DistributedMapJsonPathProps

Inherits:
StateBaseProps
  • Object
show all
Defined in:
step_functions/distributed_map_json_path_props.rb

Overview

Properties for configuring a Distribute Map state that 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, assign: nil, item_selector: nil, jsonata_item_selector: nil, jsonata_max_concurrency: nil, max_concurrency: nil, input_path: nil, output_path: nil, items_path: nil, max_concurrency_path: nil, result_path: nil, result_selector: nil, item_batcher: nil, item_reader: nil, label: nil, map_execution_type: nil, result_writer: nil, result_writer_v2: nil, tolerated_failure_count: nil, tolerated_failure_count_path: nil, tolerated_failure_percentage: nil, tolerated_failure_percentage_path: nil) ⇒ DistributedMapJsonPathProps

Returns a new instance of DistributedMapJsonPathProps.

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.

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

    Workflow variables to store in this step.

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

    The JSON that you want to override your default iteration input (mutually exclusive with parameters and jsonataItemSelector).

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

    Jsonata expression that evaluates to a JSON array to override your default iteration input (mutually exclusive with parameters and itemSelector).

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

    JSONata expression for MaxConcurrency.

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

    MaxConcurrency.

  • 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.

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

    JSONPath expression to select the array to iterate over.

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

    MaxConcurrencyPath.

  • 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.

  • item_batcher (AWSCDK::StepFunctions::ItemBatcher, nil) (defaults to: nil)

    Specifies to process a group of items in a single child workflow execution.

  • item_reader (AWSCDK::StepFunctions::IItemReader, nil) (defaults to: nil)

    ItemReader.

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

    Label.

  • map_execution_type (AWSCDK::StepFunctions::StateMachineType, nil) (defaults to: nil)

    MapExecutionType.

  • result_writer (AWSCDK::StepFunctions::ResultWriter, nil) (defaults to: nil)

    Configuration for S3 location in which to save Map Run results.

  • result_writer_v2 (AWSCDK::StepFunctions::ResultWriterV2, nil) (defaults to: nil)

    Configuration for S3 location in which to save Map Run results Enable "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2" feature in the context to use resultWriterV2 Example: stack.node.setContext("@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2", true);

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

    ToleratedFailureCount.

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

    ToleratedFailureCountPath.

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

    ToleratedFailurePercentage.

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

    ToleratedFailurePercentagePath.



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
71
72
73
74
75
76
77
78
79
80
81
# File 'step_functions/distributed_map_json_path_props.rb', line 32

def initialize(comment: nil, query_language: nil, state_name: nil, assign: nil, item_selector: nil, jsonata_item_selector: nil, jsonata_max_concurrency: nil, max_concurrency: nil, input_path: nil, output_path: nil, items_path: nil, max_concurrency_path: nil, result_path: nil, result_selector: nil, item_batcher: nil, item_reader: nil, label: nil, map_execution_type: nil, result_writer: nil, result_writer_v2: nil, tolerated_failure_count: nil, tolerated_failure_count_path: nil, tolerated_failure_percentage: nil, tolerated_failure_percentage_path: 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?
  @assign = assign
  Jsii::Type.check_type(@assign, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "assign") unless @assign.nil?
  @item_selector = item_selector
  Jsii::Type.check_type(@item_selector, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "itemSelector") unless @item_selector.nil?
  @jsonata_item_selector = jsonata_item_selector
  Jsii::Type.check_type(@jsonata_item_selector, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "jsonataItemSelector") unless @jsonata_item_selector.nil?
  @jsonata_max_concurrency = jsonata_max_concurrency
  Jsii::Type.check_type(@jsonata_max_concurrency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "jsonataMaxConcurrency") unless @jsonata_max_concurrency.nil?
  @max_concurrency = max_concurrency
  Jsii::Type.check_type(@max_concurrency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxConcurrency") unless @max_concurrency.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?
  @items_path = items_path
  Jsii::Type.check_type(@items_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "itemsPath") unless @items_path.nil?
  @max_concurrency_path = max_concurrency_path
  Jsii::Type.check_type(@max_concurrency_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "maxConcurrencyPath") unless @max_concurrency_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?
  @item_batcher = item_batcher
  Jsii::Type.check_type(@item_batcher, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5JdGVtQmF0Y2hlciJ9")), "itemBatcher") unless @item_batcher.nil?
  @item_reader = item_reader
  Jsii::Type.check_type(@item_reader, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5JSXRlbVJlYWRlciJ9")), "itemReader") unless @item_reader.nil?
  @label = label
  Jsii::Type.check_type(@label, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "label") unless @label.nil?
  @map_execution_type = map_execution_type
  Jsii::Type.check_type(@map_execution_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5TdGF0ZU1hY2hpbmVUeXBlIn0=")), "mapExecutionType") unless @map_execution_type.nil?
  @result_writer = result_writer
  Jsii::Type.check_type(@result_writer, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5SZXN1bHRXcml0ZXIifQ==")), "resultWriter") unless @result_writer.nil?
  @result_writer_v2 = result_writer_v2
  Jsii::Type.check_type(@result_writer_v2, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5SZXN1bHRXcml0ZXJWMiJ9")), "resultWriterV2") unless @result_writer_v2.nil?
  @tolerated_failure_count = tolerated_failure_count
  Jsii::Type.check_type(@tolerated_failure_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "toleratedFailureCount") unless @tolerated_failure_count.nil?
  @tolerated_failure_count_path = tolerated_failure_count_path
  Jsii::Type.check_type(@tolerated_failure_count_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "toleratedFailureCountPath") unless @tolerated_failure_count_path.nil?
  @tolerated_failure_percentage = tolerated_failure_percentage
  Jsii::Type.check_type(@tolerated_failure_percentage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "toleratedFailurePercentage") unless @tolerated_failure_percentage.nil?
  @tolerated_failure_percentage_path = tolerated_failure_percentage_path
  Jsii::Type.check_type(@tolerated_failure_percentage_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "toleratedFailurePercentagePath") unless @tolerated_failure_percentage_path.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:



108
109
110
# File 'step_functions/distributed_map_json_path_props.rb', line 108

def assign
  @assign
end

#commentString? (readonly)

Note:

Default: No comment

A comment describing this state.

Returns:

  • (String, nil)


87
88
89
# File 'step_functions/distributed_map_json_path_props.rb', line 87

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


149
150
151
# File 'step_functions/distributed_map_json_path_props.rb', line 149

def input_path
  @input_path
end

#item_batcherAWSCDK::StepFunctions::ItemBatcher? (readonly)

Note:

Default: - No itemBatcher

Specifies to process a group of items in a single child workflow execution.



192
193
194
# File 'step_functions/distributed_map_json_path_props.rb', line 192

def item_batcher
  @item_batcher
end

#item_readerAWSCDK::StepFunctions::IItemReader? (readonly)

Note:

Default: - No itemReader

ItemReader.

Configuration for where to read items dataset in S3 to iterate



199
200
201
# File 'step_functions/distributed_map_json_path_props.rb', line 199

def item_reader
  @item_reader
end

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

Note:

Default: $

The JSON that you want to override your default iteration input (mutually exclusive with parameters and jsonataItemSelector).



114
115
116
# File 'step_functions/distributed_map_json_path_props.rb', line 114

def item_selector
  @item_selector
end

#items_pathString? (readonly)

Note:

Default: $

JSONPath expression to select the array to iterate over.

Returns:

  • (String, nil)


162
163
164
# File 'step_functions/distributed_map_json_path_props.rb', line 162

def items_path
  @items_path
end

#jsonata_item_selectorString? (readonly)

Note:

Default: $

Jsonata expression that evaluates to a JSON array to override your default iteration input (mutually exclusive with parameters and itemSelector).

Example value: {% {\"foo\": \"foo\", \"input\": $states.input} %}

Returns:

  • (String, nil)


121
122
123
# File 'step_functions/distributed_map_json_path_props.rb', line 121

def jsonata_item_selector
  @jsonata_item_selector
end

#jsonata_max_concurrencyString? (readonly)

Note:

Default: - full concurrency

JSONata expression for MaxConcurrency.

A JSONata expression that evaluates to an integer, specifying the maximum concurrency dynamically. Mutually exclusive with max_concurrency and max_concurrency_path.

Example value: {% $states.input.maxConcurrency %}



133
134
135
# File 'step_functions/distributed_map_json_path_props.rb', line 133

def jsonata_max_concurrency
  @jsonata_max_concurrency
end

#labelString? (readonly)

Note:

Default: - No label

Label.

Unique name for the Distributed Map state added to each Map Run

Returns:

  • (String, nil)


206
207
208
# File 'step_functions/distributed_map_json_path_props.rb', line 206

def label
  @label
end

#map_execution_typeAWSCDK::StepFunctions::StateMachineType? (readonly)

Note:

Default: StateMachineType.STANDARD

MapExecutionType.

The execution type of the distributed map state

This property overwrites ProcessorConfig.executionType



215
216
217
# File 'step_functions/distributed_map_json_path_props.rb', line 215

def map_execution_type
  @map_execution_type
end

#max_concurrencyNumeric? (readonly)

Note:

Default: - full concurrency

MaxConcurrency.

An upper bound on the number of iterations you want running at once.



141
142
143
# File 'step_functions/distributed_map_json_path_props.rb', line 141

def max_concurrency
  @max_concurrency
end

#max_concurrency_pathString? (readonly)

Note:

Default: - full concurrency

MaxConcurrencyPath.

A JsonPath that specifies the maximum concurrency dynamically from the state input.



170
171
172
# File 'step_functions/distributed_map_json_path_props.rb', line 170

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


157
158
159
# File 'step_functions/distributed_map_json_path_props.rb', line 157

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.



95
96
97
# File 'step_functions/distributed_map_json_path_props.rb', line 95

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)


178
179
180
# File 'step_functions/distributed_map_json_path_props.rb', line 178

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.



187
188
189
# File 'step_functions/distributed_map_json_path_props.rb', line 187

def result_selector
  @result_selector
end

#result_writerAWSCDK::StepFunctions::ResultWriter? (readonly)

Deprecated.

Use {@link resultWriterV2 }

Note:

Default: - No resultWriter

Configuration for S3 location in which to save Map Run results.



221
222
223
# File 'step_functions/distributed_map_json_path_props.rb', line 221

def result_writer
  @result_writer
end

#result_writer_v2AWSCDK::StepFunctions::ResultWriterV2? (readonly)

Note:

Default: - No resultWriterV2

Configuration for S3 location in which to save Map Run results Enable "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2" feature in the context to use resultWriterV2 Example: stack.node.setContext("@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2", true);



226
227
228
# File 'step_functions/distributed_map_json_path_props.rb', line 226

def result_writer_v2
  @result_writer_v2
end

#state_nameString? (readonly)

Note:

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

Optional name for this state.

Returns:

  • (String, nil)


100
101
102
# File 'step_functions/distributed_map_json_path_props.rb', line 100

def state_name
  @state_name
end

#tolerated_failure_countNumeric? (readonly)

Note:

Default: - No toleratedFailureCount

ToleratedFailureCount.

Number of failed items to tolerate in a Map Run, as static number

Returns:

  • (Numeric, nil)


233
234
235
# File 'step_functions/distributed_map_json_path_props.rb', line 233

def tolerated_failure_count
  @tolerated_failure_count
end

#tolerated_failure_count_pathString? (readonly)

Note:

Default: - No toleratedFailureCountPath

ToleratedFailureCountPath.

Number of failed items to tolerate in a Map Run, as JsonPath

Returns:

  • (String, nil)


240
241
242
# File 'step_functions/distributed_map_json_path_props.rb', line 240

def tolerated_failure_count_path
  @tolerated_failure_count_path
end

#tolerated_failure_percentageNumeric? (readonly)

Note:

Default: - No toleratedFailurePercentage

ToleratedFailurePercentage.

Percentage of failed items to tolerate in a Map Run, as static number

Returns:

  • (Numeric, nil)


247
248
249
# File 'step_functions/distributed_map_json_path_props.rb', line 247

def tolerated_failure_percentage
  @tolerated_failure_percentage
end

#tolerated_failure_percentage_pathString? (readonly)

Note:

Default: - No toleratedFailurePercentagePath

ToleratedFailurePercentagePath.

Percentage of failed items to tolerate in a Map Run, as JsonPath

Returns:

  • (String, nil)


254
255
256
# File 'step_functions/distributed_map_json_path_props.rb', line 254

def tolerated_failure_percentage_path
  @tolerated_failure_percentage_path
end

Class Method Details

.jsii_propertiesObject



256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
# File 'step_functions/distributed_map_json_path_props.rb', line 256

def self.jsii_properties
  {
    :comment => "comment",
    :query_language => "queryLanguage",
    :state_name => "stateName",
    :assign => "assign",
    :item_selector => "itemSelector",
    :jsonata_item_selector => "jsonataItemSelector",
    :jsonata_max_concurrency => "jsonataMaxConcurrency",
    :max_concurrency => "maxConcurrency",
    :input_path => "inputPath",
    :output_path => "outputPath",
    :items_path => "itemsPath",
    :max_concurrency_path => "maxConcurrencyPath",
    :result_path => "resultPath",
    :result_selector => "resultSelector",
    :item_batcher => "itemBatcher",
    :item_reader => "itemReader",
    :label => "label",
    :map_execution_type => "mapExecutionType",
    :result_writer => "resultWriter",
    :result_writer_v2 => "resultWriterV2",
    :tolerated_failure_count => "toleratedFailureCount",
    :tolerated_failure_count_path => "toleratedFailureCountPath",
    :tolerated_failure_percentage => "toleratedFailurePercentage",
    :tolerated_failure_percentage_path => "toleratedFailurePercentagePath",
  }
end

Instance Method Details

#to_jsiiObject



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
314
315
# File 'step_functions/distributed_map_json_path_props.rb', line 285

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "comment" => @comment,
    "queryLanguage" => @query_language,
    "stateName" => @state_name,
    "assign" => @assign,
    "itemSelector" => @item_selector,
    "jsonataItemSelector" => @jsonata_item_selector,
    "jsonataMaxConcurrency" => @jsonata_max_concurrency,
    "maxConcurrency" => @max_concurrency,
    "inputPath" => @input_path,
    "outputPath" => @output_path,
    "itemsPath" => @items_path,
    "maxConcurrencyPath" => @max_concurrency_path,
    "resultPath" => @result_path,
    "resultSelector" => @result_selector,
    "itemBatcher" => @item_batcher,
    "itemReader" => @item_reader,
    "label" => @label,
    "mapExecutionType" => @map_execution_type,
    "resultWriter" => @result_writer,
    "resultWriterV2" => @result_writer_v2,
    "toleratedFailureCount" => @tolerated_failure_count,
    "toleratedFailureCountPath" => @tolerated_failure_count_path,
    "toleratedFailurePercentage" => @tolerated_failure_percentage,
    "toleratedFailurePercentagePath" => @tolerated_failure_percentage_path,
  })
  result.compact
end