wonderful-napkin-50018
04/12/2021, 4:32 PMfaint-table-42725
04/12/2021, 4:36 PM// Setup a certificate and attach it to the listener.
const certificate = new aws.acm.Certificate("certificate", {
domainName: "<http://example.com|example.com>",
validationMethod: "DNS",
});
const zone = pulumi.output(aws.route53.getZone({
name: "<http://example.com|example.com>",
privateZone: false,
}));
const validationRecord = new aws.route53.Record(`cert-validation-record`, {
allowOverwrite: true,
name: certificate.domainValidationOptions[0].resourceRecordName,
records: [certificate.domainValidationOptions[0].resourceRecordValue],
ttl: 600,
type: certificate.domainValidationOptions[0].resourceRecordType,
zoneId: zone.zoneId,
});
const domainVerificationRecord = new aws.acm.CertificateValidation("cert-validation", {
certificateArn: certificate.arn,
validationRecordFqdns: [ validationRecord.fqdn ],
});
const serviceTargetGroup = new awsx.lb.ApplicationTargetGroup("service-tg", {
vpc,
loadBalancer: alb,
port: 8000,
});
const serviceListener = serviceTargetGroup.createListener("service-listener", {
vpc,
loadBalancer: alb,
certificateArn: certificate.arn,
protocol: "HTTPS",
}, { dependsOn: [ domainVerificationRecord ]});
wonderful-napkin-50018
04/12/2021, 4:37 PMstocky-address-37940
04/12/2021, 5:12 PM