@gradientedge/cdk-utils 8.24.0 → 8.26.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.
- package/dist/src/lib/manager/aws/cloudfront-manager.d.ts +3 -1
- package/dist/src/lib/manager/aws/cloudfront-manager.js +4 -1
- package/dist/src/lib/manager/aws/lambda-manager.d.ts +2 -1
- package/dist/src/lib/manager/aws/lambda-manager.js +3 -2
- package/dist/src/lib/manager/aws/ssm-manager.js +1 -1
- package/package.json +10 -10
- package/src/lib/manager/aws/cloudfront-manager.ts +5 -0
- package/src/lib/manager/aws/lambda-manager.ts +3 -0
- package/src/lib/manager/aws/ssm-manager.ts +1 -1
|
@@ -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
|
|
@@ -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
|
|
@@ -112,7 +112,7 @@ class SSMParameterReader extends cr.AwsCustomResource {
|
|
|
112
112
|
Name: `${parameterName}-${scope.props.stage}`,
|
|
113
113
|
},
|
|
114
114
|
region,
|
|
115
|
-
physicalResourceId: cr.PhysicalResourceId.of(
|
|
115
|
+
physicalResourceId: cr.PhysicalResourceId.of(Date.now().toString()),
|
|
116
116
|
};
|
|
117
117
|
super(scope, name, {
|
|
118
118
|
onUpdate: ssmAwsSdkCall,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gradientedge/cdk-utils",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.26.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.
|
|
51
|
+
"@types/node": "^18.15.0",
|
|
52
52
|
"app-root-path": "^3.1.0",
|
|
53
|
-
"aws-cdk-lib": "^2.
|
|
54
|
-
"aws-sdk": "^2.
|
|
55
|
-
"constructs": "^10.1.
|
|
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.
|
|
66
|
-
"@typescript-eslint/parser": "^5.54.
|
|
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.
|
|
74
|
+
"eslint-config-prettier": "^8.7.0",
|
|
75
75
|
"eslint-plugin-import": "^2.27.5",
|
|
76
76
|
"husky": "^8.0.3",
|
|
77
|
-
"jest": "^29.
|
|
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.
|
|
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}`,
|
|
@@ -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,
|
|
@@ -98,7 +98,7 @@ export class SSMParameterReader extends cr.AwsCustomResource {
|
|
|
98
98
|
Name: `${parameterName}-${scope.props.stage}`,
|
|
99
99
|
},
|
|
100
100
|
region,
|
|
101
|
-
physicalResourceId: cr.PhysicalResourceId.of(
|
|
101
|
+
physicalResourceId: cr.PhysicalResourceId.of(Date.now().toString()),
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
super(scope, name, {
|