public Observable<ServiceResponse<VirtualWanSecurityProvidersInner>> supportedSecurityProvidersWithServiceResponseAsync(String resourceGroupName, String virtualWANName) {
        if (this.subscriptionId() == null) {
            throw new IllegalArgumentException("Parameter this.subscriptionId() is required and cannot be null.");
        }
        if (resourceGroupName == null) {
            throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
        }
        if (virtualWANName == null) {
            throw new IllegalArgumentException("Parameter virtualWANName is required and cannot be null.");
        }
        final String apiVersion = "2018-08-01";
        return service.supportedSecurityProviders(this.subscriptionId(), resourceGroupName, virtualWANName, apiVersion, this.acceptLanguage(), this.userAgent())
            .flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponse<VirtualWanSecurityProvidersInner>>>() {
                @Override
                public Observable<ServiceResponse<VirtualWanSecurityProvidersInner>> call(Response<ResponseBody> response) {
                    try {
                        ServiceResponse<VirtualWanSecurityProvidersInner> clientResponse = supportedSecurityProvidersDelegate(response);
                        return Observable.just(clientResponse);
                    } catch (Throwable t) {
                        return Observable.error(t);
                    }
                }
            });
    }
public Observable < ServiceResponse < VirtualWanSecurityProvidersInner > > supportedSecurityProvidersWithServiceResponseAsync ( String resourceGroupName , String virtualWANName ) { if ( this . subscriptionId ( ) == null ) { throw new IllegalArgumentException ( "Parameter this.subscriptionId() is required and cannot be null." ) ; } if ( resourceGroupName == null ) { throw new IllegalArgumentException ( "Parameter resourceGroupName is required and cannot be null." ) ; } if ( virtualWANName == null ) { throw new IllegalArgumentException ( "Parameter virtualWANName is required and cannot be null." ) ; } final String apiVersion = "2018-08-01" ; return service . supportedSecurityProviders ( this . subscriptionId ( ) , resourceGroupName , virtualWANName , apiVersion , this . acceptLanguage ( ) , this . userAgent ( ) ) . flatMap ( new Func1 < Response < ResponseBody > , Observable < ServiceResponse < VirtualWanSecurityProvidersInner > > > ( ) { @ Override public Observable < ServiceResponse < VirtualWanSecurityProvidersInner > > call ( Response < ResponseBody > response ) { try { ServiceResponse < VirtualWanSecurityProvidersInner > clientResponse = supportedSecurityProvidersDelegate ( response ) ; return Observable . just ( clientResponse ) ; } catch ( Throwable t ) { return Observable . error ( t ) ; } } } ) ; }
Gives the supported security providers for the virtual wan.

@param resourceGroupName The resource group name.
@param virtualWANName The name of the VirtualWAN for which supported security providers are needed.
@throws IllegalArgumentException thrown if parameters fail the validation
@return the observable to the VirtualWanSecurityProvidersInner object