@capraconsulting/webapp-deploy-lambda 2.0.0 → 2.1.1

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.
@@ -1,3 +1,4 @@
1
+ import json
1
2
  import mimetypes
2
3
  import os
3
4
  import re
@@ -254,8 +255,15 @@ def process(s3_artifact):
254
255
 
255
256
 
256
257
  def handler(event, context):
258
+ logger.info("Triggered by event: %s" % json.dumps(event))
257
259
  logger.info("Handler was called - starting processing")
258
- process(event["artifactS3Url"])
260
+ request_type = event["RequestType"]
261
+ if request_type in ["Create", "Update"]:
262
+ process(event["ResourceProperties"]["artifactS3Url"])
263
+ elif request_type == "Delete":
264
+ logger.info("Request type is %s -- not doing anything" % request_type)
265
+ else:
266
+ raise Exception("Invalid request type: %s" % request_type)
259
267
 
260
268
 
261
269
  if __name__ == "__main__":
@@ -28,7 +28,7 @@ class WebappDeploy extends constructs.Construct {
28
28
  if (props.excludePattern != null) {
29
29
  environment.EXCLUDE_PATTERN = props.excludePattern;
30
30
  }
31
- this.deployFn = new lambda.Function(this, "Resource", {
31
+ this.deployFn = new lambda.Function(this, "WebappDeployResource", {
32
32
  code: lambda.Code.fromAsset(path.join(__dirname, "../dist")),
33
33
  environment,
34
34
  functionName: (_b = props.functionName) !== null && _b !== void 0 ? _b : cdk.PhysicalName.GENERATE_IF_NEEDED,
@@ -44,6 +44,9 @@ class WebappDeploy extends constructs.Construct {
44
44
  }),
45
45
  ],
46
46
  });
47
+ const provider = new custom_resources_1.Provider(this, "Provider", {
48
+ onEventHandler: this.deployFn,
49
+ });
47
50
  props.webBucket.grantReadWrite(this.deployFn);
48
51
  if (props.buildsBucket) {
49
52
  props.buildsBucket.grantRead(this.deployFn);
@@ -52,28 +55,14 @@ class WebappDeploy extends constructs.Construct {
52
55
  const source = props.source.bind(this, {
53
56
  handlerRole: this.deployFn.role,
54
57
  });
55
- new custom_resources_1.AwsCustomResource(this, "CustomResource", {
56
- onUpdate: {
57
- service: "Lambda",
58
- action: "invoke",
59
- physicalResourceId: custom_resources_1.PhysicalResourceId.of("webapp-deploy"),
60
- parameters: {
61
- FunctionName: this.deployFn.functionName,
62
- Payload: cdk.Stack.of(scope).toJsonString({
63
- artifactS3Url: `s3://${source.bucket.bucketName}/${source.zipObjectKey}`,
64
- }),
65
- },
58
+ new cdk.CustomResource(this, "CustomResource", {
59
+ serviceToken: provider.serviceToken,
60
+ properties: {
61
+ artifactS3Url: `s3://${source.bucket.bucketName}/${source.zipObjectKey}`,
66
62
  },
67
- policy: custom_resources_1.AwsCustomResourcePolicy.fromStatements([
68
- new iam.PolicyStatement({
69
- actions: ["lambda:InvokeFunction"],
70
- resources: [this.deployFn.functionArn],
71
- }),
72
- ]),
73
- installLatestAwsSdk: false,
74
63
  });
75
64
  }
76
65
  }
77
66
  }
78
67
  exports.WebappDeploy = WebappDeploy;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViYXBwLWRlcGxveS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93ZWJhcHAtZGVwbG95LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUV4QywyQ0FBMEM7QUFDMUMsaURBQWdEO0FBRWhELG1DQUFrQztBQUNsQyxtRUFJcUM7QUFDckMsNkJBQTRCO0FBc0Q1Qjs7O0dBR0c7QUFDSCxNQUFhLFlBQWEsU0FBUSxVQUFVLENBQUMsU0FBUztJQUdwRCxZQUNFLEtBQTJCLEVBQzNCLEVBQVUsRUFDVixLQUF3Qjs7UUFFeEIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLFdBQVcsR0FBMkI7WUFDMUMscUJBQXFCLEVBQUUsUUFBUSxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsa0JBQWtCO1lBQzNFLGNBQWMsRUFBRSxDQUFDLE1BQUEsS0FBSyxDQUFDLHlCQUF5QixtQ0FBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEUsU0FBUyxFQUFFO2lCQUNYLFFBQVEsRUFBRTtZQUNiLGlCQUFpQixFQUFFLFFBQVEsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLE1BQU07U0FDNUQsQ0FBQTtRQUVELElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUU7WUFDOUIsV0FBVyxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFBO1NBQ25FO1FBRUQsSUFBSSxLQUFLLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRTtZQUNoQyxXQUFXLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUE7U0FDbkQ7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3BELElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM1RCxXQUFXO1lBQ1gsWUFBWSxFQUFFLE1BQUEsS0FBSyxDQUFDLFlBQVksbUNBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxrQkFBa0I7WUFDdkUsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyw0QkFBNEIsRUFBRSxDQUFDO1lBQy9CLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFDbEMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoQyxhQUFhLEVBQUU7Z0JBQ2IsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDMUMsdUJBQXVCO29CQUN2QixTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7aUJBQ2pCLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQTtRQUVGLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUU3QyxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDdEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1NBQzVDO1FBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDckMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSzthQUNqQyxDQUFDLENBQUE7WUFFRixJQUFJLG9DQUFpQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDNUMsUUFBUSxFQUFFO29CQUNSLE9BQU8sRUFBRSxRQUFRO29CQUNqQixNQUFNLEVBQUUsUUFBUTtvQkFDaEIsa0JBQWtCLEVBQUUscUNBQWtCLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUQsVUFBVSxFQUFFO3dCQUNWLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVk7d0JBQ3hDLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUM7NEJBQ3hDLGFBQWEsRUFBRSxRQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7eUJBQ3pFLENBQUM7cUJBQ0g7aUJBQ0Y7Z0JBQ0QsTUFBTSxFQUFFLDBDQUF1QixDQUFDLGNBQWMsQ0FBQztvQkFDN0MsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO3dCQUN0QixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDbEMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7cUJBQ3ZDLENBQUM7aUJBQ0gsQ0FBQztnQkFDRixtQkFBbUIsRUFBRSxLQUFLO2FBQzNCLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQztDQUNGO0FBNUVELG9DQTRFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnRcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHtcbiAgQXdzQ3VzdG9tUmVzb3VyY2UsXG4gIEF3c0N1c3RvbVJlc291cmNlUG9saWN5LFxuICBQaHlzaWNhbFJlc291cmNlSWQsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCJcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHsgSVNvdXJjZSB9IGZyb20gXCIuL3NvdXJjZVwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgV2ViYXBwRGVwbG95UHJvcHMge1xuICAvKipcbiAgICogT3B0aW9uYWwgUzMgYnVja2V0IHRoYXQgY2FuIGJlIHVzZWQgZm9yIGRlcGxveW1lbnQgZnJvbSBvdXRzaWRlIENESy5cbiAgICpcbiAgICogSWYgc3BlY2lmaWVkIGEgcG9saWN5IGlzIGFkZGVkIHNvIHRoZSBkZXBsb3kgZnVuY3Rpb24gY2FuIHJlYWQgZnJvbVxuICAgKiB0aGUgYnVja2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIGJ1aWxkc0J1Y2tldD86IHMzLklCdWNrZXRcbiAgLyoqXG4gICAqIENsb3VkRnJvbnQgRGlzdHJpYnV0aW9uIHRvIGJlIGludmFsaWRhdGVkIGFmdGVyIGRlcGxveS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICBkaXN0cmlidXRpb24/OiBjbG91ZGZyb250LklEaXN0cmlidXRpb25cbiAgLyoqXG4gICAqIFJlZ2V4IGZvciBwYXR0ZXJucyBvZiBmaWxlcyB0byBiZSBkaXNjYXJkZWQgZHVyaW5nIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEV4YW1wbGU6IGBcXC5tYXAkYCB3aWxsIGV4Y2x1ZGUgYGpzL215YXBwLTFiMjJjMjQ4Zi5qcy5tYXBgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIGV4Y2x1ZGVQYXR0ZXJuPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgdGltZSB3aGVuIGEgZGVwbG95bWVudCBpcyBjb25zaWRlcmVkIG9sZCBhbmQgd2lsbCBiZSBkZWxldGVkXG4gICAqIHVubGVzcyBpdCBpcyB0aGUgbmV3ZXN0IG9sZCBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDUgZGF5c1xuICAgKi9cbiAgcHJ1bmVEZXBsb3ltZW50c09sZGVyVGhhbj86IGNkay5EdXJhdGlvblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgbGFtYmRhIGZ1bmN0aW9uIHRvIGJlIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGNkay5QaHlzaWNhbE5hbWUuR0VORVJBVEVfSUZfTkVFREVEXG4gICAqL1xuICBmdW5jdGlvbk5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIE5hbWUgb2YgUzMgYnVja2V0IHdoZXJlIHRoZSBjb250ZW50cyBvZiB0aGUgYXJ0aWZhY3RzIHdpbGwgYmUgZGVwbG95ZWQuXG4gICAqIFRoZSBmaWxlcyB3aWxsIGJlIGRlcGxveWVkIHVuZGVyIHRoZSBrZXkgXCJ3ZWJcIiwgd2hpY2ggaXMgdGhlbiBleHBlY3RlZFxuICAgKiB0byBiZSB0aGUgb3JpZ2luIGZvciB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb25cbiAgICovXG4gIHdlYkJ1Y2tldDogczMuSUJ1Y2tldFxuICAvKipcbiAgICogU3BlY2lmaWMgYXJ0aWZhY3QgdG8gYmUgZGVwbG95ZWQgdG8gdGhlIGJ1Y2tldCBkdXJpbmcgQ0RLIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKi9cbiAgc291cmNlPzogSVNvdXJjZVxufVxuXG4vKipcbiAqIFJlc291cmNlIHRvIGRlcGxveSBhIHdlYmFwcCBmcm9tIGEgYnVpbGQgYXJ0aWZhY3QgaW50byBhbiBleGlzdGluZ1xuICogUzMgQnVja2V0IGFuZCBDbG91ZEZyb250IERpc3RyaWJ1dGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFdlYmFwcERlcGxveSBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgZGVwbG95Rm46IGxhbWJkYS5GdW5jdGlvblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBXZWJhcHBEZXBsb3lQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBERVBMT1lfTE9HX0JVQ0tFVF9VUkw6IGBzMzovLyR7cHJvcHMud2ViQnVja2V0LmJ1Y2tldE5hbWV9L2RlcGxveW1lbnRzLmxvZ2AsXG4gICAgICBFWFBJUkVfU0VDT05EUzogKHByb3BzLnBydW5lRGVwbG95bWVudHNPbGRlclRoYW4gPz8gY2RrLkR1cmF0aW9uLmRheXMoNSkpXG4gICAgICAgIC50b1NlY29uZHMoKVxuICAgICAgICAudG9TdHJpbmcoKSxcbiAgICAgIFRBUkdFVF9CVUNLRVRfVVJMOiBgczM6Ly8ke3Byb3BzLndlYkJ1Y2tldC5idWNrZXROYW1lfS93ZWJgLFxuICAgIH1cblxuICAgIGlmIChwcm9wcy5kaXN0cmlidXRpb24gIT0gbnVsbCkge1xuICAgICAgZW52aXJvbm1lbnQuQ0ZfRElTVFJJQlVUSU9OX0lEID0gcHJvcHMuZGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbklkXG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmV4Y2x1ZGVQYXR0ZXJuICE9IG51bGwpIHtcbiAgICAgIGVudmlyb25tZW50LkVYQ0xVREVfUEFUVEVSTiA9IHByb3BzLmV4Y2x1ZGVQYXR0ZXJuXG4gICAgfVxuXG4gICAgdGhpcy5kZXBsb3lGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi9kaXN0XCIpKSxcbiAgICAgIGVudmlyb25tZW50LFxuICAgICAgZnVuY3Rpb25OYW1lOiBwcm9wcy5mdW5jdGlvbk5hbWUgPz8gY2RrLlBoeXNpY2FsTmFtZS5HRU5FUkFURV9JRl9ORUVERUQsXG4gICAgICBoYW5kbGVyOiBcIndlYmFwcF9kZXBsb3kubWFpbi5oYW5kbGVyXCIsXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiAxLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOCxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDIpLFxuICAgICAgaW5pdGlhbFBvbGljeTogW1xuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wiY2xvdWRmcm9udDpDcmVhdGVJbnZhbGlkYXRpb25cIl0sXG4gICAgICAgICAgLy8gQ2Fubm90IGJlIHJlc3RyaWN0ZWRcbiAgICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KVxuXG4gICAgcHJvcHMud2ViQnVja2V0LmdyYW50UmVhZFdyaXRlKHRoaXMuZGVwbG95Rm4pXG5cbiAgICBpZiAocHJvcHMuYnVpbGRzQnVja2V0KSB7XG4gICAgICBwcm9wcy5idWlsZHNCdWNrZXQuZ3JhbnRSZWFkKHRoaXMuZGVwbG95Rm4pXG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNvdXJjZSkge1xuICAgICAgY29uc3Qgc291cmNlID0gcHJvcHMuc291cmNlLmJpbmQodGhpcywge1xuICAgICAgICBoYW5kbGVyUm9sZTogdGhpcy5kZXBsb3lGbi5yb2xlISxcbiAgICAgIH0pXG5cbiAgICAgIG5ldyBBd3NDdXN0b21SZXNvdXJjZSh0aGlzLCBcIkN1c3RvbVJlc291cmNlXCIsIHtcbiAgICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgICBzZXJ2aWNlOiBcIkxhbWJkYVwiLFxuICAgICAgICAgIGFjdGlvbjogXCJpbnZva2VcIixcbiAgICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IFBoeXNpY2FsUmVzb3VyY2VJZC5vZihcIndlYmFwcC1kZXBsb3lcIiksXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgRnVuY3Rpb25OYW1lOiB0aGlzLmRlcGxveUZuLmZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIFBheWxvYWQ6IGNkay5TdGFjay5vZihzY29wZSkudG9Kc29uU3RyaW5nKHtcbiAgICAgICAgICAgICAgYXJ0aWZhY3RTM1VybDogYHMzOi8vJHtzb3VyY2UuYnVja2V0LmJ1Y2tldE5hbWV9LyR7c291cmNlLnppcE9iamVjdEtleX1gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcG9saWN5OiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU3RhdGVtZW50cyhbXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1wibGFtYmRhOkludm9rZUZ1bmN0aW9uXCJdLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy5kZXBsb3lGbi5mdW5jdGlvbkFybl0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0pLFxuICAgICAgICBpbnN0YWxsTGF0ZXN0QXdzU2RrOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViYXBwLWRlcGxveS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93ZWJhcHAtZGVwbG95LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUV4QywyQ0FBMEM7QUFDMUMsaURBQWdEO0FBRWhELG1DQUFrQztBQUNsQyxtRUFBdUQ7QUFDdkQsNkJBQTRCO0FBc0Q1Qjs7O0dBR0c7QUFDSCxNQUFhLFlBQWEsU0FBUSxVQUFVLENBQUMsU0FBUztJQUdwRCxZQUNFLEtBQTJCLEVBQzNCLEVBQVUsRUFDVixLQUF3Qjs7UUFFeEIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLFdBQVcsR0FBMkI7WUFDMUMscUJBQXFCLEVBQUUsUUFBUSxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsa0JBQWtCO1lBQzNFLGNBQWMsRUFBRSxDQUFDLE1BQUEsS0FBSyxDQUFDLHlCQUF5QixtQ0FBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEUsU0FBUyxFQUFFO2lCQUNYLFFBQVEsRUFBRTtZQUNiLGlCQUFpQixFQUFFLFFBQVEsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLE1BQU07U0FDNUQsQ0FBQTtRQUVELElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUU7WUFDOUIsV0FBVyxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFBO1NBQ25FO1FBRUQsSUFBSSxLQUFLLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRTtZQUNoQyxXQUFXLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUE7U0FDbkQ7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUU7WUFDaEUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzVELFdBQVc7WUFDWCxZQUFZLEVBQUUsTUFBQSxLQUFLLENBQUMsWUFBWSxtQ0FBSSxHQUFHLENBQUMsWUFBWSxDQUFDLGtCQUFrQjtZQUN2RSxPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLDRCQUE0QixFQUFFLENBQUM7WUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUNsQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLGFBQWEsRUFBRTtnQkFDYixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7b0JBQ3RCLE9BQU8sRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUMxQyx1QkFBdUI7b0JBQ3ZCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztpQkFDakIsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSwyQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDOUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzlCLENBQUMsQ0FBQTtRQUVGLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUU3QyxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDdEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1NBQzVDO1FBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDckMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSzthQUNqQyxDQUFDLENBQUE7WUFDRixJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUM3QyxZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7Z0JBQ25DLFVBQVUsRUFBRTtvQkFDVixhQUFhLEVBQUUsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO2lCQUN6RTthQUNGLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQztDQUNGO0FBakVELG9DQWlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnRcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IElTb3VyY2UgfSBmcm9tIFwiLi9zb3VyY2VcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFdlYmFwcERlcGxveVByb3BzIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIFMzIGJ1Y2tldCB0aGF0IGNhbiBiZSB1c2VkIGZvciBkZXBsb3ltZW50IGZyb20gb3V0c2lkZSBDREsuXG4gICAqXG4gICAqIElmIHNwZWNpZmllZCBhIHBvbGljeSBpcyBhZGRlZCBzbyB0aGUgZGVwbG95IGZ1bmN0aW9uIGNhbiByZWFkIGZyb21cbiAgICogdGhlIGJ1Y2tldC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICBidWlsZHNCdWNrZXQ/OiBzMy5JQnVja2V0XG4gIC8qKlxuICAgKiBDbG91ZEZyb250IERpc3RyaWJ1dGlvbiB0byBiZSBpbnZhbGlkYXRlZCBhZnRlciBkZXBsb3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKi9cbiAgZGlzdHJpYnV0aW9uPzogY2xvdWRmcm9udC5JRGlzdHJpYnV0aW9uXG4gIC8qKlxuICAgKiBSZWdleCBmb3IgcGF0dGVybnMgb2YgZmlsZXMgdG8gYmUgZGlzY2FyZGVkIGR1cmluZyBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBFeGFtcGxlOiBgXFwubWFwJGAgd2lsbCBleGNsdWRlIGBqcy9teWFwcC0xYjIyYzI0OGYuanMubWFwYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICBleGNsdWRlUGF0dGVybj86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHRpbWUgd2hlbiBhIGRlcGxveW1lbnQgaXMgY29uc2lkZXJlZCBvbGQgYW5kIHdpbGwgYmUgZGVsZXRlZFxuICAgKiB1bmxlc3MgaXQgaXMgdGhlIG5ld2VzdCBvbGQgZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSA1IGRheXNcbiAgICovXG4gIHBydW5lRGVwbG95bWVudHNPbGRlclRoYW4/OiBjZGsuRHVyYXRpb25cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGxhbWJkYSBmdW5jdGlvbiB0byBiZSBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBjZGsuUGh5c2ljYWxOYW1lLkdFTkVSQVRFX0lGX05FRURFRFxuICAgKi9cbiAgZnVuY3Rpb25OYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBOYW1lIG9mIFMzIGJ1Y2tldCB3aGVyZSB0aGUgY29udGVudHMgb2YgdGhlIGFydGlmYWN0cyB3aWxsIGJlIGRlcGxveWVkLlxuICAgKiBUaGUgZmlsZXMgd2lsbCBiZSBkZXBsb3llZCB1bmRlciB0aGUga2V5IFwid2ViXCIsIHdoaWNoIGlzIHRoZW4gZXhwZWN0ZWRcbiAgICogdG8gYmUgdGhlIG9yaWdpbiBmb3IgdGhlIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9uXG4gICAqL1xuICB3ZWJCdWNrZXQ6IHMzLklCdWNrZXRcbiAgLyoqXG4gICAqIFNwZWNpZmljIGFydGlmYWN0IHRvIGJlIGRlcGxveWVkIHRvIHRoZSBidWNrZXQgZHVyaW5nIENESyBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHNvdXJjZT86IElTb3VyY2Vcbn1cblxuLyoqXG4gKiBSZXNvdXJjZSB0byBkZXBsb3kgYSB3ZWJhcHAgZnJvbSBhIGJ1aWxkIGFydGlmYWN0IGludG8gYW4gZXhpc3RpbmdcbiAqIFMzIEJ1Y2tldCBhbmQgQ2xvdWRGcm9udCBEaXN0cmlidXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBXZWJhcHBEZXBsb3kgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IGRlcGxveUZuOiBsYW1iZGEuRnVuY3Rpb25cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogV2ViYXBwRGVwbG95UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGNvbnN0IGVudmlyb25tZW50OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgREVQTE9ZX0xPR19CVUNLRVRfVVJMOiBgczM6Ly8ke3Byb3BzLndlYkJ1Y2tldC5idWNrZXROYW1lfS9kZXBsb3ltZW50cy5sb2dgLFxuICAgICAgRVhQSVJFX1NFQ09ORFM6IChwcm9wcy5wcnVuZURlcGxveW1lbnRzT2xkZXJUaGFuID8/IGNkay5EdXJhdGlvbi5kYXlzKDUpKVxuICAgICAgICAudG9TZWNvbmRzKClcbiAgICAgICAgLnRvU3RyaW5nKCksXG4gICAgICBUQVJHRVRfQlVDS0VUX1VSTDogYHMzOi8vJHtwcm9wcy53ZWJCdWNrZXQuYnVja2V0TmFtZX0vd2ViYCxcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZGlzdHJpYnV0aW9uICE9IG51bGwpIHtcbiAgICAgIGVudmlyb25tZW50LkNGX0RJU1RSSUJVVElPTl9JRCA9IHByb3BzLmRpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb25JZFxuICAgIH1cblxuICAgIGlmIChwcm9wcy5leGNsdWRlUGF0dGVybiAhPSBudWxsKSB7XG4gICAgICBlbnZpcm9ubWVudC5FWENMVURFX1BBVFRFUk4gPSBwcm9wcy5leGNsdWRlUGF0dGVyblxuICAgIH1cblxuICAgIHRoaXMuZGVwbG95Rm4gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiV2ViYXBwRGVwbG95UmVzb3VyY2VcIiwge1xuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vZGlzdFwiKSksXG4gICAgICBlbnZpcm9ubWVudCxcbiAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHMuZnVuY3Rpb25OYW1lID8/IGNkay5QaHlzaWNhbE5hbWUuR0VORVJBVEVfSUZfTkVFREVELFxuICAgICAgaGFuZGxlcjogXCJ3ZWJhcHBfZGVwbG95Lm1haW4uaGFuZGxlclwiLFxuICAgICAgcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9uczogMSxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzgsXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygyKSxcbiAgICAgIGluaXRpYWxQb2xpY3k6IFtcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcImNsb3VkZnJvbnQ6Q3JlYXRlSW52YWxpZGF0aW9uXCJdLFxuICAgICAgICAgIC8vIENhbm5vdCBiZSByZXN0cmljdGVkXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IFByb3ZpZGVyKHRoaXMsIFwiUHJvdmlkZXJcIiwge1xuICAgICAgb25FdmVudEhhbmRsZXI6IHRoaXMuZGVwbG95Rm4sXG4gICAgfSlcblxuICAgIHByb3BzLndlYkJ1Y2tldC5ncmFudFJlYWRXcml0ZSh0aGlzLmRlcGxveUZuKVxuXG4gICAgaWYgKHByb3BzLmJ1aWxkc0J1Y2tldCkge1xuICAgICAgcHJvcHMuYnVpbGRzQnVja2V0LmdyYW50UmVhZCh0aGlzLmRlcGxveUZuKVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5zb3VyY2UpIHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHByb3BzLnNvdXJjZS5iaW5kKHRoaXMsIHtcbiAgICAgICAgaGFuZGxlclJvbGU6IHRoaXMuZGVwbG95Rm4ucm9sZSEsXG4gICAgICB9KVxuICAgICAgbmV3IGNkay5DdXN0b21SZXNvdXJjZSh0aGlzLCBcIkN1c3RvbVJlc291cmNlXCIsIHtcbiAgICAgICAgc2VydmljZVRva2VuOiBwcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBhcnRpZmFjdFMzVXJsOiBgczM6Ly8ke3NvdXJjZS5idWNrZXQuYnVja2V0TmFtZX0vJHtzb3VyY2UuemlwT2JqZWN0S2V5fWAsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capraconsulting/webapp-deploy-lambda",
3
- "version": "2.0.0",
3
+ "version": "2.1.1",
4
4
  "description": "CDK construct for deploying a webapp release to S3 and CloudFront",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,27 +33,27 @@
33
33
  "access": "public"
34
34
  },
35
35
  "devDependencies": {
36
- "@aws-cdk/assert": "2.8.0",
37
- "@commitlint/cli": "15.0.0",
38
- "@commitlint/config-conventional": "15.0.0",
39
- "@types/jest": "27.4.0",
40
- "@types/node": "16.11.19",
41
- "@typescript-eslint/eslint-plugin": "5.9.1",
42
- "@typescript-eslint/parser": "5.9.1",
43
- "aws-cdk-lib": "2.8.0",
44
- "constructs": "10.0.33",
45
- "eslint": "8.6.0",
46
- "eslint-config-prettier": "8.3.0",
47
- "eslint-plugin-deprecation": "1.3.2",
48
- "eslint-plugin-prettier": "4.0.0",
49
- "husky": "7.0.4",
50
- "jest": "27.4.7",
36
+ "@aws-cdk/assert": "2.61.1",
37
+ "@commitlint/cli": "17.4.2",
38
+ "@commitlint/config-conventional": "17.4.2",
39
+ "@types/jest": "27.5.2",
40
+ "@types/node": "16.18.11",
41
+ "@typescript-eslint/eslint-plugin": "5.49.0",
42
+ "@typescript-eslint/parser": "5.49.0",
43
+ "aws-cdk-lib": "2.61.1",
44
+ "constructs": "10.1.228",
45
+ "eslint": "8.32.0",
46
+ "eslint-config-prettier": "8.6.0",
47
+ "eslint-plugin-deprecation": "1.3.3",
48
+ "eslint-plugin-prettier": "4.2.1",
49
+ "husky": "8.0.3",
50
+ "jest": "27.5.1",
51
51
  "jest-cdk-snapshot": "2.0.1",
52
- "prettier": "2.5.1",
53
- "semantic-release": "19.0.2",
54
- "ts-jest": "27.1.3",
55
- "ts-node": "10.4.0",
56
- "typescript": "4.5.5"
52
+ "prettier": "2.8.3",
53
+ "semantic-release": "19.0.5",
54
+ "ts-jest": "27.1.5",
55
+ "ts-node": "10.9.1",
56
+ "typescript": "4.9.4"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "aws-cdk-lib": "^2.0.0",