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