code: public ServiceFuture<VpnGatewayInner> beginCreateOrUpdateAsync(String resourceGroupName, String gatewayName, VpnGatewayInner vpnGatewayParameters, final ServiceCallback<VpnGatewayInner> serviceCallback) {
          return ServiceFuture.fromResponse(beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, gatewayName, vpnGatewayParameters), serviceCallback);
      }
docs: Creates a virtual wan vpn gateway if it doesn't exist else updates the existing gateway.
  
  @param resourceGroupName The resource group name of the VpnGateway.
  @param gatewayName The name of the gateway.
  @param vpnGatewayParameters Parameters supplied to create or Update a virtual wan vpn gateway.
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object