public async Task <IActionResult> GetManagedCertificates(string keyword) { var managedCerts = await _client.GetManagedCertificates(new Models.ManagedCertificateFilter { Keyword = keyword }); //TODO: this assumes all identifiers are DNS, may be IPs in the future. var list = managedCerts.Select(i => new ManagedCertificateInfo { Id = WebUtility.UrlEncode(i.Id), Title = i.Name, PrimaryIdentifier = new Identifier { Type = "dns", Value = i.RequestConfig.PrimaryDomain }, Identifiers = i.RequestConfig.SubjectAlternativeNames.Select(s => new Identifier { Type = "dns", Value = s }), DateRenewed = i.DateRenewed, DateExpiry = i.DateExpiry, Comments = i.Comments, Status = i.LastRenewalStatus?.ToString() ?? "", HasCertificate = !string.IsNullOrEmpty(i.CertificatePath) }); return(new OkObjectResult(list)); }
public async Task <IActionResult> Get(string keyword) { var managedCerts = await _client.GetManagedCertificates(new Models.ManagedCertificateFilter { Keyword = keyword }); var list = managedCerts.Select(i => new ManagedCertificateInfo { Id = i.Id, Title = i.Name, PrimaryDomain = i.RequestConfig.PrimaryDomain, Domains = i.RequestConfig.SubjectAlternativeNames, DateRenewed = i.DateRenewed, DateExpiry = i.DateExpiry }); return(new OkObjectResult(list)); }
public async Task <List <ActionStep> > PerformDeployment(string managedCertificateId, string taskId = null, bool isPreview = false, bool forceTaskExecute = false) { var managedCertificates = await _client.GetManagedCertificates(new ManagedCertificateFilter { Id = managedCertificateId }); if (managedCertificates.Count == 1) { var managedCert = managedCertificates.Single(); if (!string.IsNullOrEmpty(taskId)) { // identify specific task var task = managedCert.PostRequestTasks.FirstOrDefault(t => t.Id.ToLowerInvariant().Trim() == taskId.ToLowerInvariant().Trim()); if (task != null) { return(await _client.PerformDeployment(managedCert.Id, task.Id, isPreviewOnly : isPreview, forceTaskExecute : forceTaskExecute)); } else { // no match, nothing to do return(new List <ActionStep> { }); } } else { // perform all deployment tasks return(await _client.PerformDeployment(managedCert.Id, null, isPreviewOnly : isPreview, forceTaskExecute : forceTaskExecute)); } } else { // no matches return(new List <ActionStep> { new ActionStep { HasError = true, Description = "Managed Certificate not found for given Id. Deployment failed." } }); } }