public virtual ExpressRouteCircuitPeeringsCreateOrUpdateOperation StartCreateOrUpdate(string resourceGroupName, string circuitName, string peeringName, ExpressRouteCircuitPeering peeringParameters, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (circuitName == null) { throw new ArgumentNullException(nameof(circuitName)); } if (peeringName == null) { throw new ArgumentNullException(nameof(peeringName)); } if (peeringParameters == null) { throw new ArgumentNullException(nameof(peeringParameters)); } using var scope = _clientDiagnostics.CreateScope("ExpressRouteCircuitPeeringsOperations.StartCreateOrUpdate"); scope.Start(); try { var originalResponse = RestClient.CreateOrUpdate(resourceGroupName, circuitName, peeringName, peeringParameters, cancellationToken); return(new ExpressRouteCircuitPeeringsCreateOrUpdateOperation(_clientDiagnostics, _pipeline, RestClient.CreateCreateOrUpdateRequest(resourceGroupName, circuitName, peeringName, peeringParameters).Request, originalResponse)); } catch (Exception e) { scope.Failed(e); throw; } }