@Override
    public DescribeStateMachineResult describeStateMachine(DescribeStateMachineRequest request) {
        request = beforeClientExecution(request);
        return executeDescribeStateMachine(request);
    }
<p>
Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and
configuration.
</p>
<p>
A qualified state machine ARN can either refer to a <i>Distributed Map state</i> defined within a state machine,
a version ARN, or an alias ARN.
</p>
<p>
The following are some examples of qualified and unqualified state machine ARNs:
</p>
<ul>
<li>
<p>
The following qualified state machine ARN refers to a <i>Distributed Map state</i> with a label
<code>mapStateLabel</code> in a state machine named <code>myStateMachine</code>.
</p>
<p>
<code>arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel</code>
</p>
<note>
<p>
If you provide a qualified state machine ARN that refers to a <i>Distributed Map state</i>, the request fails
with <code>ValidationException</code>.
</p>
</note></li>
<li>
<p>
The following qualified state machine ARN refers to an alias named <code>PROD</code>.
</p>
<p>
<code>arn:&lt;partition&gt;:states:&lt;region&gt;:&lt;account-id&gt;:stateMachine:&lt;myStateMachine:PROD&gt;</code>
</p>
<note>
<p>
If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts
execution for that version or alias.
</p>
</note></li>
<li>
<p>
The following unqualified state machine ARN refers to a state machine named <code>myStateMachine</code>.
</p>
<p>
<code>arn:&lt;partition&gt;:states:&lt;region&gt;:&lt;account-id&gt;:stateMachine:&lt;myStateMachine&gt;</code>
</p>
</li>
</ul>
<p>
This API action returns the details for a state machine version if the <code>stateMachineArn</code> you specify
is a state machine version ARN.
</p>
<note>
<p>
This operation is eventually consistent. The results are best effort and may not reflect very recent updates and
changes.
</p>
</note>

@param describeStateMachineRequest
@return Result of the DescribeStateMachine operation returned by the service.
@throws InvalidArnException
        The provided Amazon Resource Name (ARN) is not valid.
@throws StateMachineDoesNotExistException
        The specified state machine does not exist.
@throws KmsAccessDeniedException
        Either your KMS key policy or API caller does not have the required permissions.
@throws KmsInvalidStateException
        The KMS key is not in valid state, for example: Disabled or Deleted.
@throws KmsThrottlingException
        Received when KMS returns <code>ThrottlingException</code> for a KMS call that Step Functions makes on
        behalf of the caller.
@sample AWSStepFunctions.DescribeStateMachine
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DescribeStateMachine" target="_top">AWS
     API Documentation</a>
aws-java-sdk-stepfunctions/src/main/java/com/amazonaws/services/stepfunctions/AWSStepFunctionsClient.java