@gradientedge/cdk-utils 4.5.3 → 4.6.3

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.
Files changed (102) hide show
  1. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/.yarn-integrity +0 -0
  2. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/@types/uuid/LICENSE +0 -0
  3. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/@types/uuid/README.md +0 -0
  4. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/@types/uuid/index.d.mts +0 -0
  5. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/@types/uuid/index.d.ts +0 -0
  6. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/@types/uuid/package.json +0 -0
  7. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/LICENSE.md +0 -0
  8. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/README.md +0 -0
  9. package/{dist/app/api-destined-function/layers/nodejs/node_modules/.bin → app/api-destined-function/layers/nodejs/node_modules/uuid/dist/bin}/uuid +0 -0
  10. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/index.js +0 -0
  11. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/md5.js +0 -0
  12. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/nil.js +0 -0
  13. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/parse.js +0 -0
  14. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/regex.js +0 -0
  15. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/rng.js +0 -0
  16. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/sha1.js +0 -0
  17. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/stringify.js +0 -0
  18. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v1.js +0 -0
  19. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v3.js +0 -0
  20. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v35.js +0 -0
  21. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v4.js +0 -0
  22. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v5.js +0 -0
  23. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/validate.js +0 -0
  24. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/version.js +0 -0
  25. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/index.js +0 -0
  26. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/md5.js +0 -0
  27. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/nil.js +0 -0
  28. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/parse.js +0 -0
  29. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/regex.js +0 -0
  30. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/rng.js +0 -0
  31. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/sha1.js +0 -0
  32. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/stringify.js +0 -0
  33. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v1.js +0 -0
  34. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v3.js +0 -0
  35. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v35.js +0 -0
  36. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v4.js +0 -0
  37. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v5.js +0 -0
  38. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/validate.js +0 -0
  39. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/version.js +0 -0
  40. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/index.js +0 -0
  41. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/md5-browser.js +0 -0
  42. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/md5.js +0 -0
  43. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/nil.js +0 -0
  44. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/parse.js +0 -0
  45. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/regex.js +0 -0
  46. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/rng-browser.js +0 -0
  47. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/rng.js +0 -0
  48. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/sha1-browser.js +0 -0
  49. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/sha1.js +0 -0
  50. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/stringify.js +0 -0
  51. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuid.min.js +0 -0
  52. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidNIL.min.js +0 -0
  53. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidParse.min.js +0 -0
  54. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidStringify.min.js +0 -0
  55. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidValidate.min.js +0 -0
  56. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidVersion.min.js +0 -0
  57. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidv1.min.js +0 -0
  58. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidv3.min.js +0 -0
  59. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidv4.min.js +0 -0
  60. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidv5.min.js +0 -0
  61. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/uuid-bin.js +0 -0
  62. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/v1.js +0 -0
  63. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/v3.js +0 -0
  64. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/v35.js +0 -0
  65. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/v4.js +0 -0
  66. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/v5.js +0 -0
  67. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/validate.js +0 -0
  68. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/dist/version.js +0 -0
  69. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/package.json +0 -0
  70. package/{dist/app → app}/api-destined-function/layers/nodejs/node_modules/uuid/wrapper.mjs +0 -0
  71. package/{dist/app → app}/api-destined-function/layers/nodejs/package.json +1 -2
  72. package/app/api-destined-function/package.json +1 -2
  73. package/dist/src/lib/construct/api-to-eventbridge-target/main.d.ts +0 -4
  74. package/dist/src/lib/construct/api-to-eventbridge-target/main.d.ts.map +1 -1
  75. package/dist/src/lib/construct/api-to-eventbridge-target/main.js +24 -12
  76. package/dist/src/lib/construct/api-to-eventbridge-target/main.js.map +1 -1
  77. package/dist/src/lib/construct/graphql-api-lambda-with-cache/index.d.ts +2 -0
  78. package/dist/src/lib/construct/graphql-api-lambda-with-cache/index.d.ts.map +1 -0
  79. package/dist/src/lib/construct/graphql-api-lambda-with-cache/index.js +14 -0
  80. package/dist/src/lib/construct/graphql-api-lambda-with-cache/index.js.map +1 -0
  81. package/dist/src/lib/construct/graphql-api-lambda-with-cache/main.d.ts +65 -0
  82. package/dist/src/lib/construct/graphql-api-lambda-with-cache/main.d.ts.map +1 -0
  83. package/dist/src/lib/construct/graphql-api-lambda-with-cache/main.js +133 -0
  84. package/dist/src/lib/construct/graphql-api-lambda-with-cache/main.js.map +1 -0
  85. package/dist/src/lib/construct/index.d.ts +1 -0
  86. package/dist/src/lib/construct/index.d.ts.map +1 -1
  87. package/dist/src/lib/construct/index.js +1 -0
  88. package/dist/src/lib/construct/index.js.map +1 -1
  89. package/dist/src/lib/manager/aws/vpc-manager.d.ts.map +1 -1
  90. package/dist/src/lib/manager/aws/vpc-manager.js +1 -0
  91. package/dist/src/lib/manager/aws/vpc-manager.js.map +1 -1
  92. package/dist/src/lib/types/aws/index.d.ts +13 -0
  93. package/dist/src/lib/types/aws/index.d.ts.map +1 -1
  94. package/package.json +13 -12
  95. package/src/lib/construct/api-to-eventbridge-target/main.ts +18 -22
  96. package/src/lib/construct/graphql-api-lambda-with-cache/index.ts +1 -0
  97. package/src/lib/construct/graphql-api-lambda-with-cache/main.ts +150 -0
  98. package/src/lib/construct/index.ts +1 -0
  99. package/src/lib/manager/aws/vpc-manager.ts +1 -0
  100. package/src/lib/types/aws/index.ts +14 -0
  101. package/tsconfig.prd.json +4 -0
  102. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/bin/uuid +0 -2
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.GraphQLApiLambdaWithCache = void 0;
23
+ const cdk = __importStar(require("aws-cdk-lib"));
24
+ const ec2 = __importStar(require("aws-cdk-lib/aws-ec2"));
25
+ const iam = __importStar(require("aws-cdk-lib/aws-iam"));
26
+ const __1 = require("..");
27
+ const utils = __importStar(require("../../utils"));
28
+ /**
29
+ * @stability stable
30
+ * @category cdk-utils.graphql-api-lambda-with-cache
31
+ * @subcategory construct
32
+ * @classdesc Provides a construct to create and deploy a Graphql API as Lambda with Caching
33
+ *
34
+ * <b>Architecture</b> ![Architecture](./GraphQLApiLambda.jpg)
35
+ *
36
+ * @example
37
+ * import { GraphQlApiLambdaWithCacheProps } '@gradientedge/cdk-utils'
38
+ * import { Construct } from 'constructs'
39
+ *
40
+ * class CustomConstruct extends GraphQLApiLambdaWithCache {
41
+ * constructor(parent: Construct, id: string, props: GraphQlApiLambdaWithCacheProps) {
42
+ * super(parent, id, props)
43
+ * this.props = props
44
+ * this.id = id
45
+ * this.initResources()
46
+ * }
47
+ * }
48
+ */
49
+ class GraphQLApiLambdaWithCache extends __1.GraphQLApiLambda {
50
+ /* graphql restApi props */
51
+ props;
52
+ id;
53
+ /* graphql restApi resources */
54
+ graphQLVpc;
55
+ graphQLElastiCache;
56
+ graphQLSecurityGroup;
57
+ securityGroupStackName;
58
+ securityGroupExportName;
59
+ vpcExportName;
60
+ constructor(parent, id, props) {
61
+ super(parent, id, props);
62
+ this.props = props;
63
+ this.id = id;
64
+ }
65
+ initResources() {
66
+ this.setVpc();
67
+ this.setSecurityGroup();
68
+ this.createElastiCache();
69
+ super.initResources();
70
+ }
71
+ /**
72
+ * Create VPC
73
+ * @protected
74
+ */
75
+ setVpc() {
76
+ if (this.props.vpcExportName) {
77
+ this.graphQLVpc = this.vpcManager.retrieveCommonVpc(`${this.id}`, this, this.props.vpcExportName);
78
+ }
79
+ else {
80
+ this.graphQLVpc = this.vpcManager.createCommonVpc(this, this.props.graphQLVpc, this.props.graphQLVpc.vpcName);
81
+ }
82
+ }
83
+ /**
84
+ * Resolve Security Group
85
+ * @protected
86
+ */
87
+ setSecurityGroup() {
88
+ if (this.props.securityGroupExportName) {
89
+ this.graphQLSecurityGroup = ec2.SecurityGroup.fromSecurityGroupId(this, `${this.id}`, cdk.Fn.importValue(this.props.securityGroupExportName));
90
+ }
91
+ else {
92
+ this.graphQLSecurityGroup = new ec2.SecurityGroup(this, `${this.id}-security-group-${this.props.stage}`, {
93
+ securityGroupName: `${this.id}-security-group-${this.props.stage}`,
94
+ vpc: this.graphQLVpc,
95
+ });
96
+ this.graphQLSecurityGroup.addIngressRule(ec2.Peer.anyIpv4(), ec2.Port.allIcmp(), 'All Traffic');
97
+ utils.createCfnOutput(`${this.id}-security-group-id`, this, this.graphQLSecurityGroup.securityGroupId);
98
+ }
99
+ }
100
+ /**
101
+ * Create ElastiCache
102
+ * @protected
103
+ */
104
+ createElastiCache() {
105
+ this.graphQLElastiCache = this.elasticacheManager.createElastiCache(`${this.id}-elasticache`, this, this.props.graphQLElastiCache, this.graphQLVpc.privateSubnets.map(subnet => subnet.subnetId), [this.graphQLSecurityGroup.toString()]);
106
+ }
107
+ /**
108
+ * Create Lambda Role
109
+ * @protected
110
+ */
111
+ createLambdaRole() {
112
+ super.createLambdaRole();
113
+ this.graphQLApiLambdaRole.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSLambdaVPCAccessExecutionRole'));
114
+ }
115
+ /**
116
+ * @summary Method to create environment variables for GraphQL Lambda function
117
+ * @protected
118
+ */
119
+ createLambdaEnvironment() {
120
+ this.graphQLApiLambdaEnvironment = {
121
+ CACHE_REDIS_HOST: `${this.graphQLElastiCache.attrRedisEndpointAddress}`,
122
+ CACHE_REDIS_PORT: `${this.graphQLElastiCache.attrRedisEndpointPort}`,
123
+ NODE_ENV: this.props.nodeEnv,
124
+ LOG_LEVEL: this.props.logLevel,
125
+ TZ: this.props.timezone,
126
+ };
127
+ }
128
+ createLambdaFunction() {
129
+ this.graphQLApiLambdaFunction = this.lambdaManager.createLambdaFunction(`${this.id}-graphql-server`, this, this.props.graphqlApi, this.graphQLApiLambdaRole, this.graphQLApiLambdaLayers, this.props.graphQLApiSource, this.props.graphQLApiHandler || 'index.handler', this.graphQLApiLambdaEnvironment, this.graphQLVpc, [this.graphQLSecurityGroup], undefined, undefined, this.graphQLVpc);
130
+ }
131
+ }
132
+ exports.GraphQLApiLambdaWithCache = GraphQLApiLambdaWithCache;
133
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../../src/lib/construct/graphql-api-lambda-with-cache/main.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export * from './api-to-eventbridge-target';
2
2
  export * from './graphql-api-lambda';
