Class: AWSCDK::StepFunctions::DistributedMapJsonataProps

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

Overview

Properties for configuring a Distribute Map state that using JSONata.

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, outputs: nil, items: 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_percentage: nil) ⇒ DistributedMapJsonataProps

Returns a new instance of DistributedMapJsonataProps.

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.

  • outputs (Object, nil) (defaults to: nil)

    Used to specify and transform output from the state.

  • items (AWSCDK::StepFunctions::ProvideItems, nil) (defaults to: nil)

    The array that the Map state will iterate over.

  • 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_percentage (Numeric, nil) (defaults to: nil)

    ToleratedFailurePercentage.



26
27
28
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
# File 'step_functions/distributed_map_jsonata_props.rb', line 26

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, outputs: nil, items: 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_percentage: 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?
  @outputs = outputs
  Jsii::Type.check_type(@outputs, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "outputs") unless @outputs.nil?
  @items = items
  Jsii::Type.check_type(@items, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5Qcm92aWRlSXRlbXMifQ==")), "items") unless @items.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_percentage = tolerated_failure_percentage
  Jsii::Type.check_type(@tolerated_failure_percentage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "toleratedFailurePercentage") unless @tolerated_failure_percentage.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:



90
91
92
# File 'step_functions/distributed_map_jsonata_props.rb', line 90

def assign
  @assign
end

#commentString? (readonly)

Note:

Default: No comment

A comment describing this state.

Returns:

  • (String, nil)


69
70
71
# File 'step_functions/distributed_map_jsonata_props.rb', line 69

def comment
  @comment
end

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

Note:

Default: - No itemBatcher

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



145
146
147
# File 'step_functions/distributed_map_jsonata_props.rb', line 145

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



152
153
154
# File 'step_functions/distributed_map_jsonata_props.rb', line 152

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



96
97
98
# File 'step_functions/distributed_map_jsonata_props.rb', line 96

def item_selector
  @item_selector
end

#itemsAWSCDK::StepFunctions::ProvideItems? (readonly)

Note:

Default: - The state input as is.

The array that the Map state will iterate over.



140
141
142
# File 'step_functions/distributed_map_jsonata_props.rb', line 140

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


103
104
105
# File 'step_functions/distributed_map_jsonata_props.rb', line 103

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 %}



115
116
117
# File 'step_functions/distributed_map_jsonata_props.rb', line 115

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)


159
160
161
# File 'step_functions/distributed_map_jsonata_props.rb', line 159

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



168
169
170
# File 'step_functions/distributed_map_jsonata_props.rb', line 168

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.



123
124
125
# File 'step_functions/distributed_map_jsonata_props.rb', line 123

def max_concurrency
  @max_concurrency
end

#outputsObject? (readonly)

Note:

Default: - $states.result or $states.errorOutput

Used to specify and transform output from the state.

When specified, the value overrides the state output default. The output field accepts any JSON value (object, array, string, number, boolean, null). Any string value, including those inside objects or arrays, will be evaluated as JSONata if surrounded by % characters. Output also accepts a JSONata expression directly.



135
136
137
# File 'step_functions/distributed_map_jsonata_props.rb', line 135

def outputs
  @outputs
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.



77
78
79
# File 'step_functions/distributed_map_jsonata_props.rb', line 77

def query_language
  @query_language
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.



174
175
176
# File 'step_functions/distributed_map_jsonata_props.rb', line 174

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);



179
180
181
# File 'step_functions/distributed_map_jsonata_props.rb', line 179

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)


82
83
84
# File 'step_functions/distributed_map_jsonata_props.rb', line 82

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)


186
187
188
# File 'step_functions/distributed_map_jsonata_props.rb', line 186

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


193
194
195
# File 'step_functions/distributed_map_jsonata_props.rb', line 193

def tolerated_failure_percentage
  @tolerated_failure_percentage
end

Class Method Details

.jsii_propertiesObject



195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
# File 'step_functions/distributed_map_jsonata_props.rb', line 195

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",
    :outputs => "outputs",
    :items => "items",
    :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_percentage => "toleratedFailurePercentage",
  }
end

Instance Method Details

#to_jsiiObject



218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
# File 'step_functions/distributed_map_jsonata_props.rb', line 218

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,
    "outputs" => @outputs,
    "items" => @items,
    "itemBatcher" => @item_batcher,
    "itemReader" => @item_reader,
    "label" => @label,
    "mapExecutionType" => @map_execution_type,
    "resultWriter" => @result_writer,
    "resultWriterV2" => @result_writer_v2,
    "toleratedFailureCount" => @tolerated_failure_count,
    "toleratedFailurePercentage" => @tolerated_failure_percentage,
  })
  result.compact
end