aws_sdk_sfn/client/describe_execution.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`DescribeExecution`](crate::operation::describe_execution::builders::DescribeExecutionFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`execution_arn(impl Into<String>)`](crate::operation::describe_execution::builders::DescribeExecutionFluentBuilder::execution_arn) / [`set_execution_arn(Option<String>)`](crate::operation::describe_execution::builders::DescribeExecutionFluentBuilder::set_execution_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the execution to describe.</p><br>
7 /// - [`included_data(IncludedData)`](crate::operation::describe_execution::builders::DescribeExecutionFluentBuilder::included_data) / [`set_included_data(Option<IncludedData>)`](crate::operation::describe_execution::builders::DescribeExecutionFluentBuilder::set_included_data):<br>required: **false**<br><p>If your state machine definition is encrypted with a KMS key, callers must have <code>kms:Decrypt</code> permission to decrypt the definition. Alternatively, you can call DescribeStateMachine API with <code>includedData = METADATA_ONLY</code> to get a successful response without the encrypted definition.</p><br>
8 /// - On success, responds with [`DescribeExecutionOutput`](crate::operation::describe_execution::DescribeExecutionOutput) with field(s):
9 /// - [`execution_arn(String)`](crate::operation::describe_execution::DescribeExecutionOutput::execution_arn): <p>The Amazon Resource Name (ARN) that identifies the execution.</p>
10 /// - [`state_machine_arn(String)`](crate::operation::describe_execution::DescribeExecutionOutput::state_machine_arn): <p>The Amazon Resource Name (ARN) of the executed stated machine.</p>
11 /// - [`name(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::name): <p>The name of the execution.</p> <p>A name must <i>not</i> contain:</p> <ul> <li> <p>white space</p></li> <li> <p>brackets <code>< > { } \[ \]</code></p></li> <li> <p>wildcard characters <code>? *</code></p></li> <li> <p>special characters <code>" # % \ ^ | ~ ` $ & , ; : /</code></p></li> <li> <p>control characters (<code>U+0000-001F</code>, <code>U+007F-009F</code>, <code>U+FFFE-FFFF</code>)</p></li> <li> <p>surrogates (<code>U+D800-DFFF</code>)</p></li> <li> <p>invalid characters (<code> U+10FFFF</code>)</p></li> </ul> <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p>
12 /// - [`status(ExecutionStatus)`](crate::operation::describe_execution::DescribeExecutionOutput::status): <p>The current status of the execution.</p>
13 /// - [`start_date(DateTime)`](crate::operation::describe_execution::DescribeExecutionOutput::start_date): <p>The date the execution is started.</p>
14 /// - [`stop_date(Option<DateTime>)`](crate::operation::describe_execution::DescribeExecutionOutput::stop_date): <p>If the execution ended, the date the execution stopped.</p>
15 /// - [`input(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::input): <p>The string that contains the JSON input data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.</p>
16 /// - [`input_details(Option<CloudWatchEventsExecutionDataDetails>)`](crate::operation::describe_execution::DescribeExecutionOutput::input_details): <p>Provides details about execution input or output.</p>
17 /// - [`output(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::output): <p>The JSON output data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.</p><note> <p>This field is set only if the execution succeeds. If the execution fails, this field is null.</p> </note>
18 /// - [`output_details(Option<CloudWatchEventsExecutionDataDetails>)`](crate::operation::describe_execution::DescribeExecutionOutput::output_details): <p>Provides details about execution input or output.</p>
19 /// - [`trace_header(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::trace_header): <p>The X-Ray trace header that was passed to the execution.</p><note> <p>For X-Ray traces, all Amazon Web Services services use the <code>X-Amzn-Trace-Id</code> header from the HTTP request. Using the header is the preferred mechanism to identify a trace. <code>StartExecution</code> and <code>StartSyncExecution</code> API operations can also use <code>traceHeader</code> from the body of the request payload. If <b>both</b> sources are provided, Step Functions will use the <b>header value</b> (preferred) over the value in the request body.</p> </note>
20 /// - [`map_run_arn(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::map_run_arn): <p>The Amazon Resource Name (ARN) that identifies a Map Run, which dispatched this execution.</p>
21 /// - [`error(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::error): <p>The error string if the state machine execution failed.</p>
22 /// - [`cause(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::cause): <p>The cause string if the state machine execution failed.</p>
23 /// - [`state_machine_version_arn(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::state_machine_version_arn): <p>The Amazon Resource Name (ARN) of the state machine version associated with the execution. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, <code>stateMachineARN:1</code>.</p> <p>If you start an execution from a <code>StartExecution</code> request without specifying a state machine version or alias ARN, Step Functions returns a null value.</p>
24 /// - [`state_machine_alias_arn(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::state_machine_alias_arn): <p>The Amazon Resource Name (ARN) of the state machine alias associated with the execution. The alias ARN is a combination of state machine ARN and the alias name separated by a colon (:). For example, <code>stateMachineARN:PROD</code>.</p> <p>If you start an execution from a <code>StartExecution</code> request with a state machine version ARN, this field will be null.</p>
25 /// - [`redrive_count(Option<i32>)`](crate::operation::describe_execution::DescribeExecutionOutput::redrive_count): <p>The number of times you've redriven an execution. If you have not yet redriven an execution, the <code>redriveCount</code> is 0. This count is only updated if you successfully redrive an execution.</p>
26 /// - [`redrive_date(Option<DateTime>)`](crate::operation::describe_execution::DescribeExecutionOutput::redrive_date): <p>The date the execution was last redriven. If you have not yet redriven an execution, the <code>redriveDate</code> is null.</p> <p>The <code>redriveDate</code> is unavailable if you redrive a Map Run that starts child workflow executions of type <code>EXPRESS</code>.</p>
27 /// - [`redrive_status(Option<ExecutionRedriveStatus>)`](crate::operation::describe_execution::DescribeExecutionOutput::redrive_status): <p>Indicates whether or not an execution can be redriven at a given point in time.</p> <ul> <li> <p>For executions of type <code>STANDARD</code>, <code>redriveStatus</code> is <code>NOT_REDRIVABLE</code> if calling the <code>RedriveExecution</code> API action would return the <code>ExecutionNotRedrivable</code> error.</p></li> <li> <p>For a Distributed Map that includes child workflows of type <code>STANDARD</code>, <code>redriveStatus</code> indicates whether or not the Map Run can redrive child workflow executions.</p></li> <li> <p>For a Distributed Map that includes child workflows of type <code>EXPRESS</code>, <code>redriveStatus</code> indicates whether or not the Map Run can redrive child workflow executions.</p> <p>You can redrive failed or timed out <code>EXPRESS</code> workflows <i>only if</i> they're a part of a Map Run. When you <a href="https://docs.aws.amazon.com/step-functions/latest/dg/redrive-map-run.html">redrive</a> the Map Run, these workflows are restarted using the <code>StartExecution</code> API action.</p></li> </ul>
28 /// - [`redrive_status_reason(Option<String>)`](crate::operation::describe_execution::DescribeExecutionOutput::redrive_status_reason): <p>When <code>redriveStatus</code> is <code>NOT_REDRIVABLE</code>, <code>redriveStatusReason</code> specifies the reason why an execution cannot be redriven.</p> <ul> <li> <p>For executions of type <code>STANDARD</code>, or for a Distributed Map that includes child workflows of type <code>STANDARD</code>, <code>redriveStatusReason</code> can include one of the following reasons:</p> <ul> <li> <p><code>State machine is in DELETING status</code>.</p></li> <li> <p><code>Execution is RUNNING and cannot be redriven</code>.</p></li> <li> <p><code>Execution is SUCCEEDED and cannot be redriven</code>.</p></li> <li> <p><code>Execution was started before the launch of RedriveExecution</code>.</p></li> <li> <p><code>Execution history event limit exceeded</code>.</p></li> <li> <p><code>Execution has exceeded the max execution time</code>.</p></li> <li> <p><code>Execution redrivable period exceeded</code>.</p></li> </ul></li> <li> <p>For a Distributed Map that includes child workflows of type <code>EXPRESS</code>, <code>redriveStatusReason</code> is only returned if the child workflows are not redrivable. This happens when the child workflow executions have completed successfully.</p></li> </ul>
29 /// - On failure, responds with [`SdkError<DescribeExecutionError>`](crate::operation::describe_execution::DescribeExecutionError)
30 pub fn describe_execution(&self) -> crate::operation::describe_execution::builders::DescribeExecutionFluentBuilder {
31 crate::operation::describe_execution::builders::DescribeExecutionFluentBuilder::new(self.handle.clone())
32 }
33}