code: public Observable<VirtualNetworkGatewayInner> createOrUpdateAsync(String resourceGroupName, String virtualNetworkGatewayName, VirtualNetworkGatewayInner parameters) {
          return createOrUpdateWithServiceResponseAsync(resourceGroupName, virtualNetworkGatewayName, parameters).map(new Func1<ServiceResponse<VirtualNetworkGatewayInner>, VirtualNetworkGatewayInner>() {
              @Override
              public VirtualNetworkGatewayInner call(ServiceResponse<VirtualNetworkGatewayInner> response) {
                  return response.body();
              }
          });
      }
docs: Creates or updates a virtual network gateway in the specified resource group.
  
  @param resourceGroupName The name of the resource group.
  @param virtualNetworkGatewayName The name of the virtual network gateway.
  @param parameters Parameters supplied to create or update virtual network gateway operation.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable for the request