public virtual SecurityRulesCreateOrUpdateOperation StartCreateOrUpdate(string resourceGroupName, string networkSecurityGroupName, string securityRuleName, SecurityRule securityRuleParameters, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (networkSecurityGroupName == null) { throw new ArgumentNullException(nameof(networkSecurityGroupName)); } if (securityRuleName == null) { throw new ArgumentNullException(nameof(securityRuleName)); } if (securityRuleParameters == null) { throw new ArgumentNullException(nameof(securityRuleParameters)); } using var scope = _clientDiagnostics.CreateScope("SecurityRulesOperations.StartCreateOrUpdate"); scope.Start(); try { var originalResponse = RestClient.CreateOrUpdate(resourceGroupName, networkSecurityGroupName, securityRuleName, securityRuleParameters, cancellationToken); return(new SecurityRulesCreateOrUpdateOperation(_clientDiagnostics, _pipeline, RestClient.CreateCreateOrUpdateRequest(resourceGroupName, networkSecurityGroupName, securityRuleName, securityRuleParameters).Request, originalResponse)); } catch (Exception e) { scope.Failed(e); throw; } }