Class: AWSCDK::StepFunctionsTasks::HttpInvokeJsonataProps
- Inherits:
-
AWSCDK::StepFunctions::TaskStateJsonataBaseProps
- Object
- AWSCDK::StepFunctions::TaskStateJsonataBaseProps
- AWSCDK::StepFunctionsTasks::HttpInvokeJsonataProps
- Defined in:
- step_functions_tasks/http_invoke_jsonata_props.rb
Overview
Properties for calling an external HTTP endpoint with HttpInvoke using JSONata.
Instance Attribute Summary collapse
-
#api_endpoint ⇒ AWSCDK::StepFunctions::TaskInput
readonly
The API endpoint to call, relative to
apiRoot. -
#api_root ⇒ String
readonly
Permissions are granted to call all resources under this path.
-
#assign ⇒ Hash{String => Object}?
readonly
Workflow variables to store in this step.
-
#body ⇒ AWSCDK::StepFunctions::TaskInput?
readonly
The body to send to the HTTP endpoint.
-
#comment ⇒ String?
readonly
A comment describing this state.
-
#connection ⇒ AWSCDK::Events::IConnection
readonly
The EventBridge Connection to use for authentication.
-
#credentials ⇒ AWSCDK::StepFunctions::Credentials?
readonly
Credentials for an IAM Role that the State Machine assumes for executing the task.
-
#headers ⇒ AWSCDK::StepFunctions::TaskInput?
readonly
The headers to send to the HTTP endpoint.
-
#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.
-
#method ⇒ AWSCDK::StepFunctions::TaskInput
readonly
The HTTP method to use.
-
#outputs ⇒ Object?
readonly
Used to specify and transform output from the state.
-
#query_language ⇒ AWSCDK::StepFunctions::QueryLanguage?
readonly
The name of the query language used by the state.
-
#query_string_parameters ⇒ AWSCDK::StepFunctions::TaskInput?
readonly
The query string parameters to send to the HTTP endpoint.
-
#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 -
#url_encoding_format ⇒ AWSCDK::StepFunctionsTasks::URLEncodingFormat?
readonly
Determines whether to apply URL encoding to the request body, and which array encoding format to use.
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, api_endpoint:, api_root:, connection:, method:, body: nil, headers: nil, query_string_parameters: nil, url_encoding_format: nil) ⇒ HttpInvokeJsonataProps
constructor
A new instance of HttpInvokeJsonataProps.
- #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, api_endpoint:, api_root:, connection:, method:, body: nil, headers: nil, query_string_parameters: nil, url_encoding_format: nil) ⇒ HttpInvokeJsonataProps
Returns a new instance of HttpInvokeJsonataProps.
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 64 65 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 26 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, api_endpoint:, api_root:, connection:, method:, body: nil, headers: nil, query_string_parameters: nil, url_encoding_format: 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? @api_endpoint = api_endpoint Jsii::Type.check_type(@api_endpoint, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5UYXNrSW5wdXQifQ==")), "apiEndpoint") @api_root = api_root Jsii::Type.check_type(@api_root, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "apiRoot") @connection = connection Jsii::Type.check_type(@connection, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZlbnRzLklDb25uZWN0aW9uIn0=")), "connection") @method = method Jsii::Type.check_type(@method, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5UYXNrSW5wdXQifQ==")), "method") @body = body Jsii::Type.check_type(@body, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5UYXNrSW5wdXQifQ==")), "body") unless @body.nil? @headers = headers Jsii::Type.check_type(@headers, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5UYXNrSW5wdXQifQ==")), "headers") unless @headers.nil? @query_string_parameters = query_string_parameters Jsii::Type.check_type(@query_string_parameters, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5UYXNrSW5wdXQifQ==")), "queryStringParameters") unless @query_string_parameters.nil? @url_encoding_format = url_encoding_format Jsii::Type.check_type(@url_encoding_format, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5VUkxFbmNvZGluZ0Zvcm1hdCJ9")), "urlEncodingFormat") unless @url_encoding_format.nil? end |
Instance Attribute Details
#api_endpoint ⇒ AWSCDK::StepFunctions::TaskInput (readonly)
The API endpoint to call, relative to apiRoot.
156 157 158 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 156 def api_endpoint @api_endpoint end |
#api_root ⇒ String (readonly)
Permissions are granted to call all resources under this path.
162 163 164 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 162 def api_root @api_root end |
#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.
138 139 140 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 138 def assign @assign end |
#body ⇒ AWSCDK::StepFunctions::TaskInput? (readonly)
Default: - No body is sent with the request.
The body to send to the HTTP endpoint.
177 178 179 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 177 def body @body end |
#comment ⇒ String? (readonly)
Default: No comment
A comment describing this state.
71 72 73 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 71 def comment @comment end |
#connection ⇒ AWSCDK::Events::IConnection (readonly)
The EventBridge Connection to use for authentication.
166 167 168 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 166 def connection @connection 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.
92 93 94 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 92 def credentials @credentials end |
#headers ⇒ AWSCDK::StepFunctions::TaskInput? (readonly)
Default: - No additional headers are added to the request.
The headers to send to the HTTP endpoint.
184 185 186 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 184 def headers @headers end |
#heartbeat ⇒ AWSCDK::Duration? (readonly)
use heartbeatTimeout
Default: - None
Timeout for the heartbeat.
98 99 100 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 98 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
106 107 108 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 106 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.
116 117 118 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 116 def integration_pattern @integration_pattern end |
#method ⇒ AWSCDK::StepFunctions::TaskInput (readonly)
The HTTP method to use.
172 173 174 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 172 def method @method 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.
150 151 152 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 150 def outputs @outputs 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.
79 80 81 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 79 def query_language @query_language end |
#query_string_parameters ⇒ AWSCDK::StepFunctions::TaskInput? (readonly)
Default: - No query string parameters are sent in the request.
The query string parameters to send to the HTTP endpoint.
189 190 191 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 189 def query_string_parameters @query_string_parameters end |
#state_name ⇒ String? (readonly)
Default: - The construct ID will be used as state name
Optional name for this state.
84 85 86 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 84 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
124 125 126 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 124 def task_timeout @task_timeout end |
#timeout ⇒ AWSCDK::Duration? (readonly)
use taskTimeout
Default: - None
Timeout for the task.
130 131 132 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 130 def timeout @timeout end |
#url_encoding_format ⇒ AWSCDK::StepFunctionsTasks::URLEncodingFormat? (readonly)
Default: - URLEncodingFormat.NONE
Determines whether to apply URL encoding to the request body, and which array encoding format to use.
URLEncodingFormat.NONE passes the JSON-serialized RequestBody field as the HTTP request body.
Otherwise, the HTTP request body is the URL-encoded form data of the RequestBody field using the
specified array encoding format, and the Content-Type header is set to application/x-www-form-urlencoded.
198 199 200 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 198 def url_encoding_format @url_encoding_format end |
Class Method Details
.jsii_properties ⇒ Object
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 200 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", :api_endpoint => "apiEndpoint", :api_root => "apiRoot", :connection => "connection", :method => "method", :body => "body", :headers => "headers", :query_string_parameters => "queryStringParameters", :url_encoding_format => "urlEncodingFormat", } end |
Instance Method Details
#to_jsii ⇒ Object
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 |
# File 'step_functions_tasks/http_invoke_jsonata_props.rb', line 224 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, "apiEndpoint" => @api_endpoint, "apiRoot" => @api_root, "connection" => @connection, "method" => @method, "body" => @body, "headers" => @headers, "queryStringParameters" => @query_string_parameters, "urlEncodingFormat" => @url_encoding_format, }) result.compact end |