code: public Observable<ExpressRouteGatewayInner> beginCreateOrUpdateAsync(String resourceGroupName, String expressRouteGatewayName, ExpressRouteGatewayInner putExpressRouteGatewayParameters) {
          return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, expressRouteGatewayName, putExpressRouteGatewayParameters).map(new Func1<ServiceResponse<ExpressRouteGatewayInner>, ExpressRouteGatewayInner>() {
              @Override
              public ExpressRouteGatewayInner call(ServiceResponse<ExpressRouteGatewayInner> response) {
                  return response.body();
              }
          });
      }
docs: Creates or updates a ExpressRoute gateway in a specified resource group.
  
  @param resourceGroupName The name of the resource group.
  @param expressRouteGatewayName The name of the ExpressRoute gateway.
  @param putExpressRouteGatewayParameters Parameters required in an ExpressRoute gateway PUT operation.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the ExpressRouteGatewayInner object