3
+ export * from './graphql-api-lambda-with-cache';
3
4
  export * from './site-with-ecs-backend';
4
5
  export * from './static-site';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/construct/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/construct/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
@@ -12,6 +12,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./api-to-eventbridge-target"), exports);
14
14
  __exportStar(require("./graphql-api-lambda"), exports);
15
+ __exportStar(require("./graphql-api-lambda-with-cache"), exports);
15
16
  __exportStar(require("./site-with-ecs-backend"), exports);
16
17
  __exportStar(require("./static-site"), exports);
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/construct/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAA2C;AAC3C,uDAAoC;AACpC,0DAAuC;AACvC,gDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/construct/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAA2C;AAC3C,uDAAoC;AACpC,kEAA+C;AAC/C,0DAAuC;AACvC,gDAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"vpc-manager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/vpc-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAUtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;IACI,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ;IAyB/E;;;;;OAKG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM;IAOjG;;;;;OAKG;IACI,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,MAAM;CAG3F"}
1
+ {"version":3,"file":"vpc-manager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/vpc-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAUtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;IACI,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ;IA0B/E;;;;;OAKG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM;IAOjG;;;;;OAKG;IACI,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,MAAM;CAG3F"}
@@ -68,6 +68,7 @@ class VpcManager {
68
68
  utils.createCfnOutput(`${id}PublicSubnetRouteTableIds`, scope, vpc.publicSubnets.map(subnet => subnet.routeTable.routeTableId).toString());
69
69
  utils.createCfnOutput(`${id}PrivateSubnetRouteTableIds`, scope, vpc.privateSubnets.map(subnet => subnet.routeTable.routeTableId).toString());
70
70
  utils.createCfnOutput(`${id}AvailabilityZones`, scope, vpc.availabilityZones.toString());
71
+ utils.createCfnOutput(`${id}DefaultSecurityGroup`, scope, vpc.vpcDefaultSecurityGroup.toString());
71
72
  return vpc;
72
73
  }
