From 00705b27367c79076083cf66e02787768aa68082 Mon Sep 17 00:00:00 2001 From: evo-chris <96132962+evo-chris@users.noreply.github.com> Date: Wed, 16 Aug 2023 12:03:38 +0100 Subject: [PATCH 1/3] add distributionId to ServerSideWebsite outputs --- src/constructs/aws/ServerSideWebsite.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/constructs/aws/ServerSideWebsite.ts b/src/constructs/aws/ServerSideWebsite.ts index 0371e871..b7753b00 100644 --- a/src/constructs/aws/ServerSideWebsite.ts +++ b/src/constructs/aws/ServerSideWebsite.ts @@ -187,6 +187,7 @@ export class ServerSideWebsite extends AwsConstruct { return { url: () => this.getUrl(), cname: () => this.getCName(), + distributionId: () => this.getDistributionId(), }; } From 8639207e53f149b569043b09f3ab76293888c67a Mon Sep 17 00:00:00 2001 From: evo-chris <96132962+evo-chris@users.noreply.github.com> Date: Wed, 16 Aug 2023 12:06:59 +0100 Subject: [PATCH 2/3] added documentation for distributionId --- docs/server-side-website.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/server-side-website.md b/docs/server-side-website.md index 5e85a796..c167e4b7 100644 --- a/docs/server-side-website.md +++ b/docs/server-side-website.md @@ -177,6 +177,26 @@ resources: # ... ``` +- `distributionId`: the Cloudfront Distribution Id + +This can be used to configure a Cloudfront Invalidation Policy + +```yaml +constructs: + website: + type: server-side-website + # ... +iam: + role: + statements: + - Effect: Allow + Action: + - 'cloudfront:CreateInvalidation' + Resource: + - 'arn:aws:cloudfront::${aws:accountId}:distribution/${construct:website.distributionId}' + # ... +``` + ## Commands `serverless deploy` deploys everything configured in `serverless.yml` and uploads assets. From bd09b04320268e7789d30ebfacfbb783a573f595 Mon Sep 17 00:00:00 2001 From: Robert Chettleburgh Date: Thu, 14 Sep 2023 09:14:45 +0100 Subject: [PATCH 3/3] Export distributionId to variables --- src/constructs/aws/ServerSideWebsite.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/constructs/aws/ServerSideWebsite.ts b/src/constructs/aws/ServerSideWebsite.ts index b7753b00..edc04892 100644 --- a/src/constructs/aws/ServerSideWebsite.ts +++ b/src/constructs/aws/ServerSideWebsite.ts @@ -198,6 +198,7 @@ export class ServerSideWebsite extends AwsConstruct { url: Fn.join("", ["https://", domain]), cname: this.distribution.distributionDomainName, assetsBucketName: this.bucket.bucketName, + distributionId: this.distribution.distributionId, }; }