@Override
    public UnassignInstanceResult unassignInstance(UnassignInstanceRequest request) {
        request = beforeClientExecution(request);
        return executeUnassignInstance(request);
    }
<p>
Unassigns a registered instance from all layers that are using the instance. The instance remains in the stack as
an unassigned instance, and can be assigned to another layer as needed. You cannot use this action with instances
that were created with OpsWorks Stacks.
</p>
<p>
<b>Required Permissions</b>: To use this action, an IAM user must have a Manage permissions level for the stack
or an attached policy that explicitly grants permissions. For more information about user permissions, see <a
href="https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html">Managing User
Permissions</a>.
</p>

@param unassignInstanceRequest
@return Result of the UnassignInstance operation returned by the service.
@throws ValidationException
        Indicates that a request was not valid.
@throws ResourceNotFoundException
        Indicates that a resource was not found.
@sample AWSOpsWorks.UnassignInstance
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignInstance" target="_top">AWS API
     Documentation</a>
aws-java-sdk-opsworks/src/main/java/com/amazonaws/services/opsworks/AWSOpsWorksClient.java