Example #1
0
        public static async Task <CertificateDetail> DescribeCertificateByDomainName(this ACMHelper acm, string domainName, CancellationToken cancellationToken = default(CancellationToken))
        {
            var certificatesSummary = await acm.ListCertificatesAsync(cancellationToken);

            var named   = certificatesSummary.Where(x => x.DomainName == domainName);
            var details = await named.ForEachAsync(cs => acm.DescribeCertificateAsync(cs.CertificateArn, cancellationToken),
                                                   acm._maxDegreeOfParalelism, cancellationToken);

            return(details.OrderByDescending(x => x.Certificate.IssuedAt)
                   .FirstOrDefault(x => x.Certificate.Status == CertificateStatus.ISSUED)?.Certificate);
        }