@gradientedge/cdk-utils 8.23.0 → 8.25.0

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.
@@ -4,6 +4,7 @@ import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
4
4
  import * as origins from 'aws-cdk-lib/aws-cloudfront-origins';
5
5
  import * as ec2 from 'aws-cdk-lib/aws-ec2';
6
6
  import * as efs from 'aws-cdk-lib/aws-efs';
7
+ import * as iam from 'aws-cdk-lib/aws-iam';
7
8
  import * as lambda from 'aws-cdk-lib/aws-lambda';
8
9
  import * as s3 from 'aws-cdk-lib/aws-s3';
9
10
  import * as common from '../../common';
@@ -84,13 +85,14 @@ export declare class CloudFrontManager {
84
85
  * @param {types.LambdaEdgeProps} props lambda@edge properties
85
86
  * @param {lambda.ILayerVersion[]} layers
86
87
  * @param {lambda.AssetCode} code
88
+ * @param {iam.Role} role
87
89
  * @param {Map<string, string>} environment
88
90
  * @param {ec2.IVpc} vpc
89
91
  * @param {ec2.ISecurityGroup[]} securityGroups
90
92
  * @param {efs.IAccessPoint} accessPoint
91
93
  * @param {string} mountPath
92
94
  */
93
- createEdgeFunction(id: string, scope: common.CommonConstruct, props: types.LambdaEdgeProps, layers: lambda.ILayerVersion[], code: lambda.AssetCode, environment?: any, vpc?: ec2.IVpc, securityGroups?: ec2.ISecurityGroup[], accessPoint?: efs.IAccessPoint, mountPath?: string): cdk.aws_cloudfront.experimental.EdgeFunction;
95
+ createEdgeFunction(id: string, scope: common.CommonConstruct, props: types.LambdaEdgeProps, layers: lambda.ILayerVersion[], code: lambda.AssetCode, role: iam.Role, environment?: any, vpc?: ec2.IVpc, securityGroups?: ec2.ISecurityGroup[], accessPoint?: efs.IAccessPoint, mountPath?: string): cdk.aws_cloudfront.experimental.EdgeFunction;
94
96
  /**
95
97
  *
96
98
  * @param id
@@ -215,17 +215,19 @@ class CloudFrontManager {
215
215
  * @param {types.LambdaEdgeProps} props lambda@edge properties
216
216
  * @param {lambda.ILayerVersion[]} layers
217
217
  * @param {lambda.AssetCode} code
218
+ * @param {iam.Role} role
218
219
  * @param {Map<string, string>} environment
219
220
  * @param {ec2.IVpc} vpc
220
221
  * @param {ec2.ISecurityGroup[]} securityGroups
221
222
  * @param {efs.IAccessPoint} accessPoint
222
223
  * @param {string} mountPath
223
224
  */
224
- createEdgeFunction(id, scope, props, layers, code, environment, vpc, securityGroups, accessPoint, mountPath) {
225
+ createEdgeFunction(id, scope, props, layers, code, role, environment, vpc, securityGroups, accessPoint, mountPath) {
225
226
  if (!props)
226
227
  throw `EdgeFunction props undefined for ${id}`;
227
228
  const edgeFunction = new cloudfront.experimental.EdgeFunction(scope, `${id}`, {
228
229
  code: code,
230
+ description: props.description,
229
231
  environment: {
230
232
  ...environment,
231
233
  },
@@ -236,6 +238,7 @@ class CloudFrontManager {
236
238
  logRetention: props.logRetention,
237
239
  memorySize: props.memorySize,
238
240
  reservedConcurrentExecutions: props.reservedConcurrentExecutions,
241
+ role: role,
239
242
  runtime: props.runtime ?? lambda_manager_1.LambdaManager.NODEJS_RUNTIME,
240
243
  securityGroups: securityGroups,
241
244
  stackId: `${id}-stack-id-${scope.props.stage}`,
@@ -59,13 +59,14 @@ export declare class LambdaManager {
59
59
  * @param {types.LambdaEdgeProps} props lambda@edge properties
60
60
  * @param {lambda.ILayerVersion[]} layers
61
61
  * @param {lambda.AssetCode} code
62
+ * @param {iam.Role} role
62
63
  * @param {Map<string, string>?} environment
63
64
  * @param {ec2.IVpc?} vpc
64
65
  * @param {ec2.ISecurityGroup[]?} securityGroups
65
66
  * @param {efs.IAccessPoint?} accessPoint
66
67
  * @param {string?} mountPath
67
68
  */
68
- createEdgeFunction(id: string, scope: common.CommonConstruct, props: types.LambdaEdgeProps, layers: lambda.ILayerVersion[], code: lambda.AssetCode, environment?: any, vpc?: ec2.IVpc, securityGroups?: ec2.ISecurityGroup[], accessPoint?: efs.IAccessPoint, mountPath?: string): cdk.aws_cloudfront.experimental.EdgeFunction;
69
+ createEdgeFunction(id: string, scope: common.CommonConstruct, props: types.LambdaEdgeProps, layers: lambda.ILayerVersion[], code: lambda.AssetCode, role: iam.Role, environment?: any, vpc?: ec2.IVpc, securityGroups?: ec2.ISecurityGroup[], accessPoint?: efs.IAccessPoint, mountPath?: string): cdk.aws_cloudfront.experimental.EdgeFunction;
69
70
  /**
70
71
  * @summary Method to create a lambda function (nodejs) with docker image
71
72
  * @param {string} id scoped id of the resource
@@ -119,7 +119,7 @@ class LambdaManager {
119
119
  reservedConcurrentExecutions: props.reservedConcurrentExecutions,
120
120
  role: role instanceof iam.Role ? role : undefined,
121
121
  securityGroups: securityGroups,
122
- timeout: props.timeoutInSecs ? cdk.Duration.seconds(props.timeoutInSecs) : cdk.Duration.minutes(1),
122
+ timeout: props.timeoutInSecs ? cdk.Duration.seconds(props.timeoutInSecs) : cdk.Duration.minutes(15),
123
123
  vpc: vpc,
124
124
  vpcSubnets: vpcSubnets,
125
125
  tracing: props.tracing,
@@ -137,14 +137,15 @@ class LambdaManager {
137
137
  * @param {types.LambdaEdgeProps} props lambda@edge properties
138
138
  * @param {lambda.ILayerVersion[]} layers
139
139
  * @param {lambda.AssetCode} code
140
+ * @param {iam.Role} role
140
141
  * @param {Map<string, string>?} environment
141
142
  * @param {ec2.IVpc?} vpc
142
143
  * @param {ec2.ISecurityGroup[]?} securityGroups
143
144
  * @param {efs.IAccessPoint?} accessPoint
144
145
  * @param {string?} mountPath
145
146
  */
146
- createEdgeFunction(id, scope, props, layers, code, environment, vpc, securityGroups, accessPoint, mountPath) {
147
- return new cloudfront_manager_1.CloudFrontManager().createEdgeFunction(id, scope, props, layers, code, environment, vpc, securityGroups, accessPoint, mountPath);
147
+ createEdgeFunction(id, scope, props, layers, code, role, environment, vpc, securityGroups, accessPoint, mountPath) {
148
+ return new cloudfront_manager_1.CloudFrontManager().createEdgeFunction(id, scope, props, layers, code, role, environment, vpc, securityGroups, accessPoint, mountPath);
148
149
  }
149
150
  /**
150
151
  * @summary Method to create a lambda function (nodejs) with docker image
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils",
3
- "version": "8.23.0",
3
+ "version": "8.25.0",
4
4
  "description": "Utilities for AWS CDK provisioning",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -48,11 +48,11 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@types/lodash": "^4.14.191",
51
- "@types/node": "^18.14.6",
51
+ "@types/node": "^18.15.0",
52
52
  "app-root-path": "^3.1.0",
53
- "aws-cdk-lib": "^2.67.0",
54
- "aws-sdk": "^2.1328.0",
55
- "constructs": "^10.1.269",
53
+ "aws-cdk-lib": "^2.68.0",
54
+ "aws-sdk": "^2.1332.0",
55
+ "constructs": "^10.1.273",
56
56
  "lodash": "^4.17.21",
57
57
  "moment": "^2.29.4",
58
58
  "nconf": "^0.12.0",
@@ -62,8 +62,8 @@
62
62
  "devDependencies": {
63
63
  "@babel/plugin-proposal-class-properties": "^7.18.6",
64
64
  "@types/jest": "^29.4.0",
65
- "@typescript-eslint/eslint-plugin": "^5.54.0",
66
- "@typescript-eslint/parser": "^5.54.0",
65
+ "@typescript-eslint/eslint-plugin": "^5.54.1",
66
+ "@typescript-eslint/parser": "^5.54.1",
67
67
  "aws-cdk": "*",
68
68
  "babel-eslint": "^10.1.0",
69
69
  "better-docs": "^2.7.2",
@@ -71,10 +71,10 @@
71
71
  "commitizen": "^4.3.0",
72
72
  "dotenv": "^16.0.3",
73
73
  "eslint": "^8.35.0",
74
- "eslint-config-prettier": "^8.6.0",
74
+ "eslint-config-prettier": "^8.7.0",
75
75
  "eslint-plugin-import": "^2.27.5",
76
76
  "husky": "^8.0.3",
77
- "jest": "^29.4.3",
77
+ "jest": "^29.5.0",
78
78
  "jest-extended": "^3.2.4",
79
79
  "jest-junit": "^15.0.0",
80
80
  "jsdoc": "^4.0.2",
@@ -83,7 +83,7 @@
83
83
  "lerna": "^6.5.1",
84
84
  "prettier": "^2.8.4",
85
85
  "prettier-plugin-organize-imports": "^3.2.2",
86
- "rimraf": "^4.3.0",
86
+ "rimraf": "^4.4.0",
87
87
  "semantic-release": "^19.0.5",
88
88
  "taffydb": "^2.7.3",
89
89
  "ts-jest": "^29.0.5",
@@ -4,6 +4,7 @@ import * as cloudfront from 'aws-cdk-lib/aws-cloudfront'
4
4
  import * as origins from 'aws-cdk-lib/aws-cloudfront-origins'
5
5
  import * as ec2 from 'aws-cdk-lib/aws-ec2'
6
6
  import * as efs from 'aws-cdk-lib/aws-efs'
7
+ import * as iam from 'aws-cdk-lib/aws-iam'
7
8
  import * as lambda from 'aws-cdk-lib/aws-lambda'
8
9
  import * as s3 from 'aws-cdk-lib/aws-s3'
9
10
  import * as cr from 'aws-cdk-lib/custom-resources'
@@ -235,6 +236,7 @@ export class CloudFrontManager {
235
236
  * @param {types.LambdaEdgeProps} props lambda@edge properties
236
237
  * @param {lambda.ILayerVersion[]} layers
237
238
  * @param {lambda.AssetCode} code
239
+ * @param {iam.Role} role
238
240
  * @param {Map<string, string>} environment
239
241
  * @param {ec2.IVpc} vpc
240
242
  * @param {ec2.ISecurityGroup[]} securityGroups
@@ -247,6 +249,7 @@ export class CloudFrontManager {
247
249
  props: types.LambdaEdgeProps,
248
250
  layers: lambda.ILayerVersion[],
249
251
  code: lambda.AssetCode,
252
+ role: iam.Role,
250
253
  environment?: any,
251
254
  vpc?: ec2.IVpc,
252
255
  securityGroups?: ec2.ISecurityGroup[],
@@ -257,6 +260,7 @@ export class CloudFrontManager {
257
260
 
258
261
  const edgeFunction = new cloudfront.experimental.EdgeFunction(scope, `${id}`, {
259
262
  code: code,
263
+ description: props.description,
260
264
  environment: {
261
265
  ...environment,
262
266
  },
@@ -267,6 +271,7 @@ export class CloudFrontManager {
267
271
  logRetention: props.logRetention,
268
272
  memorySize: props.memorySize,
269
273
  reservedConcurrentExecutions: props.reservedConcurrentExecutions,
274
+ role: role,
270
275
  runtime: props.runtime ?? LambdaManager.NODEJS_RUNTIME,
271
276
  securityGroups: securityGroups,
272
277
  stackId: `${id}-stack-id-${scope.props.stage}`,
@@ -122,7 +122,7 @@ export class LambdaManager {
122
122
  reservedConcurrentExecutions: props.reservedConcurrentExecutions,
123
123
  role: role instanceof iam.Role ? role : undefined,
124
124
  securityGroups: securityGroups,
125
- timeout: props.timeoutInSecs ? cdk.Duration.seconds(props.timeoutInSecs) : cdk.Duration.minutes(1),
125
+ timeout: props.timeoutInSecs ? cdk.Duration.seconds(props.timeoutInSecs) : cdk.Duration.minutes(15),
126
126
  vpc: vpc,
127
127
  vpcSubnets: vpcSubnets,
128
128
  tracing: props.tracing,
@@ -143,6 +143,7 @@ export class LambdaManager {
143
143
  * @param {types.LambdaEdgeProps} props lambda@edge properties
144
144
  * @param {lambda.ILayerVersion[]} layers
145
145
  * @param {lambda.AssetCode} code
146
+ * @param {iam.Role} role
146
147
  * @param {Map<string, string>?} environment
147
148
  * @param {ec2.IVpc?} vpc
148
149
  * @param {ec2.ISecurityGroup[]?} securityGroups
@@ -155,6 +156,7 @@ export class LambdaManager {
155
156
  props: types.LambdaEdgeProps,
156
157
  layers: lambda.ILayerVersion[],
157
158
  code: lambda.AssetCode,
159
+ role: iam.Role,
158
160
  environment?: any,
159
161
  vpc?: ec2.IVpc,
160
162
  securityGroups?: ec2.ISecurityGroup[],
@@ -167,6 +169,7 @@ export class LambdaManager {
167
169
  props,
168
170
  layers,
169
171
  code,
172
+ role,
170
173
  environment,
171
174
  vpc,
172
175
  securityGroups,