public Observable<ServiceResponseWithHeaders<OutputInner, OutputsUpdateHeaders>> updateWithServiceResponseAsync(String resourceGroupName, String jobName, String outputName, OutputInner output) {
        if (this.client.subscriptionId() == null) {
            throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
        }
        if (resourceGroupName == null) {
            throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
        }
        if (jobName == null) {
            throw new IllegalArgumentException("Parameter jobName is required and cannot be null.");
        }
        if (outputName == null) {
            throw new IllegalArgumentException("Parameter outputName is required and cannot be null.");
        }
        if (output == null) {
            throw new IllegalArgumentException("Parameter output is required and cannot be null.");
        }
        if (this.client.apiVersion() == null) {
            throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
        }
        Validator.validate(output);
        final String ifMatch = null;
        return service.update(this.client.subscriptionId(), resourceGroupName, jobName, outputName, output, ifMatch, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
            .flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponseWithHeaders<OutputInner, OutputsUpdateHeaders>>>() {
                @Override
                public Observable<ServiceResponseWithHeaders<OutputInner, OutputsUpdateHeaders>> call(Response<ResponseBody> response) {
                    try {
                        ServiceResponseWithHeaders<OutputInner, OutputsUpdateHeaders> clientResponse = updateDelegate(response);
                        return Observable.just(clientResponse);
                    } catch (Throwable t) {
                        return Observable.error(t);
                    }
                }
            });
    }
public Observable < ServiceResponseWithHeaders < OutputInner , OutputsUpdateHeaders > > updateWithServiceResponseAsync ( String resourceGroupName , String jobName , String outputName , OutputInner output ) { if ( this . client . subscriptionId ( ) == null ) { throw new IllegalArgumentException ( "Parameter this.client.subscriptionId() is required and cannot be null." ) ; } if ( resourceGroupName == null ) { throw new IllegalArgumentException ( "Parameter resourceGroupName is required and cannot be null." ) ; } if ( jobName == null ) { throw new IllegalArgumentException ( "Parameter jobName is required and cannot be null." ) ; } if ( outputName == null ) { throw new IllegalArgumentException ( "Parameter outputName is required and cannot be null." ) ; } if ( output == null ) { throw new IllegalArgumentException ( "Parameter output is required and cannot be null." ) ; } if ( this . client . apiVersion ( ) == null ) { throw new IllegalArgumentException ( "Parameter this.client.apiVersion() is required and cannot be null." ) ; } Validator . validate ( output ) ; final String ifMatch = null ; return service . update ( this . client . subscriptionId ( ) , resourceGroupName , jobName , outputName , output , ifMatch , this . client . apiVersion ( ) , this . client . acceptLanguage ( ) , this . client . userAgent ( ) ) . flatMap ( new Func1 < Response < ResponseBody > , Observable < ServiceResponseWithHeaders < OutputInner , OutputsUpdateHeaders > > > ( ) { @ Override public Observable < ServiceResponseWithHeaders < OutputInner , OutputsUpdateHeaders > > call ( Response < ResponseBody > response ) { try { ServiceResponseWithHeaders < OutputInner , OutputsUpdateHeaders > clientResponse = updateDelegate ( response ) ; return Observable . just ( clientResponse ) ; } catch ( Throwable t ) { return Observable . error ( t ) ; } } } ) ; }
Updates an existing output under an existing streaming job. This can be used to partially update (ie. update one or two properties) an output without affecting the rest the job or output definition.

@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 outputName The name of the output.
@param output An Output object. The properties specified here will overwrite the corresponding properties in the existing output (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing output will remain the same and not change as a result of this PATCH operation.
@throws IllegalArgumentException thrown if parameters fail the validation
@return the observable to the OutputInner object