public async Task SetReasonAsync( string analysisName, string analysisType, Models.FailureReason body, string job, string workitem, CancellationToken cancellationToken = default ) { if (string.IsNullOrEmpty(analysisName)) { throw new ArgumentNullException(nameof(analysisName)); } if (string.IsNullOrEmpty(analysisType)) { throw new ArgumentNullException(nameof(analysisType)); } if (body == default(Models.FailureReason)) { throw new ArgumentNullException(nameof(body)); } if (string.IsNullOrEmpty(job)) { throw new ArgumentNullException(nameof(job)); } if (string.IsNullOrEmpty(workitem)) { throw new ArgumentNullException(nameof(workitem)); } const string apiVersion = "2019-06-17"; var _baseUri = Client.Options.BaseUri; var _url = new RequestUriBuilder(); _url.Reset(_baseUri); _url.AppendPath( "/api/analysis/{job}/{analysisType}/reason".Replace("{job}", Uri.EscapeDataString(Client.Serialize(job))).Replace("{analysisType}", Uri.EscapeDataString(Client.Serialize(analysisType))), false); if (!string.IsNullOrEmpty(workitem)) { _url.AppendQuery("workitem", Client.Serialize(workitem)); } if (!string.IsNullOrEmpty(analysisName)) { _url.AppendQuery("analysisName", Client.Serialize(analysisName)); } _url.AppendQuery("api-version", Client.Serialize(apiVersion)); using (var _req = Client.Pipeline.CreateRequest()) { _req.Uri = _url; _req.Method = RequestMethod.Put; if (body != default(Models.FailureReason)) { _req.Content = RequestContent.Create(Encoding.UTF8.GetBytes(Client.Serialize(body))); _req.Headers.Add("Content-Type", "application/json; charset=utf-8"); } using (var _res = await Client.SendAsync(_req, cancellationToken).ConfigureAwait(false)) { if (_res.Status < 200 || _res.Status >= 300) { await OnSetReasonFailed(_req, _res).ConfigureAwait(false); } return; } } }