sparse-intern-71089
07/22/2022, 12:43 AMbillowy-army-68599
crooked-laptop-67565
07/22/2022, 1:03 AMcrooked-laptop-67565
07/22/2022, 1:03 AMcrooked-laptop-67565
07/22/2022, 1:04 AMbillowy-army-68599
billowy-army-68599
crooked-laptop-67565
07/22/2022, 1:51 AMcrooked-laptop-67565
07/22/2022, 1:51 AMconst publicDomainName = `${env}.<http://pyrratech.com|pyrratech.com>`;
const route53PublicZone = new aws.route53.Zone(name("public"), {
  name: publicDomainName
});
const acmCertificate = new aws.acm.Certificate(name("certificate"), {
  domainName: `*.${publicDomainName}`,
  validationMethod: "DNS",
});
// Create domain validation records required to validate the certificate
const certificateValidation = acmCertificate.domainValidationOptions
  .apply((options) => {
    return options.map((option, index) => {
      return new aws.route53.Record(name(`certValidation-${index}`), {
        allowOverwrite: true,
        name: option.resourceRecordName,
        records: [option.resourceRecordValue],
        ttl: 60,
        type: option.resourceRecordType,
        zoneId: route53PublicZone.zoneId,
      });
    });
  })
  .apply((route53Records) => {
    return new aws.acm.CertificateValidation(name("certificateValidation"), {
      certificateArn: acmCertificate.arn,
      validationRecordFqdns: route53Records.map(
        (exampleRecord) => exampleRecord.fqdn
      ),
    });
  });crooked-laptop-67565
07/22/2022, 1:53 AMname is a helper function for consistent naming, it just prepends pulumi-${env}- to its argument)crooked-laptop-67565
07/22/2022, 1:54 AMcrooked-laptop-67565
07/22/2022, 1:54 AMcrooked-laptop-67565
07/22/2022, 1:59 AM