public Observable<Void> addAsync(JobAddParameter job, JobAddOptions jobAddOptions) {
        return addWithServiceResponseAsync(job, jobAddOptions).map(new Func1<ServiceResponseWithHeaders<Void, JobAddHeaders>, Void>() {
            @Override
            public Void call(ServiceResponseWithHeaders<Void, JobAddHeaders> response) {
                return response.body();
            }
        });
    }
public Observable < Void > addAsync ( JobAddParameter job , JobAddOptions jobAddOptions ) { return addWithServiceResponseAsync ( job , jobAddOptions ) . map ( new Func1 < ServiceResponseWithHeaders < Void , JobAddHeaders > , Void > ( ) { @ Override public Void call ( ServiceResponseWithHeaders < Void , JobAddHeaders > response ) { return response . body ( ) ; } } ) ; }
Adds a job to the specified account.
The Batch service supports two ways to control the work done as part of a job. In the first approach, the user specifies a Job Manager task. The Batch service launches this task when it is ready to start the job. The Job Manager task controls all other tasks that run under this job, by using the Task APIs. In the second approach, the user directly controls the execution of tasks under an active job, by using the Task APIs. Also note: when naming jobs, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.

@param job The job to be added.
@param jobAddOptions Additional parameters for the operation
@throws IllegalArgumentException thrown if parameters fail the validation
@return the {@link ServiceResponseWithHeaders} object if successful.