cloudstructs 0.6.28 → 0.6.29
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/.jsii +13 -13
- package/assets/slack-app/provider.lambda/index.js +8 -8
- package/assets/slack-events/events.lambda/index.js +12 -14
- package/assets/slack-textract/detect.lambda/index.js +4 -4
- package/assets/toolkit-cleaner/clean-images.lambda/index.js +7 -8
- package/assets/toolkit-cleaner/clean-objects.lambda/index.js +7 -8
- package/assets/toolkit-cleaner/extract-template-hashes.lambda/index.js +4 -4
- package/assets/toolkit-cleaner/get-stack-names.lambda/index.js +8 -4
- package/assets/url-shortener/redirect.edge-lambda/index.js +5 -6
- package/assets/url-shortener/shortener.lambda/index.js +11 -9
- package/lib/codecommit-mirror/index.js +2 -2
- package/lib/ecs-service-roller/index.js +9 -8
- package/lib/email-receiver/receiver.js +1 -1
- package/lib/email-receiver/s3-function.js +2 -2
- package/lib/email-receiver/whitelist-function.js +2 -2
- package/lib/saml-identity-provider/index.js +3 -3
- package/lib/slack-app/manifest.js +1 -1
- package/lib/slack-app/provider-function.js +2 -2
- package/lib/slack-app/provider.lambda.js +10 -9
- package/lib/slack-app/slack-app.js +2 -2
- package/lib/slack-events/events-function.js +2 -2
- package/lib/slack-events/events.lambda.js +7 -9
- package/lib/slack-events/index.js +1 -1
- package/lib/slack-textract/detect-function.js +2 -2
- package/lib/slack-textract/detect.lambda.js +5 -5
- package/lib/slack-textract/index.js +1 -1
- package/lib/ssl-server-test/analyze-function.js +2 -2
- package/lib/ssl-server-test/extract-grade-function.js +2 -2
- package/lib/ssl-server-test/index.js +1 -1
- package/lib/state-machine-cr-provider/index.js +4 -4
- package/lib/state-machine-cr-provider/runtime/index.js +5 -5
- package/lib/static-website/index.js +1 -1
- package/lib/static-website/origin-request-function.js +2 -2
- package/lib/toolkit-cleaner/clean-images-function.js +2 -2
- package/lib/toolkit-cleaner/clean-images.lambda.js +7 -7
- package/lib/toolkit-cleaner/clean-objects-function.js +2 -2
- package/lib/toolkit-cleaner/clean-objects.lambda.js +7 -7
- package/lib/toolkit-cleaner/extract-template-hashes-function.js +2 -2
- package/lib/toolkit-cleaner/extract-template-hashes.lambda.js +5 -5
- package/lib/toolkit-cleaner/get-stack-names-function.js +2 -2
- package/lib/toolkit-cleaner/get-stack-names.lambda.js +9 -5
- package/lib/toolkit-cleaner/index.js +1 -1
- package/lib/url-shortener/index.js +1 -1
- package/lib/url-shortener/redirect-function.js +2 -2
- package/lib/url-shortener/redirect.edge-lambda.js +5 -5
- package/lib/url-shortener/shortener-function.js +2 -2
- package/lib/url-shortener/shortener.lambda.js +11 -8
- package/package.json +14 -3
package/.jsii
CHANGED
|
@@ -3176,7 +3176,7 @@
|
|
|
3176
3176
|
},
|
|
3177
3177
|
"locationInModule": {
|
|
3178
3178
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3179
|
-
"line":
|
|
3179
|
+
"line": 68
|
|
3180
3180
|
},
|
|
3181
3181
|
"parameters": [
|
|
3182
3182
|
{
|
|
@@ -3202,7 +3202,7 @@
|
|
|
3202
3202
|
"kind": "class",
|
|
3203
3203
|
"locationInModule": {
|
|
3204
3204
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3205
|
-
"line":
|
|
3205
|
+
"line": 67
|
|
3206
3206
|
},
|
|
3207
3207
|
"name": "EcsServiceRoller",
|
|
3208
3208
|
"symbolId": "src/ecs-service-roller/index:EcsServiceRoller"
|
|
@@ -3218,7 +3218,7 @@
|
|
|
3218
3218
|
"kind": "interface",
|
|
3219
3219
|
"locationInModule": {
|
|
3220
3220
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3221
|
-
"line":
|
|
3221
|
+
"line": 12
|
|
3222
3222
|
},
|
|
3223
3223
|
"name": "EcsServiceRollerProps",
|
|
3224
3224
|
"properties": [
|
|
@@ -3231,7 +3231,7 @@
|
|
|
3231
3231
|
"immutable": true,
|
|
3232
3232
|
"locationInModule": {
|
|
3233
3233
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3234
|
-
"line":
|
|
3234
|
+
"line": 16
|
|
3235
3235
|
},
|
|
3236
3236
|
"name": "cluster",
|
|
3237
3237
|
"type": {
|
|
@@ -3247,7 +3247,7 @@
|
|
|
3247
3247
|
"immutable": true,
|
|
3248
3248
|
"locationInModule": {
|
|
3249
3249
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3250
|
-
"line":
|
|
3250
|
+
"line": 21
|
|
3251
3251
|
},
|
|
3252
3252
|
"name": "service",
|
|
3253
3253
|
"type": {
|
|
@@ -3264,7 +3264,7 @@
|
|
|
3264
3264
|
"immutable": true,
|
|
3265
3265
|
"locationInModule": {
|
|
3266
3266
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3267
|
-
"line":
|
|
3267
|
+
"line": 28
|
|
3268
3268
|
},
|
|
3269
3269
|
"name": "trigger",
|
|
3270
3270
|
"optional": true,
|
|
@@ -3495,7 +3495,7 @@
|
|
|
3495
3495
|
"kind": "class",
|
|
3496
3496
|
"locationInModule": {
|
|
3497
3497
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3498
|
-
"line":
|
|
3498
|
+
"line": 34
|
|
3499
3499
|
},
|
|
3500
3500
|
"methods": [
|
|
3501
3501
|
{
|
|
@@ -3505,7 +3505,7 @@
|
|
|
3505
3505
|
},
|
|
3506
3506
|
"locationInModule": {
|
|
3507
3507
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3508
|
-
"line":
|
|
3508
|
+
"line": 45
|
|
3509
3509
|
},
|
|
3510
3510
|
"name": "fromRule",
|
|
3511
3511
|
"parameters": [
|
|
@@ -3530,7 +3530,7 @@
|
|
|
3530
3530
|
},
|
|
3531
3531
|
"locationInModule": {
|
|
3532
3532
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3533
|
-
"line":
|
|
3533
|
+
"line": 38
|
|
3534
3534
|
},
|
|
3535
3535
|
"name": "fromSchedule",
|
|
3536
3536
|
"parameters": [
|
|
@@ -3561,7 +3561,7 @@
|
|
|
3561
3561
|
"immutable": true,
|
|
3562
3562
|
"locationInModule": {
|
|
3563
3563
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3564
|
-
"line":
|
|
3564
|
+
"line": 61
|
|
3565
3565
|
},
|
|
3566
3566
|
"name": "rule",
|
|
3567
3567
|
"optional": true,
|
|
@@ -3579,7 +3579,7 @@
|
|
|
3579
3579
|
"immutable": true,
|
|
3580
3580
|
"locationInModule": {
|
|
3581
3581
|
"filename": "src/ecs-service-roller/index.ts",
|
|
3582
|
-
"line":
|
|
3582
|
+
"line": 54
|
|
3583
3583
|
},
|
|
3584
3584
|
"name": "schedule",
|
|
3585
3585
|
"optional": true,
|
|
@@ -6453,6 +6453,6 @@
|
|
|
6453
6453
|
"symbolId": "src/url-shortener/index:UrlShortenerProps"
|
|
6454
6454
|
}
|
|
6455
6455
|
},
|
|
6456
|
-
"version": "0.6.
|
|
6457
|
-
"fingerprint": "
|
|
6456
|
+
"version": "0.6.29",
|
|
6457
|
+
"fingerprint": "Y4FCWFqflh8fSElRBo+XxeFDzCGcbxzppDBGIHOSP4E="
|
|
6458
6458
|
}
|
|
@@ -6509,17 +6509,17 @@ __export(provider_lambda_exports, {
|
|
|
6509
6509
|
handler: () => handler
|
|
6510
6510
|
});
|
|
6511
6511
|
module.exports = __toCommonJS(provider_lambda_exports);
|
|
6512
|
-
var
|
|
6512
|
+
var import_client_secrets_manager = require("@aws-sdk/client-secrets-manager");
|
|
6513
6513
|
var import_got = __toESM(require_source5());
|
|
6514
|
-
var
|
|
6514
|
+
var secretsmanagerClient = new import_client_secrets_manager.SecretsManagerClient({});
|
|
6515
6515
|
var slackClient = import_got.default.extend({
|
|
6516
6516
|
prefixUrl: "https://slack.com/api"
|
|
6517
6517
|
});
|
|
6518
6518
|
async function handler(event) {
|
|
6519
6519
|
console.log("Event: %j", event);
|
|
6520
|
-
const data = await
|
|
6520
|
+
const data = await secretsmanagerClient.send(new import_client_secrets_manager.GetSecretValueCommand({
|
|
6521
6521
|
SecretId: event.ResourceProperties.configurationTokenSecretArn
|
|
6522
|
-
})
|
|
6522
|
+
}));
|
|
6523
6523
|
if (!data.SecretString) {
|
|
6524
6524
|
throw new Error("No secret string found in configuration token secret");
|
|
6525
6525
|
}
|
|
@@ -6539,14 +6539,14 @@ async function handler(event) {
|
|
|
6539
6539
|
console.log("Access token refreshed");
|
|
6540
6540
|
accessToken = rotate.token;
|
|
6541
6541
|
console.log("Saving access token");
|
|
6542
|
-
const putSecretValue = await
|
|
6542
|
+
const putSecretValue = await secretsmanagerClient.send(new import_client_secrets_manager.PutSecretValueCommand({
|
|
6543
6543
|
SecretId: event.ResourceProperties.configurationTokenSecretArn,
|
|
6544
6544
|
SecretString: JSON.stringify({
|
|
6545
6545
|
accessToken,
|
|
6546
6546
|
refreshToken: rotate.refresh_token,
|
|
6547
6547
|
exp: rotate.exp
|
|
6548
6548
|
})
|
|
6549
|
-
})
|
|
6549
|
+
}));
|
|
6550
6550
|
console.log(`Successfully saved access token in secret ${putSecretValue.ARN}`);
|
|
6551
6551
|
}
|
|
6552
6552
|
const operation = event.RequestType.toLowerCase();
|
|
@@ -6564,7 +6564,7 @@ ${errors}}` : ""}`);
|
|
|
6564
6564
|
console.log(`Successfully ${operation}d Slack app ${event.PhysicalResourceId ?? response.app_id}`);
|
|
6565
6565
|
if (event.RequestType === "Create" && response.credentials) {
|
|
6566
6566
|
console.log("Saving app credentials");
|
|
6567
|
-
const putSecretValue = await
|
|
6567
|
+
const putSecretValue = await secretsmanagerClient.send(new import_client_secrets_manager.PutSecretValueCommand({
|
|
6568
6568
|
SecretId: event.ResourceProperties.credentialsSecretArn,
|
|
6569
6569
|
SecretString: JSON.stringify({
|
|
6570
6570
|
appId: response.app_id,
|
|
@@ -6573,7 +6573,7 @@ ${errors}}` : ""}`);
|
|
|
6573
6573
|
verificationToken: response.credentials.verification_token,
|
|
6574
6574
|
signingSecret: response.credentials.signing_secret
|
|
6575
6575
|
})
|
|
6576
|
-
})
|
|
6576
|
+
}));
|
|
6577
6577
|
console.log(`Successfully saved app credentials in secret ${putSecretValue.ARN}`);
|
|
6578
6578
|
}
|
|
6579
6579
|
return {
|
|
@@ -33,7 +33,7 @@ __export(events_lambda_exports, {
|
|
|
33
33
|
handler: () => handler
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(events_lambda_exports);
|
|
36
|
-
var
|
|
36
|
+
var import_client_eventbridge = require("@aws-sdk/client-eventbridge");
|
|
37
37
|
|
|
38
38
|
// src/slack-events/signature.ts
|
|
39
39
|
var crypto = __toESM(require("crypto"));
|
|
@@ -55,6 +55,7 @@ function verifyRequestSignature(options) {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
// src/slack-events/events.lambda.ts
|
|
58
|
+
var eventBridgeClient = new import_client_eventbridge.EventBridgeClient({});
|
|
58
59
|
async function handler(event) {
|
|
59
60
|
console.log("Event: %j", event);
|
|
60
61
|
const response = {
|
|
@@ -86,19 +87,16 @@ async function handler(event) {
|
|
|
86
87
|
response.body = JSON.stringify({ challenge: body.challenge });
|
|
87
88
|
return response;
|
|
88
89
|
}
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
]
|
|
101
|
-
}).promise();
|
|
90
|
+
const putEvents = await eventBridgeClient.send(new import_client_eventbridge.PutEventsCommand({
|
|
91
|
+
Entries: [{
|
|
92
|
+
Detail: event.body,
|
|
93
|
+
DetailType: "Slack Event",
|
|
94
|
+
Source: "slack",
|
|
95
|
+
Resources: [body.api_app_id],
|
|
96
|
+
EventBusName: process.env.EVENT_BUS_NAME,
|
|
97
|
+
Time: new Date(body.event_time)
|
|
98
|
+
}]
|
|
99
|
+
}));
|
|
102
100
|
console.log("Put events: %j", putEvents);
|
|
103
101
|
return response;
|
|
104
102
|
} catch (err) {
|
|
@@ -21077,9 +21077,10 @@ __export(detect_lambda_exports, {
|
|
|
21077
21077
|
handler: () => handler
|
|
21078
21078
|
});
|
|
21079
21079
|
module.exports = __toCommonJS(detect_lambda_exports);
|
|
21080
|
+
var import_client_textract = require("@aws-sdk/client-textract");
|
|
21080
21081
|
var import_web_api = __toESM(require_dist4());
|
|
21081
|
-
var import_aws_sdk = require("aws-sdk");
|
|
21082
21082
|
var import_got = __toESM(require_source5());
|
|
21083
|
+
var textractClient = new import_client_textract.TextractClient({});
|
|
21083
21084
|
async function handler(event) {
|
|
21084
21085
|
console.log("Event: %j", event);
|
|
21085
21086
|
const slackClient = new import_web_api.WebClient(process.env.SLACK_TOKEN);
|
|
@@ -21096,10 +21097,9 @@ async function handler(event) {
|
|
|
21096
21097
|
Authorization: `Bearer ${process.env.SLACK_TOKEN}`
|
|
21097
21098
|
}
|
|
21098
21099
|
}).buffer();
|
|
21099
|
-
const
|
|
21100
|
-
const data = await textract.detectDocumentText({
|
|
21100
|
+
const data = await textractClient.send(new import_client_textract.DetectDocumentTextCommand({
|
|
21101
21101
|
Document: { Bytes: file }
|
|
21102
|
-
})
|
|
21102
|
+
}));
|
|
21103
21103
|
if (!data.Blocks) {
|
|
21104
21104
|
console.log("No text detected");
|
|
21105
21105
|
return;
|
|
@@ -23,10 +23,9 @@ __export(clean_images_lambda_exports, {
|
|
|
23
23
|
handler: () => handler
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(clean_images_lambda_exports);
|
|
26
|
-
var
|
|
27
|
-
var
|
|
26
|
+
var import_client_ecr = require("@aws-sdk/client-ecr");
|
|
27
|
+
var ecrClient = new import_client_ecr.ECRClient({});
|
|
28
28
|
async function handler(assetHashes) {
|
|
29
|
-
var _a;
|
|
30
29
|
if (!process.env.REPOSITORY_NAME) {
|
|
31
30
|
throw new Error("Missing REPOSITORY_NAME");
|
|
32
31
|
}
|
|
@@ -35,11 +34,11 @@ async function handler(assetHashes) {
|
|
|
35
34
|
let nextToken;
|
|
36
35
|
let finished = false;
|
|
37
36
|
while (!finished) {
|
|
38
|
-
const response = await
|
|
37
|
+
const response = await ecrClient.send(new import_client_ecr.DescribeImagesCommand({
|
|
39
38
|
repositoryName: process.env.REPOSITORY_NAME,
|
|
40
39
|
nextToken
|
|
41
|
-
})
|
|
42
|
-
const toDelete =
|
|
40
|
+
}));
|
|
41
|
+
const toDelete = response.imageDetails?.filter((x) => {
|
|
43
42
|
if (!x.imageTags) {
|
|
44
43
|
return false;
|
|
45
44
|
}
|
|
@@ -55,10 +54,10 @@ async function handler(assetHashes) {
|
|
|
55
54
|
});
|
|
56
55
|
if (toDelete && toDelete.length !== 0) {
|
|
57
56
|
if (process.env.RUN) {
|
|
58
|
-
await
|
|
57
|
+
await ecrClient.send(new import_client_ecr.BatchDeleteImageCommand({
|
|
59
58
|
repositoryName: process.env.REPOSITORY_NAME,
|
|
60
59
|
imageIds: toDelete.map((x) => ({ imageTag: x.imageTags[0] }))
|
|
61
|
-
})
|
|
60
|
+
}));
|
|
62
61
|
}
|
|
63
62
|
deleted += toDelete.length;
|
|
64
63
|
reclaimed += toDelete.reduce((acc, x) => acc + (x.imageSizeInBytes ?? 0), 0);
|
|
@@ -34,10 +34,9 @@ __export(clean_objects_lambda_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(clean_objects_lambda_exports);
|
|
36
36
|
var path = __toESM(require("path"));
|
|
37
|
-
var
|
|
38
|
-
var
|
|
37
|
+
var import_client_s3 = require("@aws-sdk/client-s3");
|
|
38
|
+
var s3Client = new import_client_s3.S3Client({});
|
|
39
39
|
async function handler(assetHashes) {
|
|
40
|
-
var _a;
|
|
41
40
|
if (!process.env.BUCKET_NAME) {
|
|
42
41
|
throw new Error("Missing BUCKET_NAME");
|
|
43
42
|
}
|
|
@@ -46,11 +45,11 @@ async function handler(assetHashes) {
|
|
|
46
45
|
let nextKeyMarker;
|
|
47
46
|
let finished = false;
|
|
48
47
|
while (!finished) {
|
|
49
|
-
const response = await
|
|
48
|
+
const response = await s3Client.send(new import_client_s3.ListObjectVersionsCommand({
|
|
50
49
|
Bucket: process.env.BUCKET_NAME,
|
|
51
50
|
KeyMarker: nextKeyMarker
|
|
52
|
-
})
|
|
53
|
-
const toDelete =
|
|
51
|
+
}));
|
|
52
|
+
const toDelete = response.Versions?.filter((v) => {
|
|
54
53
|
if (!v.Key) {
|
|
55
54
|
return false;
|
|
56
55
|
}
|
|
@@ -67,12 +66,12 @@ async function handler(assetHashes) {
|
|
|
67
66
|
});
|
|
68
67
|
if (toDelete && toDelete.length !== 0) {
|
|
69
68
|
if (process.env.RUN) {
|
|
70
|
-
await
|
|
69
|
+
await s3Client.send(new import_client_s3.DeleteObjectsCommand({
|
|
71
70
|
Bucket: process.env.BUCKET_NAME,
|
|
72
71
|
Delete: {
|
|
73
72
|
Objects: toDelete.map((v) => ({ Key: v.Key, VersionId: v.VersionId }))
|
|
74
73
|
}
|
|
75
|
-
})
|
|
74
|
+
}));
|
|
76
75
|
}
|
|
77
76
|
deleted += toDelete.length;
|
|
78
77
|
reclaimed += toDelete.reduce((acc, x) => acc + (x.Size ?? 0), 0);
|
|
@@ -23,12 +23,12 @@ __export(extract_template_hashes_lambda_exports, {
|
|
|
23
23
|
handler: () => handler
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(extract_template_hashes_lambda_exports);
|
|
26
|
-
var
|
|
27
|
-
var
|
|
26
|
+
var import_client_cloudformation = require("@aws-sdk/client-cloudformation");
|
|
27
|
+
var cloudFormationClient = new import_client_cloudformation.CloudFormationClient({});
|
|
28
28
|
async function handler(stackName) {
|
|
29
|
-
const template = await
|
|
29
|
+
const template = await cloudFormationClient.send(new import_client_cloudformation.GetTemplateCommand({
|
|
30
30
|
StackName: stackName
|
|
31
|
-
})
|
|
31
|
+
}));
|
|
32
32
|
if (!template.TemplateBody) {
|
|
33
33
|
return [];
|
|
34
34
|
}
|
|
@@ -23,15 +23,19 @@ __export(get_stack_names_lambda_exports, {
|
|
|
23
23
|
handler: () => handler
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(get_stack_names_lambda_exports);
|
|
26
|
-
var
|
|
27
|
-
var
|
|
26
|
+
var import_client_cloudformation = require("@aws-sdk/client-cloudformation");
|
|
27
|
+
var cloudFormationClient = new import_client_cloudformation.CloudFormationClient({});
|
|
28
28
|
async function handler() {
|
|
29
29
|
const res = [];
|
|
30
30
|
let nextToken;
|
|
31
31
|
let finished = false;
|
|
32
32
|
while (!finished) {
|
|
33
|
-
const response = await
|
|
34
|
-
|
|
33
|
+
const response = await cloudFormationClient.send(new import_client_cloudformation.DescribeStacksCommand({ NextToken: nextToken }));
|
|
34
|
+
for (const stack of response.Stacks ?? []) {
|
|
35
|
+
if (stack.StackName) {
|
|
36
|
+
res.push(stack.StackName);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
35
39
|
nextToken = response.NextToken;
|
|
36
40
|
if (nextToken === void 0) {
|
|
37
41
|
finished = true;
|
|
@@ -23,22 +23,21 @@ __export(redirect_edge_lambda_exports, {
|
|
|
23
23
|
handler: () => handler
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(redirect_edge_lambda_exports);
|
|
26
|
-
var
|
|
27
|
-
var
|
|
26
|
+
var import_client_s3 = require("@aws-sdk/client-s3");
|
|
27
|
+
var s3Client = new import_client_s3.S3Client({});
|
|
28
28
|
async function handler(event) {
|
|
29
|
-
var _a;
|
|
30
29
|
const request = event.Records[0].cf.request;
|
|
31
30
|
try {
|
|
32
|
-
const s3Origin =
|
|
31
|
+
const s3Origin = request.origin?.s3;
|
|
33
32
|
if (!s3Origin) {
|
|
34
33
|
throw new Error("No S3 origin");
|
|
35
34
|
}
|
|
36
35
|
const bucket = s3Origin.domainName.replace(new RegExp(`.s3.${s3Origin.region}.amazonaws.com$`), "");
|
|
37
36
|
const key = request.uri.substring(1);
|
|
38
|
-
const data = await
|
|
37
|
+
const data = await s3Client.send(new import_client_s3.GetObjectCommand({
|
|
39
38
|
Bucket: bucket,
|
|
40
39
|
Key: key
|
|
41
|
-
})
|
|
40
|
+
}));
|
|
42
41
|
if (!data.Body) {
|
|
43
42
|
throw new Error("No body");
|
|
44
43
|
}
|
|
@@ -24,7 +24,9 @@ __export(shortener_lambda_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(shortener_lambda_exports);
|
|
26
26
|
var import_url = require("url");
|
|
27
|
-
var
|
|
27
|
+
var import_client_dynamodb = require("@aws-sdk/client-dynamodb");
|
|
28
|
+
var import_client_s3 = require("@aws-sdk/client-s3");
|
|
29
|
+
var import_lib_dynamodb = require("@aws-sdk/lib-dynamodb");
|
|
28
30
|
function base62Encode(int) {
|
|
29
31
|
const characterSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
30
32
|
if (int === 0)
|
|
@@ -54,10 +56,10 @@ function isUrlValid(url) {
|
|
|
54
56
|
return false;
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
|
-
var
|
|
58
|
-
var
|
|
59
|
+
var dynamoDBClient = new import_client_dynamodb.DynamoDBClient({});
|
|
60
|
+
var documentClient = import_lib_dynamodb.DynamoDBDocumentClient.from(dynamoDBClient);
|
|
61
|
+
var s3Client = new import_client_s3.S3Client({});
|
|
59
62
|
async function handler(event) {
|
|
60
|
-
var _a;
|
|
61
63
|
console.log("Event: %j", event);
|
|
62
64
|
const response = {
|
|
63
65
|
statusCode: 201,
|
|
@@ -72,26 +74,26 @@ async function handler(event) {
|
|
|
72
74
|
statusCode: 400
|
|
73
75
|
};
|
|
74
76
|
}
|
|
75
|
-
const update = await documentClient.
|
|
77
|
+
const update = await documentClient.send(new import_lib_dynamodb.UpdateCommand({
|
|
76
78
|
TableName: getEnv("TABLE_NAME"),
|
|
77
79
|
Key: { key: "counter" },
|
|
78
80
|
UpdateExpression: "ADD #value :incr",
|
|
79
81
|
ExpressionAttributeNames: { "#value": "value" },
|
|
80
82
|
ExpressionAttributeValues: { ":incr": 1 },
|
|
81
83
|
ReturnValues: "UPDATED_NEW"
|
|
82
|
-
})
|
|
83
|
-
const value =
|
|
84
|
+
}));
|
|
85
|
+
const value = update.Attributes?.value;
|
|
84
86
|
if (!value) {
|
|
85
87
|
throw new Error("Cannot get next counter value");
|
|
86
88
|
}
|
|
87
89
|
const key = base62Encode(value);
|
|
88
90
|
console.log("Key: %j", key);
|
|
89
|
-
const putObject = await
|
|
91
|
+
const putObject = await s3Client.send(new import_client_s3.PutObjectCommand({
|
|
90
92
|
Bucket: getEnv("BUCKET_NAME"),
|
|
91
93
|
Key: key,
|
|
92
94
|
ContentType: "application/json",
|
|
93
95
|
Body: JSON.stringify({ url: body.url })
|
|
94
|
-
})
|
|
96
|
+
}));
|
|
95
97
|
console.log("Put object: %j", putObject);
|
|
96
98
|
return {
|
|
97
99
|
...response,
|
|
@@ -41,7 +41,7 @@ class CodeCommitMirrorSourceRepository {
|
|
|
41
41
|
}
|
|
42
42
|
exports.CodeCommitMirrorSourceRepository = CodeCommitMirrorSourceRepository;
|
|
43
43
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.6.
|
|
44
|
+
CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.6.29" };
|
|
45
45
|
/**
|
|
46
46
|
* Mirror a repository to AWS CodeCommit on schedule
|
|
47
47
|
*/
|
|
@@ -89,5 +89,5 @@ class CodeCommitMirror extends constructs_1.Construct {
|
|
|
89
89
|
}
|
|
90
90
|
exports.CodeCommitMirror = CodeCommitMirror;
|
|
91
91
|
_b = JSII_RTTI_SYMBOL_1;
|
|
92
|
-
CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.6.
|
|
92
|
+
CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.6.29" };
|
|
93
93
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWNvbW1pdC1taXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IseURBQXlEO0FBQ3pELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsaURBQWlEO0FBQ2pELDBEQUEwRDtBQUMxRCwyQ0FBMkM7QUFDM0MsNkNBQTZDO0FBQzdDLDJDQUF1QztBQStCdkM7O0dBRUc7QUFDSCxNQUFzQixnQ0FBZ0M7SUFDcEQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzlDLE9BQU87WUFDTCxJQUFJO1lBQ0osWUFBWSxFQUFFLHNCQUFzQixLQUFLLElBQUksSUFBSSxFQUFFO1NBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsR0FBZTtRQUNqRCxPQUFPO1lBQ0wsSUFBSTtZQUNKLFNBQVMsRUFBRSxHQUFHO1NBQ2YsQ0FBQztJQUNKLENBQUM7O0FBdkJILDRFQTJDQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBQzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFdBQVcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNoRSxjQUFjLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3JDLFdBQVcsRUFBRSxhQUFhLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO1NBQ2xELENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdFLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQ3ZDLEtBQUssRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5RyxPQUFPLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUM1QixZQUFZLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUNuQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVO2FBQzVDLENBQUM7WUFDRixXQUFXLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDM0IsV0FBVyxFQUFFLFdBQVcsQ0FBQyxxQkFBcUI7Z0JBQzlDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZO29CQUM5QixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUU7b0JBQzNDLENBQUMsQ0FBQyxFQUFFO2FBQ1A7WUFDRCxPQUFPLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTO2dCQUNqQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3hDLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsY0FBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN6RCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztZQUMvQixTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDekMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQy9DLE1BQU0sRUFBRSxHQUFHO2dCQUNYLElBQUksRUFBRSxHQUFHO2FBQ1YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixjQUFjO1lBQ2QsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7U0FDaEYsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQTlDSCw0Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY29kZWNvbW1pdCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdCc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgQ29kZUNvbW1pdE1pcnJvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb21taXRNaXJyb3JQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHJlcG9zaXRvcnlcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk6IENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5O1xuXG4gIC8qKlxuICAgKiBUaGUgRUNTIGNsdXN0ZXIgd2hlcmUgdG8gcnVuIHRoZSBtaXJyb3Jpbmcgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlZHVsZSBmb3IgdGhlIG1pcnJvcmluZyBvcGVyYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRvIHJ1biB0aGUgbWlycm9yaW5nIEZhcmdhdGUgdGFza3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwdWJsaWMgc3VibmV0c1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBBIHNvdXJjZSByZXBvc2l0b3J5IGZvciBBV1MgQ29kZUNvbW1pdCBtaXJyb3JpbmdcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5IHtcbiAgLyoqXG4gICAqIFB1YmxpYyBHaXRIdWIgcmVwb3NpdG9yeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnaXRIdWIob3duZXI6IHN0cmluZywgbmFtZTogc3RyaW5nKTogQ29kZUNvbW1pdE1pcnJvclNvdXJjZVJlcG9zaXRvcnkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgcGxhaW5UZXh0VXJsOiBgaHR0cHM6Ly9naXRodWIuY29tLyR7b3duZXJ9LyR7bmFtZX1gLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUHJpdmF0ZSByZXBvc2l0b3J5IHdpdGggSFRUUFMgY2xvbmUgVVJMIHN0b3JlZCBpbiBhIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IG9yXG4gICAqIGEgQVdTIFN5c3RlbXMgTWFuYWdlciBzZWN1cmUgc3RyaW5nIHBhcmFtZXRlci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgdGhlIHJlcG9zaXRvcnkgbmFtZVxuICAgKiBAcGFyYW0gdXJsIHRoZSBzZWNyZXQgY29udGFpbmluZyB0aGUgSFRUUFMgY2xvbmUgVVJMXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHByaXZhdGUobmFtZTogc3RyaW5nLCB1cmw6IGVjcy5TZWNyZXQpOiBDb2RlQ29tbWl0TWlycm9yU291cmNlUmVwb3NpdG9yeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICBzZWNyZXRVcmw6IHVybCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgSFRUUFMgY2xvbmUgVVJMIGluIHBsYWluIHRleHQsIHVzZWQgZm9yIGEgcHVibGljIHJlcG9zaXRvcnkgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBsYWluVGV4dFVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEhUVFBTIGNsb25lIFVSTCBpZiB0aGUgcmVwb3NpdG9yeSBpcyBwcml2YXRlLlxuICAgKlxuICAgKiBUaGUgc2VjcmV0IHNob3VsZCBjb250YWluIHRoZSB1c2VybmFtZSBhbmQvb3IgdG9rZW4uXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBodHRwczovL1RPS0VOQGdpdGh1Yi5jb20vb3duZXIvbmFtZWBcbiAgICogYGh0dHBzOi8vVVNFUk5BTUU6VE9LRU5AYml0YnVja2V0Lm9yZy9vd25lci9uYW1lLmdpdGBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzZWNyZXRVcmw/OiBlY3MuU2VjcmV0O1xufVxuXG4vKipcbiAqIE1pcnJvciBhIHJlcG9zaXRvcnkgdG8gQVdTIENvZGVDb21taXQgb24gc2NoZWR1bGVcbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVDb21taXRNaXJyb3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZUNvbW1pdE1pcnJvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IGNvZGVjb21taXQuUmVwb3NpdG9yeSh0aGlzLCAnUmVwb3NpdG9yeScsIHtcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogYE1pcnJvciBvZiAke3Byb3BzLnJlcG9zaXRvcnkubmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdGFza0RlZmluaXRpb24gPSBuZXcgZWNzLkZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCAnVGFza0RlZmluaXRpb24nKTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcignQ29udGFpbmVyJywge1xuICAgICAgaW1hZ2U6IGVjcy5Db250YWluZXJJbWFnZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ2Fzc2V0cycsICdjb2RlY29tbWl0LW1pcnJvcicsICdkb2NrZXInKSksXG4gICAgICBsb2dnaW5nOiBuZXcgZWNzLkF3c0xvZ0RyaXZlcih7XG4gICAgICAgIHN0cmVhbVByZWZpeDogcHJvcHMucmVwb3NpdG9yeS5uYW1lLFxuICAgICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5UV09fTU9OVEhTLFxuICAgICAgfSksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBOQU1FOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICAgIERFU1RJTkFUSU9OOiBkZXN0aW5hdGlvbi5yZXBvc2l0b3J5Q2xvbmVVcmxHcmMsXG4gICAgICAgIC4uLnByb3BzLnJlcG9zaXRvcnkucGxhaW5UZXh0VXJsXG4gICAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5wbGFpblRleHRVcmwgfVxuICAgICAgICAgIDoge30sXG4gICAgICB9LFxuICAgICAgc2VjcmV0czogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmxcbiAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmwgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydjb2RlY29tbWl0OkdpdFB1c2gnXSxcbiAgICAgIHJlc291cmNlczogW2Rlc3RpbmF0aW9uLnJlcG9zaXRvcnlBcm5dLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMuc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5FY3NUYXNrKHtcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbixcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjogcHJvcHMuc3VibmV0U2VsZWN0aW9uID8/IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -27,7 +27,7 @@ class RollTrigger {
|
|
|
27
27
|
}
|
|
28
28
|
exports.RollTrigger = RollTrigger;
|
|
29
29
|
_a = JSII_RTTI_SYMBOL_1;
|
|
30
|
-
RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.6.
|
|
30
|
+
RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.6.29" };
|
|
31
31
|
/**
|
|
32
32
|
* Roll your ECS service tasks on schedule or with a rule
|
|
33
33
|
*/
|
|
@@ -40,14 +40,15 @@ class EcsServiceRoller extends constructs_1.Construct {
|
|
|
40
40
|
hour: '0',
|
|
41
41
|
}),
|
|
42
42
|
});
|
|
43
|
+
const parameters = {
|
|
44
|
+
service: props.service.serviceName,
|
|
45
|
+
cluster: props.cluster.clusterName,
|
|
46
|
+
forceNewDeployment: true,
|
|
47
|
+
};
|
|
43
48
|
rule.addTarget(new targets.AwsApi({
|
|
44
49
|
service: 'ECS',
|
|
45
50
|
action: 'updateService',
|
|
46
|
-
parameters
|
|
47
|
-
service: props.service.serviceName,
|
|
48
|
-
cluster: props.cluster.clusterName,
|
|
49
|
-
forceNewDeployment: true,
|
|
50
|
-
},
|
|
51
|
+
parameters,
|
|
51
52
|
// https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-supported-iam-actions-resources.html
|
|
52
53
|
// arn:aws:ecs:<region>:<account>:service/<cluster-name>/<service-name>
|
|
53
54
|
policyStatement: new iam.PolicyStatement({
|
|
@@ -63,5 +64,5 @@ class EcsServiceRoller extends constructs_1.Construct {
|
|
|
63
64
|
}
|
|
64
65
|
exports.EcsServiceRoller = EcsServiceRoller;
|
|
65
66
|
_b = JSII_RTTI_SYMBOL_1;
|
|
66
|
-
EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.6.
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.6.29" };
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1QztBQXdCdkM7O0dBRUc7QUFDSCxNQUFzQixXQUFXO0lBQy9COztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF5QjtRQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7QUFiSCxrQ0E0QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUN4RCxNQUFNLEVBQUUsR0FBRztnQkFDWCxJQUFJLEVBQUUsR0FBRzthQUNWLENBQUM7U0FDSCxDQUFDLENBQUM7UUFHSCxNQUFNLFVBQVUsR0FBOEI7WUFDNUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNsQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ2xDLGtCQUFrQixFQUFFLElBQUk7U0FDekIsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2hDLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLGVBQWU7WUFDdkIsVUFBVTtZQUNWLHVHQUF1RztZQUN2Ryx1RUFBdUU7WUFDdkUsZUFBZSxFQUFFLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQzlCLFNBQVMsRUFBRSxDQUFDLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDbkMsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsUUFBUSxFQUFFLFNBQVM7d0JBQ25CLFlBQVksRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO3FCQUMxRSxDQUFDLENBQUM7YUFDSixDQUFDO1NBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQWhDSCw0Q0FpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFVwZGF0ZVNlcnZpY2VDb21tYW5kSW5wdXQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZWNzJztcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBFY3NTZXJ2aWNlUm9sbGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWNzU2VydmljZVJvbGxlclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBFQ1MgY2x1c3RlciB3aGVyZSB0aGUgc2VydmljZXMgcnVuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBFQ1Mgc2VydmljZSBmb3Igd2hpY2ggdGFza3Mgc2hvdWxkIGJlIHJvbGxlZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZTogZWNzLklTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJvbGwgZXZlcnlkYXkgYXQgbWlkbmlnaHRcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBSb2xsVHJpZ2dlcjtcbn1cblxuLyoqXG4gKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUm9sbFRyaWdnZXIge1xuICAvKipcbiAgICogU2NoZWR1bGUgdGhhdCBzaG91bGQgdHJpZ2dlciBhIHJvbGxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVNjaGVkdWxlKHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGUpOiBSb2xsVHJpZ2dlciB7XG4gICAgcmV0dXJuIHsgc2NoZWR1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21SdWxlKHJ1bGU6IGV2ZW50cy5SdWxlKTogUm9sbFRyaWdnZXIge1xuICAgIHJldHVybiB7IHJ1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb2xsIHNjaGVkdWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm9sbCBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNjaGVkdWxlPzogZXZlbnRzLlNjaGVkdWxlO1xuXG4gIC8qKlxuICAgKiBSb2xsIHJ1bGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSByb2xsIGV2ZXJ5ZGF5IGF0IG1pZG5pZ2h0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcnVsZT86IGV2ZW50cy5SdWxlO1xufVxuXG4vKipcbiAqIFJvbGwgeW91ciBFQ1Mgc2VydmljZSB0YXNrcyBvbiBzY2hlZHVsZSBvciB3aXRoIGEgcnVsZVxuICovXG5leHBvcnQgY2xhc3MgRWNzU2VydmljZVJvbGxlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcnVsZSA9IHByb3BzLnRyaWdnZXI/LnJ1bGUgPz8gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdSdWxlJywge1xuICAgICAgc2NoZWR1bGU6IHByb3BzLnRyaWdnZXI/LnNjaGVkdWxlID8/IGV2ZW50cy5TY2hlZHVsZS5jcm9uKHtcbiAgICAgICAgbWludXRlOiAnMCcsXG4gICAgICAgIGhvdXI6ICcwJyxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG5cbiAgICBjb25zdCBwYXJhbWV0ZXJzOiBVcGRhdGVTZXJ2aWNlQ29tbWFuZElucHV0ID0ge1xuICAgICAgc2VydmljZTogcHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZSxcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIuY2x1c3Rlck5hbWUsXG4gICAgICBmb3JjZU5ld0RlcGxveW1lbnQ6IHRydWUsXG4gICAgfTtcbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5Bd3NBcGkoe1xuICAgICAgc2VydmljZTogJ0VDUycsXG4gICAgICBhY3Rpb246ICd1cGRhdGVTZXJ2aWNlJyxcbiAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3Mtc3VwcG9ydGVkLWlhbS1hY3Rpb25zLXJlc291cmNlcy5odG1sXG4gICAgICAvLyBhcm46YXdzOmVjczo8cmVnaW9uPjo8YWNjb3VudD46c2VydmljZS88Y2x1c3Rlci1uYW1lPi88c2VydmljZS1uYW1lPlxuICAgICAgcG9saWN5U3RhdGVtZW50OiBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnZWNzOlVwZGF0ZVNlcnZpY2UnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICBzZXJ2aWNlOiAnZWNzJyxcbiAgICAgICAgICByZXNvdXJjZTogJ3NlcnZpY2UnLFxuICAgICAgICAgIHJlc291cmNlTmFtZTogYCR7cHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgIH0pXSxcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxufVxuIl19
|
|
@@ -62,5 +62,5 @@ class EmailReceiver extends constructs_1.Construct {
|
|
|
62
62
|
}
|
|
63
63
|
exports.EmailReceiver = EmailReceiver;
|
|
64
64
|
_a = JSII_RTTI_SYMBOL_1;
|
|
65
|
-
EmailReceiver[_a] = { fqn: "cloudstructs.EmailReceiver", version: "0.6.
|
|
65
|
+
EmailReceiver[_a] = { fqn: "cloudstructs.EmailReceiver", version: "0.6.29" };
|
|
66
66
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZWl2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwtcmVjZWl2ZXIvcmVjZWl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBdUM7QUFFdkMsb0VBQW9FO0FBQ3BFLDZDQUE2QztBQUM3Qyx5Q0FBeUM7QUFDekMsMkNBQTJDO0FBQzNDLHVEQUF1RDtBQUN2RCwyQ0FBMkM7QUFDM0MsbUVBQW1FO0FBQ25FLDJDQUF1QztBQUN2QywrQ0FBMkM7QUFDM0MsNkRBQXlEO0FBNEN6RDs7O0dBR0c7QUFDSCxNQUFhLGFBQWMsU0FBUSxzQkFBUztJQUMxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDM0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzNDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTO1lBQ2pELFVBQVUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtZQUMxQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxzQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ25ELENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1FBRW5ELE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFM0MsVUFBVTtRQUNWLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRTtZQUN6QixNQUFNLGdCQUFnQixHQUFHLElBQUksc0NBQWlCLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDaEUsV0FBVyxFQUFFO29CQUNYLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxlQUFlO2lCQUN4QztnQkFDRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTO2FBQzNDLENBQUMsQ0FBQztZQUVILFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUN2QyxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixjQUFjLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQjthQUM5RCxDQUFDLENBQUMsQ0FBQztTQUNMO1FBRUQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTTtZQUNOLEtBQUs7U0FDTixDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sU0FBUyxHQUFHLElBQUksd0JBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzNDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7WUFDMUMsU0FBUyxFQUFFLElBQUksWUFBWSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQzVELFlBQVksRUFBRSxJQUFJO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksYUFBYSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0lBQ25GLENBQUM7O0FBaERILHNDQWlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgZGVzdGluYXRpb25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtZGVzdGluYXRpb25zJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHNlcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VzJztcbmltcG9ydCAqIGFzIGFjdGlvbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlcy1hY3Rpb25zJztcbmltcG9ydCAqIGFzIHNucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zJztcbmltcG9ydCAqIGFzIHN1YnNjcmlwdGlvbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNucy1zdWJzY3JpcHRpb25zJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUzNGdW5jdGlvbiB9IGZyb20gJy4vczMtZnVuY3Rpb24nO1xuaW1wb3J0IHsgV2hpdGVsaXN0RnVuY3Rpb24gfSBmcm9tICcuL3doaXRlbGlzdC1mdW5jdGlvbic7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYW4gRW1haWxSZWNlaXZlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsUmVjZWl2ZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgU0VTIHJlY2VpcHQgcnVsZSBzZXQgd2hlcmUgYSByZWNlaXB0IHJ1bGUgd2lsbCBiZSBhZGRlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVjZWlwdFJ1bGVTZXQ6IHNlcy5JUmVjZWlwdFJ1bGVTZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSByZWNpcGllbnRzIGZvciB3aGljaCBlbWFpbHMgc2hvdWxkIGJlIHJlY2VpdmVkXG4gICAqL1xuICByZWFkb25seSByZWNpcGllbnRzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQSBMYW1iZGEgZnVuY3Rpb24gdG8gaW52b2tlIGFmdGVyIHRoZSBtZXNzYWdlIGlzIHNhdmVkIHRvIFMzLiBUaGUgTGFtYmRhXG4gICAqIGZ1bmN0aW9uIHdpbGwgYmUgaW52b2tlZCB3aXRoIGEgU0VTTWVzc2FnZSBhcyBldmVudC5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uOiBsYW1iZGEuSUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byB3aGl0ZWxpc3Qgc291cmNlIGVtYWlsIGFkZHJlc3Nlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHdoaXRlbGlzdGluZyBvZiBzb3VyY2UgZW1haWwgYWRkcmVzc2VzXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VXaGl0ZWxpc3Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIGV4aXN0aW5nIHJ1bGUgYWZ0ZXIgd2hpY2ggdGhlIG5ldyBydWxlIHdpbGwgYmUgcGxhY2VkIGluIHRoZSBydWxlIHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgbmV3IHJ1bGUgaXMgaW5zZXJ0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcnVsZSBsaXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgYWZ0ZXJSdWxlPzogc2VzLklSZWNlaXB0UnVsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVjZWl2ZXIgaXMgYWN0aXZlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZWNlaXZlIGVtYWlscyB0aHJvdWdoIFNFUywgc2F2ZSB0aGVtIHRvIFMzIGFuZCBpbnZva2VzIGFcbiAqIExhbWJkYSBmdW5jdGlvblxuICovXG5leHBvcnQgY2xhc3MgRW1haWxSZWNlaXZlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFbWFpbFJlY2VpdmVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcmVjZWlwdFJ1bGUgPSBuZXcgc2VzLlJlY2VpcHRSdWxlKHRoaXMsICdSZWNlaXB0UnVsZScsIHtcbiAgICAgIHJ1bGVTZXQ6IHByb3BzLnJlY2VpcHRSdWxlU2V0LFxuICAgICAgcmVjaXBpZW50czogcHJvcHMucmVjaXBpZW50cyxcbiAgICAgIGFmdGVyOiBwcm9wcy5hZnRlclJ1bGUsXG4gICAgICBlbmFibGVkOiBwcm9wcy5lbmFibGVkLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnQnVja2V0Jywge1xuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIGVuY3J5cHRpb246IHMzLkJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbeyBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDEpIH1dLFxuICAgIH0pO1xuICAgIGJ1Y2tldC5ncmFudFJlYWQocHJvcHMuZnVuY3Rpb24pOyAvLyBEb3dubG9hZCBlbWFpbFxuXG4gICAgY29uc3QgdG9waWMgPSBuZXcgc25zLlRvcGljKHRoaXMsICdUb3BpYycpO1xuXG4gICAgLy8gQWN0aW9uc1xuICAgIGlmIChwcm9wcy5zb3VyY2VXaGl0ZWxpc3QpIHtcbiAgICAgIGNvbnN0IHdoaXRlbGlzdEhhbmRsZXIgPSBuZXcgV2hpdGVsaXN0RnVuY3Rpb24odGhpcywgJ3doaXRlbGlzdCcsIHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBTT1VSQ0VfV0hJVEVMSVNUOiBwcm9wcy5zb3VyY2VXaGl0ZWxpc3QsXG4gICAgICAgIH0sXG4gICAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgIH0pO1xuXG4gICAgICByZWNlaXB0UnVsZS5hZGRBY3Rpb24obmV3IGFjdGlvbnMuTGFtYmRhKHtcbiAgICAgICAgZnVuY3Rpb246IHdoaXRlbGlzdEhhbmRsZXIsXG4gICAgICAgIGludm9jYXRpb25UeXBlOiBhY3Rpb25zLkxhbWJkYUludm9jYXRpb25UeXBlLlJFUVVFU1RfUkVTUE9OU0UsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgcmVjZWlwdFJ1bGUuYWRkQWN0aW9uKG5ldyBhY3Rpb25zLlMzKHtcbiAgICAgIGJ1Y2tldCxcbiAgICAgIHRvcGljLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHMzSGFuZGxlciA9IG5ldyBTM0Z1bmN0aW9uKHRoaXMsICdzMycsIHtcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgIG9uU3VjY2VzczogbmV3IGRlc3RpbmF0aW9ucy5MYW1iZGFEZXN0aW5hdGlvbihwcm9wcy5mdW5jdGlvbiwge1xuICAgICAgICByZXNwb25zZU9ubHk6IHRydWUsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRvcGljLmFkZFN1YnNjcmlwdGlvbihuZXcgc3Vic2NyaXB0aW9ucy5MYW1iZGFTdWJzY3JpcHRpb24oczNIYW5kbGVyKSk7IC8vIE5vdGlmeVxuICB9XG59XG4iXX0=
|
|
@@ -12,7 +12,7 @@ class S3Function extends lambda.Function {
|
|
|
12
12
|
super(scope, id, {
|
|
13
13
|
description: 'src/email-receiver/s3.lambda.ts',
|
|
14
14
|
...props,
|
|
15
|
-
runtime: new lambda.Runtime('
|
|
15
|
+
runtime: new lambda.Runtime('nodejs18.x', lambda.RuntimeFamily.NODEJS),
|
|
16
16
|
handler: 'index.handler',
|
|
17
17
|
code: lambda.Code.fromAsset(path.join(__dirname, '../../assets/email-receiver/s3.lambda')),
|
|
18
18
|
});
|
|
@@ -20,4 +20,4 @@ class S3Function extends lambda.Function {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.S3Function = S3Function;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwtcmVjZWl2ZXIvczMtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxNQUFNLENBQUMsUUFBUTtJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN0RSxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsdUNBQXVDLENBQUMsQ0FBQztTQUMzRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRjtBQVhELGdDQVdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy5qcyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BzIGZvciBTM0Z1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvZW1haWwtcmVjZWl2ZXIvczMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTM0Z1bmN0aW9uIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwtcmVjZWl2ZXIvczMtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxNQUFNLENBQUMsUUFBUTtJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN0RSxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsdUNBQXVDLENBQUMsQ0FBQztTQUMzRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRjtBQVhELGdDQVdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy5qcyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BzIGZvciBTM0Z1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvZW1haWwtcmVjZWl2ZXIvczMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTM0Z1bmN0aW9uIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBTM0Z1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2VtYWlsLXJlY2VpdmVyL3MzLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMTgueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uL2Fzc2V0cy9lbWFpbC1yZWNlaXZlci9zMy5sYW1iZGEnKSksXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1xuICB9XG59Il19
|
|
@@ -12,7 +12,7 @@ class WhitelistFunction extends lambda.Function {
|
|
|
12
12
|
super(scope, id, {
|
|
13
13
|
description: 'src/email-receiver/whitelist.lambda.ts',
|
|
14
14
|
...props,
|
|
15
|
-
runtime: new lambda.Runtime('
|
|
15
|
+
runtime: new lambda.Runtime('nodejs18.x', lambda.RuntimeFamily.NODEJS),
|
|
16
16
|
handler: 'index.handler',
|
|
17
17
|
code: lambda.Code.fromAsset(path.join(__dirname, '../../assets/email-receiver/whitelist.lambda')),
|
|
18
18
|
});
|
|
@@ -20,4 +20,4 @@ class WhitelistFunction extends lambda.Function {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.WhitelistFunction = WhitelistFunction;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGVsaXN0LWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VtYWlsLXJlY2VpdmVyL3doaXRlbGlzdC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDcEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSx3Q0FBd0M7WUFDckQsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDhDQUE4QyxDQUFDLENBQUM7U0FDbEcsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFYRCw4Q0FXQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGVsaXN0LWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VtYWlsLXJlY2VpdmVyL3doaXRlbGlzdC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDcEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSx3Q0FBd0M7WUFDckQsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDhDQUE4QyxDQUFDLENBQUM7U0FDbEcsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFYRCw4Q0FXQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMuanMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgV2hpdGVsaXN0RnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaGl0ZWxpc3RGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvZW1haWwtcmVjZWl2ZXIvd2hpdGVsaXN0LlxuICovXG5leHBvcnQgY2xhc3MgV2hpdGVsaXN0RnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFdoaXRlbGlzdEZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2VtYWlsLXJlY2VpdmVyL3doaXRlbGlzdC5sYW1iZGEudHMnLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBydW50aW1lOiBuZXcgbGFtYmRhLlJ1bnRpbWUoJ25vZGVqczE4LngnLCBsYW1iZGEuUnVudGltZUZhbWlseS5OT0RFSlMpLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9hc3NldHMvZW1haWwtcmVjZWl2ZXIvd2hpdGVsaXN0LmxhbWJkYScpKSxcbiAgICB9KTtcbiAgICB0aGlzLmFkZEVudmlyb25tZW50KCdBV1NfTk9ERUpTX0NPTk5FQ1RJT05fUkVVU0VfRU5BQkxFRCcsICcxJywgeyByZW1vdmVJbkVkZ2U6IHRydWUgfSk7XG4gIH1cbn0iXX0=
|