73
74
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"vpc-manager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/vpc-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAClC,yDAA0C;AAE1C,mDAAoC;AAEpC;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,UAAU;IACrB;;;;;OAKG;IACI,SAAS,CAAC,EAAU,EAAE,KAA6B,EAAE,KAAmB;QAC7E,IAAI,CAAC,KAAK;YAAE,MAAM,qBAAqB,CAAA;QACvC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QAEF,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAClD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjH,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACnH,KAAK,CAAC,eAAe,CACnB,GAAG,EAAE,2BAA2B,EAChC,KAAK,EACL,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAC3E,CAAA;QACD,KAAK,CAAC,eAAe,CACnB,GAAG,EAAE,4BAA4B,EACjC,KAAK,EACL,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAC5E,CAAA;QACD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAExF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,KAA6B,EAAE,KAAmB,EAAE,aAAsB;QAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,mBAAmB,CAAC,CAAA;QAElE,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,EAAU,EAAE,KAA6B,EAAE,aAAsB;QACxF,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,CAAC,CAAA;IAC9F,CAAC;CACF;AAtDD,gCAsDC"}
1
+ {"version":3,"file":"vpc-manager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/vpc-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAClC,yDAA0C;AAE1C,mDAAoC;AAEpC;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,UAAU;IACrB;;;;;OAKG;IACI,SAAS,CAAC,EAAU,EAAE,KAA6B,EAAE,KAAmB;QAC7E,IAAI,CAAC,KAAK;YAAE,MAAM,qBAAqB,CAAA;QACvC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QAEF,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAClD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjH,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACnH,KAAK,CAAC,eAAe,CACnB,GAAG,EAAE,2BAA2B,EAChC,KAAK,EACL,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAC3E,CAAA;QACD,KAAK,CAAC,eAAe,CACnB,GAAG,EAAE,4BAA4B,EACjC,KAAK,EACL,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAC5E,CAAA;QACD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAA;QACxF,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEjG,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,KAA6B,EAAE,KAAmB,EAAE,aAAsB;QAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,mBAAmB,CAAC,CAAA;QAElE,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,EAAU,EAAE,KAA6B,EAAE,aAAsB;QACxF,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,CAAC,CAAA;IAC9F,CAAC;CACF;AAvDD,gCAuDC"}
@@ -107,6 +107,8 @@ export interface HealthCheck extends elb.HealthCheck {
107
107
  * @subcategory Types
108
108
  */
109
109
  export interface LambdaEnvironment {
110
+ CACHE_REDIS_HOST?: string;
111
+ CACHE_REDIS_PORT?: string;
110
112
  NODE_ENV: string;
111
113
  LOG_LEVEL: string;
112
114
  TZ: string;
@@ -142,6 +144,16 @@ export interface GraphQlApiLambdaProps extends CommonStackProps {
142
144
  logLevel: string;
143
145
  timezone: string;
144
146
  }
147
+ /**
148
+ * @category cdk-utils.graphql-api-lambda-with-cache
149
+ * @subcategory Properties
150
+ */
151
+ export interface GraphQlApiLambdaWithCacheProps extends GraphQlApiLambdaProps {
152
+ graphQLVpc: ec2.VpcProps;
153
+ graphQLElastiCache: ElastiCacheProps;
154
+ securityGroupExportName: string;
155
+ vpcExportName: string;
156
+ }
145
157
  /**
146
158
  * @category cdk-utils.api-to-eventbridge-target
147
159
  * @subcategory Types
@@ -200,6 +212,7 @@ export interface ApiDestinedLambdaType {
200
212
  * @subcategory Properties
201
213
  */
202
214
  export interface ApiToEventBridgeTargetRestApiProps {
215
+ withResource?: boolean;
203
216
  certificate: AcmProps;
204
217
  integrationResponse?: apig.IntegrationResponse;
205
218
  integrationErrorResponse?: apig.IntegrationResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/types/aws/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/types/aws/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils",
3
- "version": "4.5.3",
3
+ "version": "4.6.3",
4
4
  "description": "Utilities for AWS CDK provisioning",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -26,6 +26,7 @@
26
26
  "homepage": "https://github.com/gradientedge/cdk-utils#readme",
27
27
  "scripts": {
28
28
  "build": "rimraf dist/ && npx tsc && npx lerna run build",
29
+ "build:production": "rimraf dist/ && npx tsc -p tsconfig.prd.json && npx lerna run build",
29
30
  "ci": "yarn install --frozen-lockfile && yarn build && yarn validate && yarn docs",
30
31
  "cz": "npx cz",
31
32
  "docs": "rimraf api-docs && npx jsdoc --pedantic -c jsdoc.json .",
@@ -43,13 +44,13 @@
43
44
  }
44
45
  },
45
46
  "dependencies": {
46
- "@aws-cdk/aws-lambda-python-alpha": "2.10.0-alpha.0",
47
+ "@aws-cdk/aws-lambda-python-alpha": "2.12.0-alpha.0",
47
48
  "@types/lodash": "^4.14.178",
48
- "@types/node": "^17.0.16",
49
+ "@types/node": "^17.0.18",
49
50
  "app-root-path": "^3.0.0",
50
- "aws-cdk-lib": "^2.10.0",
51
- "aws-sdk": "^2.1070.0",
52
- "constructs": "^10.0.55",
51
+ "aws-cdk-lib": "^2.12.0",
52
+ "aws-sdk": "^2.1074.0",
53
+ "constructs": "^10.0.62",
53
54
  "lodash": "^4.17.21",
54
55
  "moment": "^2.29.1",
55
56
  "nconf": "^0.11.3",
@@ -59,19 +60,19 @@
59
60
  "devDependencies": {
60
61
  "@babel/plugin-proposal-class-properties": "^7.16.7",
61
62
  "@types/jest": "^27.4.0",
62
- "@typescript-eslint/eslint-plugin": "^5.11.0",
63
- "@typescript-eslint/parser": "^5.11.0",
63
+ "@typescript-eslint/eslint-plugin": "^5.12.0",
64
+ "@typescript-eslint/parser": "^5.12.0",
64
65
  "aws-cdk": "*",
65
66
  "babel-eslint": "^10.1.0",
66
- "better-docs": "^2.7.1",
67
+ "better-docs": "^2.7.2",
67
68
  "codecov": "^3.8.3",
68
69
  "commitizen": "^4.2.4",
69
70
  "dotenv": "^16.0.0",
70
- "eslint": "^8.8.0",
71
+ "eslint": "^8.9.0",
71
72
  "eslint-config-prettier": "^8.3.0",
72
73
  "eslint-plugin-import": "^2.25.4",
73
74
  "husky": "^7.0.4",
74
- "jest": "^27.5.0",
75
+ "jest": "^27.5.1",
75
76
  "jest-extended": "^2.0.0",
76
77
  "jest-junit": "^13.0.0",
77
78
  "jsdoc": "^3.6.10",
@@ -87,7 +88,7 @@
87
88
  "typescript": "4.5.5"
88
89
  },
89
90
  "optionalDependencies": {
90
- "@babel/core": "^7.17.0",
91
+ "@babel/core": "^7.17.2",
91
92
  "prop-types": "^15.8.1",
92
93
  "react": "^17.0.2",
93
94
  "react-dom": "^17.0.2"
@@ -41,7 +41,6 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
41
41
  applicationSecrets: secretsmanager.ISecret[]
42
42
 
43
43
  /* destined lambda related resources */
44
- apiDestinedLambdaDirectory = 'app/api-destined-function'
45
44
  apiDestinedLambda: types.ApiDestinedLambdaType
46
45
 
47
46
  /* event related resources */
@@ -190,26 +189,18 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
190
189
  }
191
190
  }
192
191
 
193
- protected createApiDestinedLambdaLayersSource() {
194
- return (
195
- this.props.lambda.layerSource ??
196
- new lambda.AssetCode(`../node_modules/@gradientedge/cdk-utils/dist/${this.apiDestinedLambdaDirectory}/layers`)
197
- )
198
- }
199
-
200
192
  /**
201
193
  * @summary Method to create layers for Api Destined Lambda function
202
194
  * @protected
203
195
  */
204
196
  protected createApiDestinedLambdaLayers() {
205
197
  const layers: lambda.LayerVersion[] = []
206
- layers.push(
207
- this.lambdaManager.createLambdaLayer(
208
- `${this.id}-lambda-destined-layer`,
209
- this,
210
- this.createApiDestinedLambdaLayersSource()
198
+ if (this.props.lambda.layerSource) {
199
+ layers.push(
200
+ this.lambdaManager.createLambdaLayer(`${this.id}-lambda-destined-layer`, this, this.props.lambda.layerSource)
211
201
  )
212
- )
202
+ }
203
+
213
204
  this.apiDestinedLambda.layers = layers
214
205
  }
215
206
 
@@ -222,18 +213,13 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
222
213
  this.apiDestinedLambda.destinationFailure = new destinations.EventBridgeDestination(this.apiEvent.eventBus)
223
214
  }
224
215
 
225
- protected createApiDestinedLambdaFunctionSource() {
226
- return (
227
- this.props.lambda.source ??
228
- new lambda.AssetCode(`../node_modules/@gradientedge/cdk-utils/dist/${this.apiDestinedLambdaDirectory}/src/lib`)
229
- )
230
- }
231
-
232
216
  /**
233
217
  * @summary Method to create lambda function for Api Destined
234
218
  * @protected
235
219
  */
236
220
  protected createApiDestinedLambdaFunction() {
221
+ if (!this.props.lambda.source) throw 'Api Destined Lambda props undefined'
222
+
237
223
  this.apiDestinedLambda.function = this.lambdaManager.createLambdaFunction(
238
224
  `${this.id}-lambda-destined`,
239
225
  this,
@@ -246,7 +232,7 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
246
232
  },
247
233
  this.apiDestinedLambda.role,
248
234
  this.apiDestinedLambda.layers,
249
- this.createApiDestinedLambdaFunctionSource(),
235
+ this.props.lambda.source,
250
236
  this.props.lambda.handler ?? 'lambda.handler',
251
237
  this.apiDestinedLambda.environment
252
238
  )
@@ -420,18 +406,22 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
420
406
  }
421
407
 
422
408
  protected createApiDestinedResource() {
409
+ if (!this.props.api.withResource) return
410
+
423
411
  this.apiDestinedRestApi.resource = this.apiDestinedRestApi.api.root.addResource(
424
412
  this.props.api.resource ?? this.apiResource
425
413
  )
426
414
  }
427
415
 
428
416
  protected createApiDestinedIntegrationRequestParameters() {
417
+ if (!this.props.api.withResource) return
429
418
  this.apiDestinedRestApi.integrationRequestParameters = {
430
419
  'integration.request.header.Content-Type': "'application/x-www-form-urlencoded'",
431
420
  }
432
421
  }
433
422
 
434
423
  protected createApiDestinedIntegrationRequestTemplates() {
424
+ if (!this.props.api.withResource) return
435
425
  this.apiDestinedRestApi.integrationRequestTemplates = {
436
426
  'application/json': [
437
427
  'Action=Publish',
@@ -443,6 +433,7 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
443
433
  }
444
434
 
445
435
  protected createApiDestinedIntegrationResponse() {
436
+ if (!this.props.api.withResource) return
446
437
  this.apiDestinedRestApi.integrationResponse = {
447
438
  ...{
448
439
  statusCode: '200',
@@ -455,6 +446,7 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
455
446
  }
456
447
 
457
448
  protected createApiDestinedIntegrationErrorResponse() {
449
+ if (!this.props.api.withResource) return
458
450
  this.apiDestinedRestApi.integrationErrorResponse = {
459
451
  ...{
460
452
  selectionPattern: '^\\[Error\\].*',
@@ -476,6 +468,7 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
476
468
  }
477
469
 
478
470
  protected createApiDestinedIntegration() {
471
+ if (!this.props.api.withResource) return
479
472
  this.apiDestinedRestApi.integration = new apig.Integration({
480
473
  type: apig.IntegrationType.AWS,
481
474
  integrationHttpMethod: 'POST',
@@ -497,6 +490,7 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
497
490
  }
498
491
 
499
492
  protected createApiDestinedMethodResponse() {
493
+ if (!this.props.api.withResource) return
500
494
  this.apiDestinedRestApi.methodResponse = {
501
495
  ...{
502
496
  statusCode: '200',
@@ -514,6 +508,7 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
514
508
  }
515
509
 
516
510
  protected createApiDestinedMethodErrorResponse() {
511
+ if (!this.props.api.withResource) return
517
512
  this.apiDestinedRestApi.methodErrorResponse = {
518
513
  ...{
519
514
  statusCode: '400',
@@ -531,6 +526,7 @@ export class ApiToEventBridgeTarget extends CommonConstruct {
531
526
  }
532
527
 
533
528
  protected createApiDestinedResourceMethod() {
529
+ if (!this.props.api.withResource) return
534
530
  this.apiDestinedRestApi.method = this.apiDestinedRestApi.resource.addMethod(
535
531
  'POST',
536
532
  this.apiDestinedRestApi.integration,
@@ -0,0 +1 @@
1
+ export * from './main'
@@ -0,0 +1,150 @@
1
+ import * as cdk from 'aws-cdk-lib'
2
+ import * as ec2 from 'aws-cdk-lib/aws-ec2'
3
+ import * as elasticache from 'aws-cdk-lib/aws-elasticache'
4
+ import * as iam from 'aws-cdk-lib/aws-iam'
5
+ import { Construct } from 'constructs'
6
+ import { GraphQLApiLambda } from '..'
7
+ import { GraphQlApiLambdaWithCacheProps } from '../../types'
8
+ import * as utils from '../../utils'
9
+
10
+ /**
11
+ * @stability stable
12
+ * @category cdk-utils.graphql-api-lambda-with-cache
13
+ * @subcategory construct
14
+ * @classdesc Provides a construct to create and deploy a Graphql API as Lambda with Caching
15
+ *
16
+ * <b>Architecture</b> ![Architecture](./GraphQLApiLambda.jpg)
17
+ *
18
+ * @example
19
+ * import { GraphQlApiLambdaWithCacheProps } '@gradientedge/cdk-utils'
20
+ * import { Construct } from 'constructs'
21
+ *
22
+ * class CustomConstruct extends GraphQLApiLambdaWithCache {
23
+ * constructor(parent: Construct, id: string, props: GraphQlApiLambdaWithCacheProps) {
24
+ * super(parent, id, props)
25
+ * this.props = props
26
+ * this.id = id
27
+ * this.initResources()
28
+ * }
29
+ * }
30
+ */
31
+ export class GraphQLApiLambdaWithCache extends GraphQLApiLambda {
32
+ /* graphql restApi props */
33
+ props: GraphQlApiLambdaWithCacheProps
34
+ id: string
35
+
36
+ /* graphql restApi resources */
37
+ graphQLVpc: ec2.IVpc
38
+ graphQLElastiCache: elasticache.CfnCacheCluster
39
+ graphQLSecurityGroup: ec2.ISecurityGroup
40
+ securityGroupStackName: string
41
+ securityGroupExportName: string
42
+ vpcExportName: string
43
+
44
+ constructor(parent: Construct, id: string, props: GraphQlApiLambdaWithCacheProps) {
45
+ super(parent, id, props)
46
+
47
+ this.props = props
48
+ this.id = id
49
+ }
50
+
51
+ protected initResources() {
52
+ this.setVpc()
53
+ this.setSecurityGroup()
54
+ this.createElastiCache()
55
+ super.initResources()
56
+ }
57
+
58
+ /**
59
+ * Create VPC
60
+ * @protected
61
+ */
62
+ protected setVpc() {
63
+ if (this.props.vpcExportName) {
64
+ this.graphQLVpc = this.vpcManager.retrieveCommonVpc(`${this.id}`, this, this.props.vpcExportName)
65
+ } else {
66
+ this.graphQLVpc = this.vpcManager.createCommonVpc(this, this.props.graphQLVpc, this.props.graphQLVpc.vpcName)
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Resolve Security Group
72
+ * @protected
73
+ */
74
+ protected setSecurityGroup() {
75
+ if (this.props.securityGroupExportName) {
76
+ this.graphQLSecurityGroup = ec2.SecurityGroup.fromSecurityGroupId(
77
+ this,
78
+ `${this.id}`,
79
+ cdk.Fn.importValue(this.props.securityGroupExportName)
80
+ )
81
+ } else {
82
+ this.graphQLSecurityGroup = new ec2.SecurityGroup(this, `${this.id}-security-group-${this.props.stage}`, {
83
+ securityGroupName: `${this.id}-security-group-${this.props.stage}`,
84
+ vpc: this.graphQLVpc,
85
+ })
86
+
87
+ this.graphQLSecurityGroup.addIngressRule(ec2.Peer.anyIpv4(), ec2.Port.allIcmp(), 'All Traffic')
88
+
89
+ utils.createCfnOutput(`${this.id}-security-group-id`, this, this.graphQLSecurityGroup.securityGroupId)
90
+ }
91
+ }
92
+
93
+ /**
94
+ * Create ElastiCache
95
+ * @protected
96
+ */
97
+ protected createElastiCache() {
98
+ this.graphQLElastiCache = this.elasticacheManager.createElastiCache(
99
+ `${this.id}-elasticache`,
100
+ this,
101
+ this.props.graphQLElastiCache,
102
+ this.graphQLVpc.privateSubnets.map(subnet => subnet.subnetId),
103
+ [this.graphQLSecurityGroup.toString()]
104
+ )
105
+ }
106
+
107
+ /**
108
+ * Create Lambda Role
109
+ * @protected
110
+ */
111
+ protected createLambdaRole() {
112
+ super.createLambdaRole()
113
+
114
+ this.graphQLApiLambdaRole.addManagedPolicy(
115
+ iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSLambdaVPCAccessExecutionRole')
116
+ )
117
+ }
118
+
119
+ /**
120
+ * @summary Method to create environment variables for GraphQL Lambda function
121
+ * @protected
122
+ */
123
+ protected createLambdaEnvironment() {
124
+ this.graphQLApiLambdaEnvironment = {
125
+ CACHE_REDIS_HOST: `${this.graphQLElastiCache.attrRedisEndpointAddress}`,
126
+ CACHE_REDIS_PORT: `${this.graphQLElastiCache.attrRedisEndpointPort}`,
127
+ NODE_ENV: this.props.nodeEnv,
128
+ LOG_LEVEL: this.props.logLevel,
129
+ TZ: this.props.timezone,
130
+ }
131
+ }
132
+
133
+ protected createLambdaFunction() {
134
+ this.graphQLApiLambdaFunction = this.lambdaManager.createLambdaFunction(
135
+ `${this.id}-graphql-server`,
136
+ this,
137
+ this.props.graphqlApi,
138
+ this.graphQLApiLambdaRole,
139
+ this.graphQLApiLambdaLayers,
140
+ this.props.graphQLApiSource,
141
+ this.props.graphQLApiHandler || 'index.handler',
142
+ this.graphQLApiLambdaEnvironment,
143
+ this.graphQLVpc,
144
+ [this.graphQLSecurityGroup],
145
+ undefined,
146
+ undefined,
147
+ this.graphQLVpc
148
+ )
149
+ }
150
+ }
@@ -1,4 +1,5 @@
1
1
  export * from './api-to-eventbridge-target'
2
2
  export * from './graphql-api-lambda'
3
+ export * from './graphql-api-lambda-with-cache'
3
4
  export * from './site-with-ecs-backend'
4
5
  export * from './static-site'
@@ -57,6 +57,7 @@ export class VpcManager {
57
57
  vpc.privateSubnets.map(subnet => subnet.routeTable.routeTableId).toString()
58
58
  )
59
59
  utils.createCfnOutput(`${id}AvailabilityZones`, scope, vpc.availabilityZones.toString())
60
+ utils.createCfnOutput(`${id}DefaultSecurityGroup`, scope, vpc.vpcDefaultSecurityGroup.toString())
60
61
 
61
62
  return vpc
62
63
  }