Class: AWSCDK::StepFunctionsTasks::LambdaInvokeJsonataProps
- Inherits:
-
AWSCDK::StepFunctions::TaskStateJsonataBaseProps
- Object
- AWSCDK::StepFunctions::TaskStateJsonataBaseProps
- AWSCDK::StepFunctionsTasks::LambdaInvokeJsonataProps
- Defined in:
- step_functions_tasks/lambda_invoke_jsonata_props.rb
Overview
Properties for invoking a Lambda function with LambdaInvoke using Jsonata.
Instance Attribute Summary collapse
-
#assign ⇒ Hash{String => Object}?
readonly
Workflow variables to store in this step.
-
#client_context ⇒ String?
readonly
Up to 3583 bytes of base64-encoded data about the invoking client to pass to the function.
-
#comment ⇒ String?
readonly
A comment describing this state.
-
#credentials ⇒ AWSCDK::StepFunctions::Credentials?
readonly
Credentials for an IAM Role that the State Machine assumes for executing the task.
-
#heartbeat ⇒ AWSCDK::Duration?
readonly
deprecated
Deprecated.
use
heartbeatTimeout -
#heartbeat_timeout ⇒ AWSCDK::StepFunctions::Timeout?
readonly
Timeout for the heartbeat.
-
#integration_pattern ⇒ AWSCDK::StepFunctions::IntegrationPattern?
readonly
AWS Step Functions integrates with services directly in the Amazon States Language.
-
#invocation_type ⇒ AWSCDK::StepFunctionsTasks::LambdaInvocationType?
readonly
Invocation type of the Lambda function.
-
#lambda_function ⇒ AWSCDK::Lambda::IFunction
readonly
Lambda function to invoke.
-
#outputs ⇒ Object?
readonly
Used to specify and transform output from the state.
-
#payload ⇒ AWSCDK::StepFunctions::TaskInput?
readonly
The JSON that will be supplied as input to the Lambda function.
-
#payload_response_only ⇒ Boolean?
readonly
Invoke the Lambda in a way that only returns the payload response without additional metadata.
-
#qualifier ⇒ String?
readonly
deprecated
Deprecated.
pass a Version or Alias object as lambdaFunction instead
-
#query_language ⇒ AWSCDK::StepFunctions::QueryLanguage?
readonly
The name of the query language used by the state.
-
#retry_on_service_exceptions ⇒ Boolean?
readonly
Whether to retry on Lambda service exceptions.
-
#state_name ⇒ String?
readonly
Optional name for this state.
-
#task_timeout ⇒ AWSCDK::StepFunctions::Timeout?
readonly
Timeout for the task.
-
#timeout ⇒ AWSCDK::Duration?
readonly
deprecated
Deprecated.
use
taskTimeout
Class Method Summary collapse
Instance Method Summary collapse
-
#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, outputs: nil, lambda_function:, client_context: nil, invocation_type: nil, payload: nil, payload_response_only: nil, qualifier: nil, retry_on_service_exceptions: nil) ⇒ LambdaInvokeJsonataProps
constructor
A new instance of LambdaInvokeJsonataProps.
- #to_jsii ⇒ Object
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, outputs: nil, lambda_function:, client_context: nil, invocation_type: nil, payload: nil, payload_response_only: nil, qualifier: nil, retry_on_service_exceptions: nil) ⇒ LambdaInvokeJsonataProps
Returns a new instance of LambdaInvokeJsonataProps.
25 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 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 25 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, outputs: nil, lambda_function:, client_context: nil, invocation_type: nil, payload: nil, payload_response_only: nil, qualifier: nil, retry_on_service_exceptions: 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? @outputs = outputs Jsii::Type.check_type(@outputs, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "outputs") unless @outputs.nil? @lambda_function = lambda_function Jsii::Type.check_type(@lambda_function, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklGdW5jdGlvbiJ9")), "lambdaFunction") @client_context = client_context Jsii::Type.check_type(@client_context, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clientContext") unless @client_context.nil? @invocation_type = invocation_type Jsii::Type.check_type(@invocation_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5MYW1iZGFJbnZvY2F0aW9uVHlwZSJ9")), "invocationType") unless @invocation_type.nil? @payload = payload Jsii::Type.check_type(@payload, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5UYXNrSW5wdXQifQ==")), "payload") unless @payload.nil? @payload_response_only = payload_response_only Jsii::Type.check_type(@payload_response_only, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "payloadResponseOnly") unless @payload_response_only.nil? @qualifier = qualifier Jsii::Type.check_type(@qualifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "qualifier") unless @qualifier.nil? @retry_on_service_exceptions = retry_on_service_exceptions Jsii::Type.check_type(@retry_on_service_exceptions, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "retryOnServiceExceptions") unless @retry_on_service_exceptions.nil? end |
Instance Attribute Details
#assign ⇒ Hash{String => Object}? (readonly)
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.
135 136 137 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 135 def assign @assign end |
#client_context ⇒ String? (readonly)
Default: - No context
Up to 3583 bytes of base64-encoded data about the invoking client to pass to the function.
156 157 158 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 156 def client_context @client_context end |
#comment ⇒ String? (readonly)
Default: No comment
A comment describing this state.
68 69 70 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 68 def comment @comment end |
#credentials ⇒ AWSCDK::StepFunctions::Credentials? (readonly)
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.
89 90 91 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 89 def credentials @credentials end |
#heartbeat ⇒ AWSCDK::Duration? (readonly)
use heartbeatTimeout
Default: - None
Timeout for the heartbeat.
95 96 97 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 95 def heartbeat @heartbeat end |
#heartbeat_timeout ⇒ AWSCDK::StepFunctions::Timeout? (readonly)
Default: - None
Timeout for the heartbeat.
[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
103 104 105 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 103 def heartbeat_timeout @heartbeat_timeout end |
#integration_pattern ⇒ AWSCDK::StepFunctions::IntegrationPattern? (readonly)
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.
113 114 115 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 113 def integration_pattern @integration_pattern end |
#invocation_type ⇒ AWSCDK::StepFunctionsTasks::LambdaInvocationType? (readonly)
Default: InvocationType.REQUEST_RESPONSE
Invocation type of the Lambda function.
161 162 163 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 161 def invocation_type @invocation_type end |
#lambda_function ⇒ AWSCDK::Lambda::IFunction (readonly)
Lambda function to invoke.
151 152 153 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 151 def lambda_function @lambda_function end |
#outputs ⇒ Object? (readonly)
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.
147 148 149 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 147 def outputs @outputs end |
#payload ⇒ AWSCDK::StepFunctions::TaskInput? (readonly)
Default: - The state input (JSONata: '$states.input %', JSONPath: '$')
The JSON that will be supplied as input to the Lambda function.
166 167 168 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 166 def payload @payload end |
#payload_response_only ⇒ Boolean? (readonly)
Default: false
Invoke the Lambda in a way that only returns the payload response without additional metadata.
The payload_response_only property cannot be used if integration_pattern, invocation_type,
client_context, or qualifier are specified.
It always uses the REQUEST_RESPONSE behavior.
175 176 177 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 175 def payload_response_only @payload_response_only end |
#qualifier ⇒ String? (readonly)
pass a Version or Alias object as lambdaFunction instead
Default: - Version or alias inherent to the lambdaFunction object.
Version or alias to invoke a published version of the function.
You only need to supply this if you want the version of the Lambda Function to depend
on data in the state machine state. If not, you can pass the appropriate Alias or Version object
directly as the lambda_function argument.
185 186 187 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 185 def qualifier @qualifier end |
#query_language ⇒ AWSCDK::StepFunctions::QueryLanguage? (readonly)
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.
76 77 78 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 76 def query_language @query_language end |
#retry_on_service_exceptions ⇒ Boolean? (readonly)
Default: true
Whether to retry on Lambda service exceptions.
This handles Lambda.ServiceException, Lambda.AWSLambdaException,
Lambda.SdkClientException, and Lambda.ClientExecutionTimeoutException
with an interval of 2 seconds, a back-off rate
of 2 and 6 maximum attempts.
196 197 198 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 196 def retry_on_service_exceptions @retry_on_service_exceptions end |
#state_name ⇒ String? (readonly)
Default: - The construct ID will be used as state name
Optional name for this state.
81 82 83 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 81 def state_name @state_name end |
#task_timeout ⇒ AWSCDK::StepFunctions::Timeout? (readonly)
Default: - None
Timeout for the task.
[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
121 122 123 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 121 def task_timeout @task_timeout end |
#timeout ⇒ AWSCDK::Duration? (readonly)
use taskTimeout
Default: - None
Timeout for the task.
127 128 129 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 127 def timeout @timeout end |
Class Method Details
.jsii_properties ⇒ Object
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 198 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", :outputs => "outputs", :lambda_function => "lambdaFunction", :client_context => "clientContext", :invocation_type => "invocationType", :payload => "payload", :payload_response_only => "payloadResponseOnly", :qualifier => "qualifier", :retry_on_service_exceptions => "retryOnServiceExceptions", } end |
Instance Method Details
#to_jsii ⇒ Object
221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
# File 'step_functions_tasks/lambda_invoke_jsonata_props.rb', line 221 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, "outputs" => @outputs, "lambdaFunction" => @lambda_function, "clientContext" => @client_context, "invocationType" => @invocation_type, "payload" => @payload, "payloadResponseOnly" => @payload_response_only, "qualifier" => @qualifier, "retryOnServiceExceptions" => @retry_on_service_exceptions, }) result.compact end |