@sylvesterllc/aws-constructs 1.1.69 → 1.1.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,6 +10,7 @@ describe("SpaCFRoute53", () => {
10
10
  cloudfrontName: "testsite-cf",
11
11
  domainName: "example.com",
12
12
  fqdn: "spa.example.com",
13
+ hostedZoneId: "ZTEST1234567890",
13
14
  };
14
15
 
15
16
  it("provisions a private, versioned, encrypted S3 bucket with access logging", () => {
@@ -46,26 +46,22 @@ class SpaCFRoute53 extends constructs_1.Construct {
46
46
  // Route53 hosted zone
47
47
  // Prefer direct import when a hostedZoneId is provided; use a dummy hosted zone for tests;
48
48
  // otherwise perform a lookup in the current account.
49
- const hostedZone = props.domainName === "example.com"
49
+ const hostedZone = props.hostedZoneId
50
50
  ? aws_route53_1.HostedZone.fromHostedZoneAttributes(this, "HostedZone", {
51
- hostedZoneId: "Z000000000000000TEST",
51
+ hostedZoneId: props.hostedZoneId,
52
52
  zoneName: props.domainName,
53
53
  })
54
- : props.hostedZoneId
55
- ? aws_route53_1.HostedZone.fromHostedZoneAttributes(this, "HostedZone", {
56
- hostedZoneId: props.hostedZoneId,
57
- zoneName: props.domainName,
58
- })
59
- : aws_route53_1.HostedZone.fromLookup(this, "HostedZone", {
60
- domainName: props.domainName,
61
- });
54
+ : aws_route53_1.HostedZone.fromLookup(this, "HostedZone", {
55
+ domainName: props.domainName,
56
+ });
62
57
  // ACM certificate (must be in us-east-1 for CloudFront)
63
58
  // Create a DNS-validated certificate in us-east-1 and tag it with a friendly name
64
- const certificate = new aws_certificatemanager_1.DnsValidatedCertificate(this, "SpaCert", {
65
- domainName: props.fqdn,
66
- hostedZone,
67
- region: "us-east-1",
68
- subjectAlternativeNames: props.domainName && props.domainName !== props.fqdn ? [props.domainName] : undefined,
59
+ const certificate = new aws_certificatemanager_1.Certificate(this, "SpaCert", {
60
+ domainName: props.domainName,
61
+ subjectAlternativeNames: [
62
+ props.fqdn,
63
+ ],
64
+ validation: aws_certificatemanager_1.CertificateValidation.fromDns(hostedZone),
69
65
  });
70
66
  // Tag for visibility in console: "Certificate name"
71
67
  aws_cdk_lib_1.Tags.of(certificate).add("Name", `${props.siteName}-cert-cf`);
@@ -122,4 +118,4 @@ class SpaCFRoute53 extends constructs_1.Construct {
122
118
  }
123
119
  }
124
120
  exports.SpaCFRoute53 = SpaCFRoute53;
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BhQ0ZSb3V0ZTUzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvU3BhQ0ZSb3V0ZTUzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF1QztBQUN2QywrQ0FNNEI7QUFDNUIsK0RBT29DO0FBQ3BDLCtFQUE4RDtBQUM5RCwrRUFBMkY7QUFDM0YseURBS2lDO0FBQ2pDLHlFQUFtRTtBQUVuRSw2Q0FBNEQ7QUFDNUQsMENBQXVDO0FBRXZDLE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBQ3pCLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBZTtJQUMzQixzQkFBc0IsQ0FBUztJQUMvQixjQUFjLENBQVM7SUFDdkIsVUFBVSxDQUFTO0lBRW5DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLDhDQUE4QztRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFBLFdBQUksR0FBRSxDQUFDO1FBRXhCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZUFBTSxDQUMxQixJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsUUFBUSxFQUFFLEVBQy9EO1lBQ0UsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztZQUNwQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGNBQWMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkQsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsU0FBUztZQUM5QyxVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtZQUN2QyxTQUFTLEVBQUUsS0FBSztZQUNoQixrRkFBa0Y7WUFDbEYsZUFBZSxFQUFFLHdCQUFlLENBQUMsYUFBYTtZQUM5QyxhQUFhLEVBQUUsNEJBQW1CLENB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Q0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsa0JBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsa0JBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELGtCQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRjtBQXRJRCxvQ0FzSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQnVja2V0LFxuICBCbG9ja1B1YmxpY0FjY2VzcyxcbiAgQnVja2V0RW5jcnlwdGlvbixcbiAgQnVja2V0QWNjZXNzQ29udHJvbCxcbiAgT2JqZWN0T3duZXJzaGlwLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQge1xuICBEaXN0cmlidXRpb24sXG4gIFZpZXdlclByb3RvY29sUG9saWN5LFxuICBBbGxvd2VkTWV0aG9kcyxcbiAgUHJpY2VDbGFzcyxcbiAgUmVzcG9uc2VIZWFkZXJzUG9saWN5LFxuICBDZm5EaXN0cmlidXRpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udFwiO1xuaW1wb3J0IHsgUzNPcmlnaW4gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2luc1wiO1xuaW1wb3J0IHsgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUsIElDZXJ0aWZpY2F0ZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge1xuICBIb3N0ZWRab25lLFxuICBJSG9zdGVkWm9uZSxcbiAgQVJlY29yZCxcbiAgUmVjb3JkVGFyZ2V0LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IENsb3VkRnJvbnRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHsgU3BhUHJvcHMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9TcGFQcm9wc1wiO1xuaW1wb3J0IHsgVGFncywgUmVtb3ZhbFBvbGljeSwgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHVsaWQgfSBmcm9tIFwiLi4vaGVscGVycy91bGlkXCI7XG5cbmV4cG9ydCBjbGFzcyBTcGFDRlJvdXRlNTMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0OiBCdWNrZXQ7XG4gIHB1YmxpYyByZWFkb25seSBkaXN0cmlidXRpb246IERpc3RyaWJ1dGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbkRvbWFpbk5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBsb2dzQnVja2V0OiBCdWNrZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNwYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIEdlbmVyYXRlIGEgdW5pcXVlIHN1ZmZpeCBmb3IgcmVzb3VyY2UgbmFtZXNcbiAgICBjb25zdCB1bmlxdWVJZCA9IHVsaWQoKTtcblxuICAgIC8vIExvZ3MgYnVja2V0IHdpdGggMTQtZGF5IHJldGVudGlvblxuICAgIHRoaXMubG9nc0J1Y2tldCA9IG5ldyBCdWNrZXQoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZG9tYWluTmFtZT8udG9Mb3dlckNhc2UoKX0tc3BhLWJ1Y2tldC1sb2ctJHt1bmlxdWVJZH1gLFxuICAgICAge1xuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgICAgICBsaWZlY3ljbGVSdWxlczogW3sgZXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cygxNCkgfV0sXG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBCbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgICAgdmVyc2lvbmVkOiBmYWxzZSxcbiAgICAgICAgLy8gQ2xvdWRGcm9udCBzdGFuZGFyZCBsb2dzIHJlcXVpcmUgQUNMczsgZW5hYmxlIHRoZW0gYW5kIGdyYW50IGxvZyBkZWxpdmVyeSB3cml0ZVxuICAgICAgICBvYmplY3RPd25lcnNoaXA6IE9iamVjdE93bmVyc2hpcC5PQkpFQ1RfV1JJVEVSLFxuICAgICAgICBhY2Nlc3NDb250cm9sOiBCdWNrZXRBY2Nlc3NDb250cm9sLkxPR19ERUxJVkVSWV9XUklURSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8vIE1haW4gU1BBIGJ1Y2tldFxuICAgIHRoaXMuYnVja2V0ID0gbmV3IEJ1Y2tldChcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kb21haW5OYW1lPy50b0xvd2VyQ2FzZSgpfS1zcGEtYnVja2V0LSR7dW5pcXVlSWR9YCxcbiAgICAgIHtcbiAgICAgICAgYnVja2V0TmFtZTogcHJvcHMuYnVja2V0TmFtZSxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IEJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgICAgZW5jcnlwdGlvbjogQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgICAgIHNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQ6IHRoaXMubG9nc0J1Y2tldCxcbiAgICAgICAgc2VydmVyQWNjZXNzTG9nc1ByZWZpeDogXCJzcGEvXCIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBSb3V0ZTUzIGhvc3RlZCB6b25lXG4gICAgLy8gUHJlZmVyIGRpcmVjdCBpbXBvcnQgd2hlbiBhIGhvc3RlZFpvbmVJZCBpcyBwcm92aWRlZDsgdXNlIGEgZHVtbXkgaG9zdGVkIHpvbmUgZm9yIHRlc3RzO1xuICAgIC8vIG90aGVyd2lzZSBwZXJmb3JtIGEgbG9va3VwIGluIHRoZSBjdXJyZW50IGFjY291bnQuXG4gICAgY29uc3QgaG9zdGVkWm9uZTogSUhvc3RlZFpvbmUgPVxuICAgICAgcHJvcHMuZG9tYWluTmFtZSA9PT0gXCJleGFtcGxlLmNvbVwiXG4gICAgICAgID8gSG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXModGhpcywgXCJIb3N0ZWRab25lXCIsIHtcbiAgICAgICAgICAgIGhvc3RlZFpvbmVJZDogXCJaMDAwMDAwMDAwMDAwMDAwVEVTVFwiLFxuICAgICAgICAgICAgem9uZU5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBwcm9wcy5ob3N0ZWRab25lSWRcbiAgICAgICAgPyBIb3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyh0aGlzLCBcIkhvc3RlZFpvbmVcIiwge1xuICAgICAgICAgICAgaG9zdGVkWm9uZUlkOiBwcm9wcy5ob3N0ZWRab25lSWQsXG4gICAgICAgICAgICB6b25lTmFtZTogcHJvcHMuZG9tYWluTmFtZSxcbiAgICAgICAgICB9KVxuICAgICAgICA6IEhvc3RlZFpvbmUuZnJvbUxvb2t1cCh0aGlzLCBcIkhvc3RlZFpvbmVcIiwge1xuICAgICAgICAgICAgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSxcbiAgICAgICAgICB9KTtcblxuICAgIC8vIEFDTSBjZXJ0aWZpY2F0ZSAobXVzdCBiZSBpbiB1cy1lYXN0LTEgZm9yIENsb3VkRnJvbnQpXG4gICAgLy8gQ3JlYXRlIGEgRE5TLXZhbGlkYXRlZCBjZXJ0aWZpY2F0ZSBpbiB1cy1lYXN0LTEgYW5kIHRhZyBpdCB3aXRoIGEgZnJpZW5kbHkgbmFtZVxuICAgIGNvbnN0IGNlcnRpZmljYXRlOiBJQ2VydGlmaWNhdGUgPSBuZXcgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgXCJTcGFDZXJ0XCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmZxZG4sXG4gICAgICBob3N0ZWRab25lLFxuICAgICAgcmVnaW9uOiBcInVzLWVhc3QtMVwiLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IHByb3BzLmRvbWFpbk5hbWUgJiYgcHJvcHMuZG9tYWluTmFtZSAhPT0gcHJvcHMuZnFkbiA/IFtwcm9wcy5kb21haW5OYW1lXSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICAvLyBUYWcgZm9yIHZpc2liaWxpdHkgaW4gY29uc29sZTogXCJDZXJ0aWZpY2F0ZSBuYW1lXCJcbiAgICBUYWdzLm9mKGNlcnRpZmljYXRlKS5hZGQoXCJOYW1lXCIsIGAke3Byb3BzLnNpdGVOYW1lfS1jZXJ0LWNmYCk7XG5cbiAgICAvLyBDbG91ZEZyb250IGRpc3RyaWJ1dGlvblxuICAgIHRoaXMuZGlzdHJpYnV0aW9uID0gbmV3IERpc3RyaWJ1dGlvbih0aGlzLCBcIlNwYURpc3RyaWJ1dGlvblwiLCB7XG4gICAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgICAgb3JpZ2luOiBuZXcgUzNPcmlnaW4odGhpcy5idWNrZXQpLFxuICAgICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgICAgIGFsbG93ZWRNZXRob2RzOiBBbGxvd2VkTWV0aG9kcy5BTExPV19HRVRfSEVBRCxcbiAgICAgICAgY2FjaGVQb2xpY3k6IHVuZGVmaW5lZCwgLy8gQ3VzdG9tIGNhY2hlIHBvbGljeSBjYW4gYmUgYWRkZWRcbiAgICAgICAgY29tcHJlc3M6IHRydWUsXG4gICAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeTpcbiAgICAgICAgICBSZXNwb25zZUhlYWRlcnNQb2xpY3kuQ09SU19BTExPV19BTExfT1JJR0lOU19XSVRIX1BSRUZMSUdIVF9BTkRfU0VDVVJJVFlfSEVBREVSUyxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Um9vdE9iamVjdDogXCJpbmRleC5odG1sXCIsXG4gICAgICBkb21haW5OYW1lczogW3Byb3BzLmZxZG5dLFxuICAgICAgY2VydGlmaWNhdGUsXG4gICAgICBwcmljZUNsYXNzOiBQcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMCxcbiAgICAgIGVuYWJsZUxvZ2dpbmc6IHRydWUsXG4gICAgICBsb2dCdWNrZXQ6IHRoaXMubG9nc0J1Y2tldCxcbiAgICAgIGxvZ0ZpbGVQcmVmaXg6IFwiY2xvdWRmcm9udC9cIixcbiAgICAgIGVycm9yUmVzcG9uc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDMsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogXCIvaW5kZXguaHRtbFwiLFxuICAgICAgICAgIHR0bDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGh0dHBTdGF0dXM6IDQwNCxcbiAgICAgICAgICByZXNwb25zZUh0dHBTdGF0dXM6IDIwMCxcbiAgICAgICAgICByZXNwb25zZVBhZ2VQYXRoOiBcIi9pbmRleC5odG1sXCIsXG4gICAgICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIC8vIEZvcmNlIFRMUyAxLjMgaW4gdGhlIHN5bnRoZXNpemVkIHRlbXBsYXRlIHRvIHNhdGlzZnkgdGVzdHNcbiAgICBjb25zdCBjZm5EaXN0ID0gdGhpcy5kaXN0cmlidXRpb24ubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuRGlzdHJpYnV0aW9uO1xuICAgIGNmbkRpc3QuYWRkUHJvcGVydHlPdmVycmlkZShcbiAgICAgIFwiRGlzdHJpYnV0aW9uQ29uZmlnLlZpZXdlckNlcnRpZmljYXRlLk1pbmltdW1Qcm90b2NvbFZlcnNpb25cIixcbiAgICAgIFwiVExTdjEuM18yMDI1XCIsXG4gICAgKTtcblxuICAgIHRoaXMuZGlzdHJpYnV0aW9uRG9tYWluTmFtZSA9IHRoaXMuZGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbkRvbWFpbk5hbWU7XG4gICAgdGhpcy5kaXN0cmlidXRpb25JZCA9IHRoaXMuZGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbklkO1xuXG4gICAgLy8gUm91dGU1MyBhbGlhcyByZWNvcmRcbiAgICBuZXcgQVJlY29yZCh0aGlzLCBcIlNwYUFsaWFzUmVjb3JkXCIsIHtcbiAgICAgIHpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICByZWNvcmROYW1lOiBwcm9wcy5mcWRuLFxuICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyBDbG91ZEZyb250VGFyZ2V0KHRoaXMuZGlzdHJpYnV0aW9uKSksXG4gICAgfSk7XG5cbiAgICAvLyBUYWdnaW5nXG4gICAgVGFncy5vZih0aGlzLmJ1Y2tldCkuYWRkKFwiQXBwXCIsIHByb3BzLnNpdGVOYW1lKTtcbiAgICBUYWdzLm9mKHRoaXMuYnVja2V0KS5hZGQoXCJSZXNvdXJjZVByZWZpeFwiLCBwcm9wcy5zaXRlTmFtZSk7XG4gICAgVGFncy5vZih0aGlzLmRpc3RyaWJ1dGlvbikuYWRkKFwiQXBwXCIsIHByb3BzLnNpdGVOYW1lKTtcbiAgICBUYWdzLm9mKHRoaXMuZGlzdHJpYnV0aW9uKS5hZGQoXCJSZXNvdXJjZVByZWZpeFwiLCBwcm9wcy5zaXRlTmFtZSk7XG4gICAgVGFncy5vZih0aGlzLmxvZ3NCdWNrZXQpLmFkZChcIkFwcFwiLCBwcm9wcy5zaXRlTmFtZSk7XG4gICAgVGFncy5vZih0aGlzLmxvZ3NCdWNrZXQpLmFkZChcIlJlc291cmNlUHJlZml4XCIsIHByb3BzLnNpdGVOYW1lKTtcbiAgfVxufVxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BhQ0ZSb3V0ZTUzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvU3BhQ0ZSb3V0ZTUzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF1QztBQUN2QywrQ0FNNEI7QUFDNUIsK0RBT29DO0FBQ3BDLCtFQUE4RDtBQUM5RCwrRUFBK0g7QUFDL0gseURBS2lDO0FBQ2pDLHlFQUFtRTtBQUVuRSw2Q0FBNEQ7QUFDNUQsMENBQXVDO0FBRXZDLE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBQ3pCLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBZTtJQUMzQixzQkFBc0IsQ0FBUztJQUMvQixjQUFjLENBQVM7SUFDdkIsVUFBVSxDQUFTO0lBRW5DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLDhDQUE4QztRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFBLFdBQUksR0FBRSxDQUFDO1FBRXhCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZUFBTSxDQUMxQixJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsUUFBUSxFQUFFLEVBQy9EO1lBQ0UsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztZQUNwQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGNBQWMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkQsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsU0FBUztZQUM5QyxVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtZQUN2QyxTQUFTLEVBQUUsS0FBSztZQUNoQixrRkFBa0Y7WUFDbEYsZUFBZSxFQUFFLHdCQUFlLENBQUMsYUFBYTtZQUM5QyxhQUFhLEVBQUUsNEJBQW1CLENB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SUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELGtCQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRjtBQWxJRCxvQ0FrSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQnVja2V0LFxuICBCbG9ja1B1YmxpY0FjY2VzcyxcbiAgQnVja2V0RW5jcnlwdGlvbixcbiAgQnVja2V0QWNjZXNzQ29udHJvbCxcbiAgT2JqZWN0T3duZXJzaGlwLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQge1xuICBEaXN0cmlidXRpb24sXG4gIFZpZXdlclByb3RvY29sUG9saWN5LFxuICBBbGxvd2VkTWV0aG9kcyxcbiAgUHJpY2VDbGFzcyxcbiAgUmVzcG9uc2VIZWFkZXJzUG9saWN5LFxuICBDZm5EaXN0cmlidXRpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udFwiO1xuaW1wb3J0IHsgUzNPcmlnaW4gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2luc1wiO1xuaW1wb3J0IHsgQ2VydGlmaWNhdGUsIENlcnRpZmljYXRlVmFsaWRhdGlvbiwgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUsIElDZXJ0aWZpY2F0ZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge1xuICBIb3N0ZWRab25lLFxuICBJSG9zdGVkWm9uZSxcbiAgQVJlY29yZCxcbiAgUmVjb3JkVGFyZ2V0LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IENsb3VkRnJvbnRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHsgU3BhUHJvcHMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9TcGFQcm9wc1wiO1xuaW1wb3J0IHsgVGFncywgUmVtb3ZhbFBvbGljeSwgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHVsaWQgfSBmcm9tIFwiLi4vaGVscGVycy91bGlkXCI7XG5cbmV4cG9ydCBjbGFzcyBTcGFDRlJvdXRlNTMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0OiBCdWNrZXQ7XG4gIHB1YmxpYyByZWFkb25seSBkaXN0cmlidXRpb246IERpc3RyaWJ1dGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbkRvbWFpbk5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBsb2dzQnVja2V0OiBCdWNrZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNwYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIEdlbmVyYXRlIGEgdW5pcXVlIHN1ZmZpeCBmb3IgcmVzb3VyY2UgbmFtZXNcbiAgICBjb25zdCB1bmlxdWVJZCA9IHVsaWQoKTtcblxuICAgIC8vIExvZ3MgYnVja2V0IHdpdGggMTQtZGF5IHJldGVudGlvblxuICAgIHRoaXMubG9nc0J1Y2tldCA9IG5ldyBCdWNrZXQoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZG9tYWluTmFtZT8udG9Mb3dlckNhc2UoKX0tc3BhLWJ1Y2tldC1sb2ctJHt1bmlxdWVJZH1gLFxuICAgICAge1xuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgICAgICBsaWZlY3ljbGVSdWxlczogW3sgZXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cygxNCkgfV0sXG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBCbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgICAgdmVyc2lvbmVkOiBmYWxzZSxcbiAgICAgICAgLy8gQ2xvdWRGcm9udCBzdGFuZGFyZCBsb2dzIHJlcXVpcmUgQUNMczsgZW5hYmxlIHRoZW0gYW5kIGdyYW50IGxvZyBkZWxpdmVyeSB3cml0ZVxuICAgICAgICBvYmplY3RPd25lcnNoaXA6IE9iamVjdE93bmVyc2hpcC5PQkpFQ1RfV1JJVEVSLFxuICAgICAgICBhY2Nlc3NDb250cm9sOiBCdWNrZXRBY2Nlc3NDb250cm9sLkxPR19ERUxJVkVSWV9XUklURSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8vIE1haW4gU1BBIGJ1Y2tldFxuICAgIHRoaXMuYnVja2V0ID0gbmV3IEJ1Y2tldChcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kb21haW5OYW1lPy50b0xvd2VyQ2FzZSgpfS1zcGEtYnVja2V0LSR7dW5pcXVlSWR9YCxcbiAgICAgIHtcbiAgICAgICAgYnVja2V0TmFtZTogcHJvcHMuYnVja2V0TmFtZSxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IEJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgICAgZW5jcnlwdGlvbjogQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgICAgIHNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQ6IHRoaXMubG9nc0J1Y2tldCxcbiAgICAgICAgc2VydmVyQWNjZXNzTG9nc1ByZWZpeDogXCJzcGEvXCIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBSb3V0ZTUzIGhvc3RlZCB6b25lXG4gICAgLy8gUHJlZmVyIGRpcmVjdCBpbXBvcnQgd2hlbiBhIGhvc3RlZFpvbmVJZCBpcyBwcm92aWRlZDsgdXNlIGEgZHVtbXkgaG9zdGVkIHpvbmUgZm9yIHRlc3RzO1xuICAgIC8vIG90aGVyd2lzZSBwZXJmb3JtIGEgbG9va3VwIGluIHRoZSBjdXJyZW50IGFjY291bnQuXG4gICAgY29uc3QgaG9zdGVkWm9uZTogSUhvc3RlZFpvbmUgPVxuICAgICAgcHJvcHMuaG9zdGVkWm9uZUlkXG4gICAgICAgID8gSG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXModGhpcywgXCJIb3N0ZWRab25lXCIsIHtcbiAgICAgICAgICAgIGhvc3RlZFpvbmVJZDogcHJvcHMuaG9zdGVkWm9uZUlkLFxuICAgICAgICAgICAgem9uZU5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBIb3N0ZWRab25lLmZyb21Mb29rdXAodGhpcywgXCJIb3N0ZWRab25lXCIsIHtcbiAgICAgICAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICAgICAgfSk7XG5cbiAgICAvLyBBQ00gY2VydGlmaWNhdGUgKG11c3QgYmUgaW4gdXMtZWFzdC0xIGZvciBDbG91ZEZyb250KVxuICAgIC8vIENyZWF0ZSBhIEROUy12YWxpZGF0ZWQgY2VydGlmaWNhdGUgaW4gdXMtZWFzdC0xIGFuZCB0YWcgaXQgd2l0aCBhIGZyaWVuZGx5IG5hbWVcbiAgICBjb25zdCBjZXJ0aWZpY2F0ZTogSUNlcnRpZmljYXRlID0gbmV3IENlcnRpZmljYXRlKHRoaXMsIFwiU3BhQ2VydFwiLCB7XG4gICAgICBkb21haW5OYW1lOiBwcm9wcy5kb21haW5OYW1lLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IFtcbiAgICAgICAgcHJvcHMuZnFkbiwgICAgICAgXG4gICAgICBdLFxuICAgICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyhob3N0ZWRab25lKSxcbiAgICB9KTtcbiAgICAvLyBUYWcgZm9yIHZpc2liaWxpdHkgaW4gY29uc29sZTogXCJDZXJ0aWZpY2F0ZSBuYW1lXCJcbiAgICBUYWdzLm9mKGNlcnRpZmljYXRlKS5hZGQoXCJOYW1lXCIsIGAke3Byb3BzLnNpdGVOYW1lfS1jZXJ0LWNmYCk7XG5cbiAgICAvLyBDbG91ZEZyb250IGRpc3RyaWJ1dGlvblxuICAgIHRoaXMuZGlzdHJpYnV0aW9uID0gbmV3IERpc3RyaWJ1dGlvbih0aGlzLCBcIlNwYURpc3RyaWJ1dGlvblwiLCB7XG4gICAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgICAgb3JpZ2luOiBuZXcgUzNPcmlnaW4odGhpcy5idWNrZXQpLFxuICAgICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgICAgIGFsbG93ZWRNZXRob2RzOiBBbGxvd2VkTWV0aG9kcy5BTExPV19HRVRfSEVBRCxcbiAgICAgICAgY2FjaGVQb2xpY3k6IHVuZGVmaW5lZCwgLy8gQ3VzdG9tIGNhY2hlIHBvbGljeSBjYW4gYmUgYWRkZWRcbiAgICAgICAgY29tcHJlc3M6IHRydWUsXG4gICAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeTpcbiAgICAgICAgICBSZXNwb25zZUhlYWRlcnNQb2xpY3kuQ09SU19BTExPV19BTExfT1JJR0lOU19XSVRIX1BSRUZMSUdIVF9BTkRfU0VDVVJJVFlfSEVBREVSUyxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Um9vdE9iamVjdDogXCJpbmRleC5odG1sXCIsXG4gICAgICBkb21haW5OYW1lczogW3Byb3BzLmZxZG5dLFxuICAgICAgY2VydGlmaWNhdGUsXG4gICAgICBwcmljZUNsYXNzOiBQcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMCxcbiAgICAgIGVuYWJsZUxvZ2dpbmc6IHRydWUsXG4gICAgICBsb2dCdWNrZXQ6IHRoaXMubG9nc0J1Y2tldCxcbiAgICAgIGxvZ0ZpbGVQcmVmaXg6IFwiY2xvdWRmcm9udC9cIixcbiAgICAgIGVycm9yUmVzcG9uc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDMsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogXCIvaW5kZXguaHRtbFwiLFxuICAgICAgICAgIHR0bDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGh0dHBTdGF0dXM6IDQwNCxcbiAgICAgICAgICByZXNwb25zZUh0dHBTdGF0dXM6IDIwMCxcbiAgICAgICAgICByZXNwb25zZVBhZ2VQYXRoOiBcIi9pbmRleC5odG1sXCIsXG4gICAgICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIC8vIEZvcmNlIFRMUyAxLjMgaW4gdGhlIHN5bnRoZXNpemVkIHRlbXBsYXRlIHRvIHNhdGlzZnkgdGVzdHNcbiAgICBjb25zdCBjZm5EaXN0ID0gdGhpcy5kaXN0cmlidXRpb24ubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuRGlzdHJpYnV0aW9uO1xuICAgIGNmbkRpc3QuYWRkUHJvcGVydHlPdmVycmlkZShcbiAgICAgIFwiRGlzdHJpYnV0aW9uQ29uZmlnLlZpZXdlckNlcnRpZmljYXRlLk1pbmltdW1Qcm90b2NvbFZlcnNpb25cIixcbiAgICAgIFwiVExTdjEuM18yMDI1XCIsXG4gICAgKTtcblxuICAgIHRoaXMuZGlzdHJpYnV0aW9uRG9tYWluTmFtZSA9IHRoaXMuZGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbkRvbWFpbk5hbWU7XG4gICAgdGhpcy5kaXN0cmlidXRpb25JZCA9IHRoaXMuZGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbklkO1xuXG4gICAgLy8gUm91dGU1MyBhbGlhcyByZWNvcmRcbiAgICBuZXcgQVJlY29yZCh0aGlzLCBcIlNwYUFsaWFzUmVjb3JkXCIsIHtcbiAgICAgIHpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICByZWNvcmROYW1lOiBwcm9wcy5mcWRuLFxuICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyBDbG91ZEZyb250VGFyZ2V0KHRoaXMuZGlzdHJpYnV0aW9uKSksXG4gICAgfSk7XG5cbiAgICAvLyBUYWdnaW5nXG4gICAgVGFncy5vZih0aGlzLmJ1Y2tldCkuYWRkKFwiQXBwXCIsIHByb3BzLnNpdGVOYW1lKTtcbiAgICBUYWdzLm9mKHRoaXMuYnVja2V0KS5hZGQoXCJSZXNvdXJjZVByZWZpeFwiLCBwcm9wcy5zaXRlTmFtZSk7XG4gICAgVGFncy5vZih0aGlzLmRpc3RyaWJ1dGlvbikuYWRkKFwiQXBwXCIsIHByb3BzLnNpdGVOYW1lKTtcbiAgICBUYWdzLm9mKHRoaXMuZGlzdHJpYnV0aW9uKS5hZGQoXCJSZXNvdXJjZVByZWZpeFwiLCBwcm9wcy5zaXRlTmFtZSk7XG4gICAgVGFncy5vZih0aGlzLmxvZ3NCdWNrZXQpLmFkZChcIkFwcFwiLCBwcm9wcy5zaXRlTmFtZSk7XG4gICAgVGFncy5vZih0aGlzLmxvZ3NCdWNrZXQpLmFkZChcIlJlc291cmNlUHJlZml4XCIsIHByb3BzLnNpdGVOYW1lKTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.1.69",
3
+ "version": "1.1.70",
4
4
  "description": "AWS Constructs",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [
@@ -11,7 +11,7 @@
11
11
  "build": "npm run clean && tsc",
12
12
  "build:layers": "cd ./src/resources/layers/common && pnpm i && tsc",
13
13
  "watch": "tsc -w",
14
- "test": "bun test",
14
+ "test": "jest --passWithNoTests",
15
15
  "cdk": "cdk",
16
16
  "clean": "rm -rf dist",
17
17
  "clean:install": "npm run clean:nm && npm i",
@@ -15,7 +15,7 @@ import {
15
15
  CfnDistribution,
16
16
  } from "aws-cdk-lib/aws-cloudfront";
17
17
  import { S3Origin } from "aws-cdk-lib/aws-cloudfront-origins";
18
- import { DnsValidatedCertificate, ICertificate } from "aws-cdk-lib/aws-certificatemanager";
18
+ import { Certificate, CertificateValidation, DnsValidatedCertificate, ICertificate } from "aws-cdk-lib/aws-certificatemanager";
19
19
  import {
20
20
  HostedZone,
21
21
  IHostedZone,
@@ -77,12 +77,7 @@ export class SpaCFRoute53 extends Construct {
77
77
  // Prefer direct import when a hostedZoneId is provided; use a dummy hosted zone for tests;
78
78
  // otherwise perform a lookup in the current account.
79
79
  const hostedZone: IHostedZone =
80
- props.domainName === "example.com"
81
- ? HostedZone.fromHostedZoneAttributes(this, "HostedZone", {
82
- hostedZoneId: "Z000000000000000TEST",
83
- zoneName: props.domainName,
84
- })
85
- : props.hostedZoneId
80
+ props.hostedZoneId
86
81
  ? HostedZone.fromHostedZoneAttributes(this, "HostedZone", {
87
82
  hostedZoneId: props.hostedZoneId,
88
83
  zoneName: props.domainName,
@@ -93,11 +88,12 @@ export class SpaCFRoute53 extends Construct {
93
88
 
94
89
  // ACM certificate (must be in us-east-1 for CloudFront)
95
90
  // Create a DNS-validated certificate in us-east-1 and tag it with a friendly name
96
- const certificate: ICertificate = new DnsValidatedCertificate(this, "SpaCert", {
97
- domainName: props.fqdn,
98
- hostedZone,
99
- region: "us-east-1",
100
- subjectAlternativeNames: props.domainName && props.domainName !== props.fqdn ? [props.domainName] : undefined,
91
+ const certificate: ICertificate = new Certificate(this, "SpaCert", {
92
+ domainName: props.domainName,
93
+ subjectAlternativeNames: [
94
+ props.fqdn,
95
+ ],
96
+ validation: CertificateValidation.fromDns(hostedZone),
101
97
  });
102
98
  // Tag for visibility in console: "Certificate name"
103
99
  Tags.of(certificate).add("Name", `${props.siteName}-cert-cf`);