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);
        }
Example #2
0
        public static async Task <(string Certificate, string CertificateChain)> GetCertificateByDomainName(this ACMHelper acm, string domainName, CancellationToken cancellationToken = default(CancellationToken))
        {
            var cd = await acm.DescribeCertificateByDomainName(domainName, cancellationToken);

            var cert = await acm.GetCertificateAsync(cd.CertificateArn, cancellationToken);

            return(cert.Certificate, cert.CertificateChain);
        }