@Override
    public CreateStateMachineAliasResult createStateMachineAlias(CreateStateMachineAliasRequest request) {
        request = beforeClientExecution(request);
        return executeCreateStateMachineAlias(request);
    }
<p>
Creates an <a
href="https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html">alias</a> for a
state machine that points to one or two <a
href="https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html">versions</a> of
the same state machine. You can set your application to call <a>StartExecution</a> with an alias and update the
version the alias uses without changing the client's code.
</p>
<p>
You can also map an alias to split <a>StartExecution</a> requests between two versions of a state machine. To do
this, add a second <code>RoutingConfig</code> object in the <code>routingConfiguration</code> parameter. You must
also specify the percentage of execution run requests each version should receive in both
<code>RoutingConfig</code> objects. Step Functions randomly chooses which version runs a given execution based on
the percentage you specify.
</p>
<p>
To create an alias that points to a single version, specify a single <code>RoutingConfig</code> object with a
<code>weight</code> set to 100.
</p>
<p>
You can create up to 100 aliases for each state machine. You must delete unused aliases using the
<a>DeleteStateMachineAlias</a> API action.
</p>
<p>
<code>CreateStateMachineAlias</code> is an idempotent API. Step Functions bases the idempotency check on the
<code>stateMachineArn</code>, <code>description</code>, <code>name</code>, and <code>routingConfiguration</code>
parameters. Requests that contain the same values for these parameters return a successful idempotent response
without creating a duplicate resource.
</p>
<p>
<b>Related operations:</b>
</p>
<ul>
<li>
<p>
<a>DescribeStateMachineAlias</a>
</p>
</li>
<li>
<p>
<a>ListStateMachineAliases</a>
</p>
</li>
<li>
<p>
<a>UpdateStateMachineAlias</a>
</p>
</li>
<li>
<p>
<a>DeleteStateMachineAlias</a>
</p>
</li>
</ul>

@param createStateMachineAliasRequest
@return Result of the CreateStateMachineAlias operation returned by the service.
@throws InvalidArnException
        The provided Amazon Resource Name (ARN) is not valid.
@throws InvalidNameException
        The provided name is not valid.
@throws ValidationException
        The input does not satisfy the constraints specified by an Amazon Web Services service.
@throws StateMachineDeletingException
        The specified state machine is being deleted.
@throws ResourceNotFoundException
        Could not find the referenced resource.
@throws ConflictException
        Updating or deleting a resource can cause an inconsistent state. This error occurs when there're
        concurrent requests for <a>DeleteStateMachineVersion</a>, <a>PublishStateMachineVersion</a>, or
        <a>UpdateStateMachine</a> with the <code>publish</code> parameter set to <code>true</code>.</p>
        <p>
        HTTP Status Code: 409
@throws ServiceQuotaExceededException
        The request would cause a service quota to be exceeded.
        </p>
        <p>
        HTTP Status Code: 402
@sample AWSStepFunctions.CreateStateMachineAlias
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/CreateStateMachineAlias" target="_top">AWS
     API Documentation</a>
aws-java-sdk-stepfunctions/src/main/java/com/amazonaws/services/stepfunctions/AWSStepFunctionsClient.java