code: public ServiceFuture<StreamingJobInner> beginCreateOrReplaceAsync(String resourceGroupName, String jobName, StreamingJobInner streamingJob, String ifMatch, String ifNoneMatch, final ServiceCallback<StreamingJobInner> serviceCallback) {
          return ServiceFuture.fromHeaderResponse(beginCreateOrReplaceWithServiceResponseAsync(resourceGroupName, jobName, streamingJob, ifMatch, ifNoneMatch), serviceCallback);
      }
docs: Creates a streaming job or replaces an already existing streaming job.
  
  @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
  @param jobName The name of the streaming job.
  @param streamingJob The definition of the streaming job that will be used to create a new streaming job or replace the existing one.
  @param ifMatch The ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes.
  @param ifNoneMatch Set to '*' to allow a new streaming job to be created, but to prevent updating an existing record set. Other values will result in a 412 Pre-condition Failed response.
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object