code: @Override
      public CreateTaskResult createTask(CreateTaskRequest request) {
          request = beforeClientExecution(request);
          return executeCreateTask(request);
      }
docs: <p>
  Creates a task. A task is a set of two locations (source and destination) and a set of default
  <code>OverrideOptions</code> that you use to control the behavior of a task. If you don't specify default values
  for <code>Options</code> when you create a task, AWS DataSync populates them with safe service defaults.
  </p>
  <p>
  When you initially create a task, it enters the INITIALIZING status and then the CREATING status. In CREATING
  status, AWS DataSync attempts to mount the source Network File System (NFS) location. The task transitions to the
  AVAILABLE status without waiting for the destination location to mount. Instead, AWS DataSync mounts a
  destination before every task execution and then unmounts it after every task execution.
  </p>
  <p>
  If an agent that is associated with a source (NFS) location goes offline, the task transitions to the UNAVAILABLE
  status. If the status of the task remains in the CREATING status for more than a few minutes, it means that your
  agent might be having trouble mounting the source NFS file system. Check the task's <code>ErrorCode</code> and
  <code>ErrorDetail</code>. Mount issues are often caused by either a misconfigured firewall or a mistyped NFS
  server host name.
  </p>
  
  @param createTaskRequest
  CreateTaskRequest
  @return Result of the CreateTask operation returned by the service.
  @throws InvalidRequestException
  This exception is thrown when the client submits a malformed request.
  @sample AWSDataSync.CreateTask
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateTask" target="_top">AWS API
  Documentation</a>