code: @Override
      public UnassignInstanceResult unassignInstance(UnassignInstanceRequest request) {
          request = beforeClientExecution(request);
          return executeUnassignInstance(request);
      }
docs: <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 AWS 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="http://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>