billowy-laptop-45963
08/09/2019, 8:56 PMconst cert = new aws.acm.Certificate("cert", {
domainName : opts.domainName,
subjectAlternativeNames: opts.sans,
validationMethod : "DNS",
});
const certValidations = cert.domainValidationOptions.apply((validationOptions) => {
return validationOptions.map((validationOption, i) => {
const resourceName = `cert_validation${i}`;
return new aws.route53.Record(resourceName, {
records: [validationOption.resourceRecordValue],
ttl: 60,
type: validationOption.resourceRecordType,
zoneId: zone.id,
})
});
});
const certValidation = new aws.acm.CertificateValidation("cert", {
certificateArn: cert.arn,
validationRecordFqdns: certValidations.apply((validations) => {
return validations.map(validation => validation.fqdn);
})
})
white-balloon-205
// Get certificate for desired endpoint
const certificate = new aws.acm.Certificate(name, {
domainName: domainName,
validationMethod: "DNS",
}, { provider: awsEastProvider });
const hostedZoneId = aws.route53.getZone({
name: hostedZone,
}, { provider: awsProvider }).then(zone => zone.id);
const certificateValidationRecord = new aws.route53.Record(`${name}-validation`, {
name: certificate.domainValidationOptions.apply(opt => opt[0].resourceRecordName),
type: certificate.domainValidationOptions.apply(opt => opt[0].resourceRecordType),
zoneId: hostedZoneId,
records: [certificate.domainValidationOptions.apply(opt => opt[0].resourceRecordValue)],
ttl: 60,
}, { provider: awsProvider });
const certificateValidation = new aws.acm.CertificateValidation(name, {
certificateArn: certificate.arn,
validationRecordFqdns: [certificateValidationRecord.fqdn],
}, { provider: awsEastProvider });
billowy-laptop-45963
08/12/2019, 8:16 PM