cdk-lambda-subminute 2.0.114 → 2.0.116
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 +2 -2
- package/_temp/TestStack.assets.json +5 -5
- package/_temp/TestStack.template.json +1 -1
- package/_temp/asset.f5b6a6d08a8206e67d0b54e2a29abd7e0472d835abc71037de3a93545b5edacc/index.d.ts +1 -0
- package/_temp/asset.f5b6a6d08a8206e67d0b54e2a29abd7e0472d835abc71037de3a93545b5edacc/index.js +212 -0
- package/_temp/manifest.json +1 -1
- package/_temp/tree.json +56 -56
- package/lib/cdk-lambda-subminute.js +3 -3
- package/package.json +9 -9
package/.jsii
CHANGED
|
@@ -3883,6 +3883,6 @@
|
|
|
3883
3883
|
"symbolId": "src/cdk-lambda-subminute:SubminuteStateMachineProps"
|
|
3884
3884
|
}
|
|
3885
3885
|
},
|
|
3886
|
-
"version": "2.0.
|
|
3887
|
-
"fingerprint": "
|
|
3886
|
+
"version": "2.0.116",
|
|
3887
|
+
"fingerprint": "1CeJU+MeFFItCINy7w9ZSP1QDPvTqLKwiNHIIheZjMo="
|
|
3888
3888
|
}
|
|
@@ -14,20 +14,20 @@
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
|
-
"
|
|
17
|
+
"f5b6a6d08a8206e67d0b54e2a29abd7e0472d835abc71037de3a93545b5edacc": {
|
|
18
18
|
"source": {
|
|
19
|
-
"path": "asset.
|
|
19
|
+
"path": "asset.f5b6a6d08a8206e67d0b54e2a29abd7e0472d835abc71037de3a93545b5edacc",
|
|
20
20
|
"packaging": "zip"
|
|
21
21
|
},
|
|
22
22
|
"destinations": {
|
|
23
23
|
"current_account-current_region": {
|
|
24
24
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
25
|
-
"objectKey": "
|
|
25
|
+
"objectKey": "f5b6a6d08a8206e67d0b54e2a29abd7e0472d835abc71037de3a93545b5edacc.zip",
|
|
26
26
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
-
"
|
|
30
|
+
"4b8aa8fe526cd8c3dcdff18593d6d06d25d71cf5da0e879a9622f877d3a9394e": {
|
|
31
31
|
"source": {
|
|
32
32
|
"path": "TestStack.template.json",
|
|
33
33
|
"packaging": "file"
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"destinations": {
|
|
36
36
|
"current_account-current_region": {
|
|
37
37
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
38
|
-
"objectKey": "
|
|
38
|
+
"objectKey": "4b8aa8fe526cd8c3dcdff18593d6d06d25d71cf5da0e879a9622f877d3a9394e.json",
|
|
39
39
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -469,7 +469,7 @@
|
|
|
469
469
|
"S3Bucket": {
|
|
470
470
|
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
471
471
|
},
|
|
472
|
-
"S3Key": "
|
|
472
|
+
"S3Key": "f5b6a6d08a8206e67d0b54e2a29abd7e0472d835abc71037de3a93545b5edacc.zip"
|
|
473
473
|
},
|
|
474
474
|
"Role": {
|
|
475
475
|
"Fn::GetAtt": [
|
package/_temp/asset.f5b6a6d08a8206e67d0b54e2a29abd7e0472d835abc71037de3a93545b5edacc/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function handler(event: AWSLambda.CloudFormationCustomResourceEvent, context: AWSLambda.Context): Promise<void>;
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.handler = void 0;
|
|
5
|
+
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
6
|
+
const AWS = require("aws-sdk");
|
|
7
|
+
/**
|
|
8
|
+
* Creates a log group and doesn't throw if it exists.
|
|
9
|
+
*
|
|
10
|
+
* @param logGroupName the name of the log group to create.
|
|
11
|
+
* @param region to create the log group in
|
|
12
|
+
* @param options CloudWatch API SDK options.
|
|
13
|
+
*/
|
|
14
|
+
async function createLogGroupSafe(logGroupName, region, options) {
|
|
15
|
+
// If we set the log retention for a lambda, then due to the async nature of
|
|
16
|
+
// Lambda logging there could be a race condition when the same log group is
|
|
17
|
+
// already being created by the lambda execution. This can sometime result in
|
|
18
|
+
// an error "OperationAbortedException: A conflicting operation is currently
|
|
19
|
+
// in progress...Please try again."
|
|
20
|
+
// To avoid an error, we do as requested and try again.
|
|
21
|
+
let retryCount = options?.maxRetries == undefined ? 10 : options.maxRetries;
|
|
22
|
+
const delay = options?.retryOptions?.base == undefined ? 10 : options.retryOptions.base;
|
|
23
|
+
do {
|
|
24
|
+
try {
|
|
25
|
+
const cloudwatchlogs = new AWS.CloudWatchLogs({ apiVersion: '2014-03-28', region, ...options });
|
|
26
|
+
await cloudwatchlogs.createLogGroup({ logGroupName }).promise();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
if (error.code === 'ResourceAlreadyExistsException') {
|
|
31
|
+
// The log group is already created by the lambda execution
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (error.code === 'OperationAbortedException') {
|
|
35
|
+
if (retryCount > 0) {
|
|
36
|
+
retryCount--;
|
|
37
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// The log group is still being created by another execution but we are out of retries
|
|
42
|
+
throw new Error('Out of attempts to create a logGroup');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
throw error;
|
|
46
|
+
}
|
|
47
|
+
} while (true); // exit happens on retry count check
|
|
48
|
+
}
|
|
49
|
+
//delete a log group
|
|
50
|
+
async function deleteLogGroup(logGroupName, region, options) {
|
|
51
|
+
let retryCount = options?.maxRetries == undefined ? 10 : options.maxRetries;
|
|
52
|
+
const delay = options?.retryOptions?.base == undefined ? 10 : options.retryOptions.base;
|
|
53
|
+
do {
|
|
54
|
+
try {
|
|
55
|
+
const cloudwatchlogs = new AWS.CloudWatchLogs({ apiVersion: '2014-03-28', region, ...options });
|
|
56
|
+
await cloudwatchlogs.deleteLogGroup({ logGroupName }).promise();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error.code === 'ResourceNotFoundException') {
|
|
61
|
+
// The log group doesn't exist
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (error.code === 'OperationAbortedException') {
|
|
65
|
+
if (retryCount > 0) {
|
|
66
|
+
retryCount--;
|
|
67
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// The log group is still being deleted by another execution but we are out of retries
|
|
72
|
+
throw new Error('Out of attempts to delete a logGroup');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
} while (true); // exit happens on retry count check
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Puts or deletes a retention policy on a log group.
|
|
81
|
+
*
|
|
82
|
+
* @param logGroupName the name of the log group to create
|
|
83
|
+
* @param region the region of the log group
|
|
84
|
+
* @param options CloudWatch API SDK options.
|
|
85
|
+
* @param retentionInDays the number of days to retain the log events in the specified log group.
|
|
86
|
+
*/
|
|
87
|
+
async function setRetentionPolicy(logGroupName, region, options, retentionInDays) {
|
|
88
|
+
// The same as in createLogGroupSafe(), here we could end up with the race
|
|
89
|
+
// condition where a log group is either already being created or its retention
|
|
90
|
+
// policy is being updated. This would result in an OperationAbortedException,
|
|
91
|
+
// which we will try to catch and retry the command a number of times before failing
|
|
92
|
+
let retryCount = options?.maxRetries == undefined ? 10 : options.maxRetries;
|
|
93
|
+
const delay = options?.retryOptions?.base == undefined ? 10 : options.retryOptions.base;
|
|
94
|
+
do {
|
|
95
|
+
try {
|
|
96
|
+
const cloudwatchlogs = new AWS.CloudWatchLogs({ apiVersion: '2014-03-28', region, ...options });
|
|
97
|
+
if (!retentionInDays) {
|
|
98
|
+
await cloudwatchlogs.deleteRetentionPolicy({ logGroupName }).promise();
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
await cloudwatchlogs.putRetentionPolicy({ logGroupName, retentionInDays }).promise();
|
|
102
|
+
}
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
if (error.code === 'OperationAbortedException') {
|
|
107
|
+
if (retryCount > 0) {
|
|
108
|
+
retryCount--;
|
|
109
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// The log group is still being created by another execution but we are out of retries
|
|
114
|
+
throw new Error('Out of attempts to create a logGroup');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
throw error;
|
|
118
|
+
}
|
|
119
|
+
} while (true); // exit happens on retry count check
|
|
120
|
+
}
|
|
121
|
+
async function handler(event, context) {
|
|
122
|
+
try {
|
|
123
|
+
console.log(JSON.stringify({ ...event, ResponseURL: '...' }));
|
|
124
|
+
// The target log group
|
|
125
|
+
const logGroupName = event.ResourceProperties.LogGroupName;
|
|
126
|
+
// The region of the target log group
|
|
127
|
+
const logGroupRegion = event.ResourceProperties.LogGroupRegion;
|
|
128
|
+
// Parse to AWS SDK retry options
|
|
129
|
+
const retryOptions = parseRetryOptions(event.ResourceProperties.SdkRetry);
|
|
130
|
+
if (event.RequestType === 'Create' || event.RequestType === 'Update') {
|
|
131
|
+
// Act on the target log group
|
|
132
|
+
await createLogGroupSafe(logGroupName, logGroupRegion, retryOptions);
|
|
133
|
+
await setRetentionPolicy(logGroupName, logGroupRegion, retryOptions, parseInt(event.ResourceProperties.RetentionInDays, 10));
|
|
134
|
+
if (event.RequestType === 'Create') {
|
|
135
|
+
// Set a retention policy of 1 day on the logs of this very function.
|
|
136
|
+
// Due to the async nature of the log group creation, the log group for this function might
|
|
137
|
+
// still be not created yet at this point. Therefore we attempt to create it.
|
|
138
|
+
// In case it is being created, createLogGroupSafe will handle the conflict.
|
|
139
|
+
const region = process.env.AWS_REGION;
|
|
140
|
+
await createLogGroupSafe(`/aws/lambda/${context.functionName}`, region, retryOptions);
|
|
141
|
+
// If createLogGroupSafe fails, the log group is not created even after multiple attempts.
|
|
142
|
+
// In this case we have nothing to set the retention policy on but an exception will skip
|
|
143
|
+
// the next line.
|
|
144
|
+
await setRetentionPolicy(`/aws/lambda/${context.functionName}`, region, retryOptions, 1);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//When the requestType is delete, delete the log group if the removal policy is delete
|
|
148
|
+
if (event.RequestType === 'Delete' && event.ResourceProperties.RemovalPolicy === 'destroy') {
|
|
149
|
+
await deleteLogGroup(logGroupName, logGroupRegion, retryOptions);
|
|
150
|
+
//else retain the log group
|
|
151
|
+
}
|
|
152
|
+
await respond('SUCCESS', 'OK', logGroupName);
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
console.log(e);
|
|
156
|
+
await respond('FAILED', e.message, event.ResourceProperties.LogGroupName);
|
|
157
|
+
}
|
|
158
|
+
function respond(responseStatus, reason, physicalResourceId) {
|
|
159
|
+
const responseBody = JSON.stringify({
|
|
160
|
+
Status: responseStatus,
|
|
161
|
+
Reason: reason,
|
|
162
|
+
PhysicalResourceId: physicalResourceId,
|
|
163
|
+
StackId: event.StackId,
|
|
164
|
+
RequestId: event.RequestId,
|
|
165
|
+
LogicalResourceId: event.LogicalResourceId,
|
|
166
|
+
Data: {
|
|
167
|
+
// Add log group name as part of the response so that it's available via Fn::GetAtt
|
|
168
|
+
LogGroupName: event.ResourceProperties.LogGroupName,
|
|
169
|
+
},
|
|
170
|
+
});
|
|
171
|
+
console.log('Responding', responseBody);
|
|
172
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
173
|
+
const parsedUrl = require('url').parse(event.ResponseURL);
|
|
174
|
+
const requestOptions = {
|
|
175
|
+
hostname: parsedUrl.hostname,
|
|
176
|
+
path: parsedUrl.path,
|
|
177
|
+
method: 'PUT',
|
|
178
|
+
headers: {
|
|
179
|
+
'content-type': '',
|
|
180
|
+
'content-length': Buffer.byteLength(responseBody, 'utf8'),
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
return new Promise((resolve, reject) => {
|
|
184
|
+
try {
|
|
185
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
186
|
+
const request = require('https').request(requestOptions, resolve);
|
|
187
|
+
request.on('error', reject);
|
|
188
|
+
request.write(responseBody);
|
|
189
|
+
request.end();
|
|
190
|
+
}
|
|
191
|
+
catch (e) {
|
|
192
|
+
reject(e);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
function parseRetryOptions(rawOptions) {
|
|
197
|
+
const retryOptions = {};
|
|
198
|
+
if (rawOptions) {
|
|
199
|
+
if (rawOptions.maxRetries) {
|
|
200
|
+
retryOptions.maxRetries = parseInt(rawOptions.maxRetries, 10);
|
|
201
|
+
}
|
|
202
|
+
if (rawOptions.base) {
|
|
203
|
+
retryOptions.retryOptions = {
|
|
204
|
+
base: parseInt(rawOptions.base, 10),
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return retryOptions;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
exports.handler = handler;
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCOzs7QUFFL0IsNkRBQTZEO0FBQzdELCtCQUErQjtBQVMvQjs7Ozs7O0dBTUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsWUFBb0IsRUFBRSxNQUFlLEVBQUUsT0FBeUI7SUFDaEcsNEVBQTRFO0lBQzVFLDRFQUE0RTtJQUM1RSw2RUFBNkU7SUFDN0UsNEVBQTRFO0lBQzVFLG1DQUFtQztJQUNuQyx1REFBdUQ7SUFDdkQsSUFBSSxVQUFVLEdBQUcsT0FBTyxFQUFFLFVBQVUsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUM1RSxNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDeEYsR0FBRztRQUNELElBQUk7WUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEcsTUFBTSxjQUFjLENBQUMsY0FBYyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoRSxPQUFPO1NBQ1I7UUFBQyxPQUFPLEtBQVUsRUFBRTtZQUNuQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0NBQWdDLEVBQUU7Z0JBQ25ELDJEQUEyRDtnQkFDM0QsT0FBTzthQUNSO1lBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLDJCQUEyQixFQUFFO2dCQUM5QyxJQUFJLFVBQVUsR0FBRyxDQUFDLEVBQUU7b0JBQ2xCLFVBQVUsRUFB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Q2xFLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM1QixPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM1QixPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDZjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxpQkFBaUIsQ0FBQyxVQUFlO1FBQ3hDLE1BQU0sWUFBWSxHQUFvQixFQUFFLENBQUM7UUFDekMsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLFVBQVUsQ0FBQyxVQUFVLEVBQUU7Z0JBQ3pCLFlBQVksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDL0Q7WUFDRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7Z0JBQ25CLFlBQVksQ0FBQyxZQUFZLEdBQUc7b0JBQzFCLElBQUksRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7aUJBQ3BDLENBQUM7YUFDSDtTQUNGO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztBQUNILENBQUM7QUFwR0QsMEJBb0dDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgKiBhcyBBV1MgZnJvbSAnYXdzLXNkayc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgdHlwZSB7IFJldHJ5RGVsYXlPcHRpb25zIH0gZnJvbSAnYXdzLXNkay9saWIvY29uZmlnLWJhc2UnO1xuXG5pbnRlcmZhY2UgU2RrUmV0cnlPcHRpb25zIHtcbiAgbWF4UmV0cmllcz86IG51bWJlcjtcbiAgcmV0cnlPcHRpb25zPzogUmV0cnlEZWxheU9wdGlvbnM7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGxvZyBncm91cCBhbmQgZG9lc24ndCB0aHJvdyBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIGxvZ0dyb3VwTmFtZSB0aGUgbmFtZSBvZiB0aGUgbG9nIGdyb3VwIHRvIGNyZWF0ZS5cbiAqIEBwYXJhbSByZWdpb24gdG8gY3JlYXRlIHRoZSBsb2cgZ3JvdXAgaW5cbiAqIEBwYXJhbSBvcHRpb25zIENsb3VkV2F0Y2ggQVBJIFNESyBvcHRpb25zLlxuICovXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVMb2dHcm91cFNhZmUobG9nR3JvdXBOYW1lOiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZywgb3B0aW9ucz86IFNka1JldHJ5T3B0aW9ucykge1xuICAvLyBJZiB3ZSBzZXQgdGhlIGxvZyByZXRlbnRpb24gZm9yIGEgbGFtYmRhLCB0aGVuIGR1ZSB0byB0aGUgYXN5bmMgbmF0dXJlIG9mXG4gIC8vIExhbWJkYSBsb2dnaW5nIHRoZXJlIGNvdWxkIGJlIGEgcmFjZSBjb25kaXRpb24gd2hlbiB0aGUgc2FtZSBsb2cgZ3JvdXAgaXNcbiAgLy8gYWxyZWFkeSBiZWluZyBjcmVhdGVkIGJ5IHRoZSBsYW1iZGEgZXhlY3V0aW9uLiBUaGlzIGNhbiBzb21ldGltZSByZXN1bHQgaW5cbiAgLy8gYW4gZXJyb3IgXCJPcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uOiBBIGNvbmZsaWN0aW5nIG9wZXJhdGlvbiBpcyBjdXJyZW50bHlcbiAgLy8gaW4gcHJvZ3Jlc3MuLi5QbGVhc2UgdHJ5IGFnYWluLlwiXG4gIC8vIFRvIGF2b2lkIGFuIGVycm9yLCB3ZSBkbyBhcyByZXF1ZXN0ZWQgYW5kIHRyeSBhZ2Fpbi5cbiAgbGV0IHJldHJ5Q291bnQgPSBvcHRpb25zPy5tYXhSZXRyaWVzID09IHVuZGVmaW5lZCA/IDEwIDogb3B0aW9ucy5tYXhSZXRyaWVzO1xuICBjb25zdCBkZWxheSA9IG9wdGlvbnM/LnJldHJ5T3B0aW9ucz8uYmFzZSA9PSB1bmRlZmluZWQgPyAxMCA6IG9wdGlvbnMucmV0cnlPcHRpb25zLmJhc2U7XG4gIGRvIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY2xvdWR3YXRjaGxvZ3MgPSBuZXcgQVdTLkNsb3VkV2F0Y2hMb2dzKHsgYXBpVmVyc2lvbjogJzIwMTQtMDMtMjgnLCByZWdpb24sIC4uLm9wdGlvbnMgfSk7XG4gICAgICBhd2FpdCBjbG91ZHdhdGNobG9ncy5jcmVhdGVMb2dHcm91cCh7IGxvZ0dyb3VwTmFtZSB9KS5wcm9taXNlKCk7XG4gICAgICByZXR1cm47XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgaWYgKGVycm9yLmNvZGUgPT09ICdSZXNvdXJjZUFscmVhZHlFeGlzdHNFeGNlcHRpb24nKSB7XG4gICAgICAgIC8vIFRoZSBsb2cgZ3JvdXAgaXMgYWxyZWFkeSBjcmVhdGVkIGJ5IHRoZSBsYW1iZGEgZXhlY3V0aW9uXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChlcnJvci5jb2RlID09PSAnT3BlcmF0aW9uQWJvcnRlZEV4Y2VwdGlvbicpIHtcbiAgICAgICAgaWYgKHJldHJ5Q291bnQgPiAwKSB7XG4gICAgICAgICAgcmV0cnlDb3VudC0tO1xuICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBkZWxheSkpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoZSBsb2cgZ3JvdXAgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZCBieSBhbm90aGVyIGV4ZWN1dGlvbiBidXQgd2UgYXJlIG91dCBvZiByZXRyaWVzXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPdXQgb2YgYXR0ZW1wdHMgdG8gY3JlYXRlIGEgbG9nR3JvdXAnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9IHdoaWxlICh0cnVlKTsgLy8gZXhpdCBoYXBwZW5zIG9uIHJldHJ5IGNvdW50IGNoZWNrXG59XG5cbi8vZGVsZXRlIGEgbG9nIGdyb3VwXG5hc3luYyBmdW5jdGlvbiBkZWxldGVMb2dHcm91cChsb2dHcm91cE5hbWU6IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBvcHRpb25zPzogU2RrUmV0cnlPcHRpb25zKSB7XG4gIGxldCByZXRyeUNvdW50ID0gb3B0aW9ucz8ubWF4UmV0cmllcyA9PSB1bmRlZmluZWQgPyAxMCA6IG9wdGlvbnMubWF4UmV0cmllcztcbiAgY29uc3QgZGVsYXkgPSBvcHRpb25zPy5yZXRyeU9wdGlvbnM/LmJhc2UgPT0gdW5kZWZpbmVkID8gMTAgOiBvcHRpb25zLnJldHJ5T3B0aW9ucy5iYXNlO1xuICBkbyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsb3Vkd2F0Y2hsb2dzID0gbmV3IEFXUy5DbG91ZFdhdGNoTG9ncyh7IGFwaVZlcnNpb246ICcyMDE0LTAzLTI4JywgcmVnaW9uLCAuLi5vcHRpb25zIH0pO1xuICAgICAgYXdhaXQgY2xvdWR3YXRjaGxvZ3MuZGVsZXRlTG9nR3JvdXAoeyBsb2dHcm91cE5hbWUgfSkucHJvbWlzZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmIChlcnJvci5jb2RlID09PSAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicpIHtcbiAgICAgICAgLy8gVGhlIGxvZyBncm91cCBkb2Vzbid0IGV4aXN0XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChlcnJvci5jb2RlID09PSAnT3BlcmF0aW9uQWJvcnRlZEV4Y2VwdGlvbicpIHtcbiAgICAgICAgaWYgKHJldHJ5Q291bnQgPiAwKSB7XG4gICAgICAgICAgcmV0cnlDb3VudC0tO1xuICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBkZWxheSkpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoZSBsb2cgZ3JvdXAgaXMgc3RpbGwgYmVpbmcgZGVsZXRlZCBieSBhbm90aGVyIGV4ZWN1dGlvbiBidXQgd2UgYXJlIG91dCBvZiByZXRyaWVzXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPdXQgb2YgYXR0ZW1wdHMgdG8gZGVsZXRlIGEgbG9nR3JvdXAnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9IHdoaWxlICh0cnVlKTsgLy8gZXhpdCBoYXBwZW5zIG9uIHJldHJ5IGNvdW50IGNoZWNrXG59XG5cbi8qKlxuICogUHV0cyBvciBkZWxldGVzIGEgcmV0ZW50aW9uIHBvbGljeSBvbiBhIGxvZyBncm91cC5cbiAqXG4gKiBAcGFyYW0gbG9nR3JvdXBOYW1lIHRoZSBuYW1lIG9mIHRoZSBsb2cgZ3JvdXAgdG8gY3JlYXRlXG4gKiBAcGFyYW0gcmVnaW9uIHRoZSByZWdpb24gb2YgdGhlIGxvZyBncm91cFxuICogQHBhcmFtIG9wdGlvbnMgQ2xvdWRXYXRjaCBBUEkgU0RLIG9wdGlvbnMuXG4gKiBAcGFyYW0gcmV0ZW50aW9uSW5EYXlzIHRoZSBudW1iZXIgb2YgZGF5cyB0byByZXRhaW4gdGhlIGxvZyBldmVudHMgaW4gdGhlIHNwZWNpZmllZCBsb2cgZ3JvdXAuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHNldFJldGVudGlvblBvbGljeShsb2dHcm91cE5hbWU6IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBvcHRpb25zPzogU2RrUmV0cnlPcHRpb25zLCByZXRlbnRpb25JbkRheXM/OiBudW1iZXIpIHtcbiAgLy8gVGhlIHNhbWUgYXMgaW4gY3JlYXRlTG9nR3JvdXBTYWZlKCksIGhlcmUgd2UgY291bGQgZW5kIHVwIHdpdGggdGhlIHJhY2VcbiAgLy8gY29uZGl0aW9uIHdoZXJlIGEgbG9nIGdyb3VwIGlzIGVpdGhlciBhbHJlYWR5IGJlaW5nIGNyZWF0ZWQgb3IgaXRzIHJldGVudGlvblxuICAvLyBwb2xpY3kgaXMgYmVpbmcgdXBkYXRlZC4gVGhpcyB3b3VsZCByZXN1bHQgaW4gYW4gT3BlcmF0aW9uQWJvcnRlZEV4Y2VwdGlvbixcbiAgLy8gd2hpY2ggd2Ugd2lsbCB0cnkgdG8gY2F0Y2ggYW5kIHJldHJ5IHRoZSBjb21tYW5kIGEgbnVtYmVyIG9mIHRpbWVzIGJlZm9yZSBmYWlsaW5nXG4gIGxldCByZXRyeUNvdW50ID0gb3B0aW9ucz8ubWF4UmV0cmllcyA9PSB1bmRlZmluZWQgPyAxMCA6IG9wdGlvbnMubWF4UmV0cmllcztcbiAgY29uc3QgZGVsYXkgPSBvcHRpb25zPy5yZXRyeU9wdGlvbnM/LmJhc2UgPT0gdW5kZWZpbmVkID8gMTAgOiBvcHRpb25zLnJldHJ5T3B0aW9ucy5iYXNlO1xuICBkbyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsb3Vkd2F0Y2hsb2dzID0gbmV3IEFXUy5DbG91ZFdhdGNoTG9ncyh7IGFwaVZlcnNpb246ICcyMDE0LTAzLTI4JywgcmVnaW9uLCAuLi5vcHRpb25zIH0pO1xuICAgICAgaWYgKCFyZXRlbnRpb25JbkRheXMpIHtcbiAgICAgICAgYXdhaXQgY2xvdWR3YXRjaGxvZ3MuZGVsZXRlUmV0ZW50aW9uUG9saWN5KHsgbG9nR3JvdXBOYW1lIH0pLnByb21pc2UoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IGNsb3Vkd2F0Y2hsb2dzLnB1dFJldGVudGlvblBvbGljeSh7IGxvZ0dyb3VwTmFtZSwgcmV0ZW50aW9uSW5EYXlzIH0pLnByb21pc2UoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcblxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmIChlcnJvci5jb2RlID09PSAnT3BlcmF0aW9uQWJvcnRlZEV4Y2VwdGlvbicpIHtcbiAgICAgICAgaWYgKHJldHJ5Q291bnQgPiAwKSB7XG4gICAgICAgICAgcmV0cnlDb3VudC0tO1xuICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBkZWxheSkpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoZSBsb2cgZ3JvdXAgaXMgc3RpbGwgYmVpbmcgY3JlYXRlZCBieSBhbm90aGVyIGV4ZWN1dGlvbiBidXQgd2UgYXJlIG91dCBvZiByZXRyaWVzXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPdXQgb2YgYXR0ZW1wdHMgdG8gY3JlYXRlIGEgbG9nR3JvdXAnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9IHdoaWxlICh0cnVlKTsgLy8gZXhpdCBoYXBwZW5zIG9uIHJldHJ5IGNvdW50IGNoZWNrXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50LCBjb250ZXh0OiBBV1NMYW1iZGEuQ29udGV4dCkge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHsgLi4uZXZlbnQsIFJlc3BvbnNlVVJMOiAnLi4uJyB9KSk7XG5cbiAgICAvLyBUaGUgdGFyZ2V0IGxvZyBncm91cFxuICAgIGNvbnN0IGxvZ0dyb3VwTmFtZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5Mb2dHcm91cE5hbWU7XG5cbiAgICAvLyBUaGUgcmVnaW9uIG9mIHRoZSB0YXJnZXQgbG9nIGdyb3VwXG4gICAgY29uc3QgbG9nR3JvdXBSZWdpb24gPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuTG9nR3JvdXBSZWdpb247XG5cbiAgICAvLyBQYXJzZSB0byBBV1MgU0RLIHJldHJ5IG9wdGlvbnNcbiAgICBjb25zdCByZXRyeU9wdGlvbnMgPSBwYXJzZVJldHJ5T3B0aW9ucyhldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuU2RrUmV0cnkpO1xuXG4gICAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnQ3JlYXRlJyB8fCBldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ1VwZGF0ZScpIHtcbiAgICAgIC8vIEFjdCBvbiB0aGUgdGFyZ2V0IGxvZyBncm91cFxuICAgICAgYXdhaXQgY3JlYXRlTG9nR3JvdXBTYWZlKGxvZ0dyb3VwTmFtZSwgbG9nR3JvdXBSZWdpb24sIHJldHJ5T3B0aW9ucyk7XG4gICAgICBhd2FpdCBzZXRSZXRlbnRpb25Qb2xpY3kobG9nR3JvdXBOYW1lLCBsb2dHcm91cFJlZ2lvbiwgcmV0cnlPcHRpb25zLCBwYXJzZUludChldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuUmV0ZW50aW9uSW5EYXlzLCAxMCkpO1xuXG4gICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgIC8vIFNldCBhIHJldGVudGlvbiBwb2xpY3kgb2YgMSBkYXkgb24gdGhlIGxvZ3Mgb2YgdGhpcyB2ZXJ5IGZ1bmN0aW9uLlxuICAgICAgICAvLyBEdWUgdG8gdGhlIGFzeW5jIG5hdHVyZSBvZiB0aGUgbG9nIGdyb3VwIGNyZWF0aW9uLCB0aGUgbG9nIGdyb3VwIGZvciB0aGlzIGZ1bmN0aW9uIG1pZ2h0XG4gICAgICAgIC8vIHN0aWxsIGJlIG5vdCBjcmVhdGVkIHlldCBhdCB0aGlzIHBvaW50LiBUaGVyZWZvcmUgd2UgYXR0ZW1wdCB0byBjcmVhdGUgaXQuXG4gICAgICAgIC8vIEluIGNhc2UgaXQgaXMgYmVpbmcgY3JlYXRlZCwgY3JlYXRlTG9nR3JvdXBTYWZlIHdpbGwgaGFuZGxlIHRoZSBjb25mbGljdC5cbiAgICAgICAgY29uc3QgcmVnaW9uID0gcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTjtcbiAgICAgICAgYXdhaXQgY3JlYXRlTG9nR3JvdXBTYWZlKGAvYXdzL2xhbWJkYS8ke2NvbnRleHQuZnVuY3Rpb25OYW1lfWAsIHJlZ2lvbiwgcmV0cnlPcHRpb25zKTtcbiAgICAgICAgLy8gSWYgY3JlYXRlTG9nR3JvdXBTYWZlIGZhaWxzLCB0aGUgbG9nIGdyb3VwIGlzIG5vdCBjcmVhdGVkIGV2ZW4gYWZ0ZXIgbXVsdGlwbGUgYXR0ZW1wdHMuXG4gICAgICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBoYXZlIG5vdGhpbmcgdG8gc2V0IHRoZSByZXRlbnRpb24gcG9saWN5IG9uIGJ1dCBhbiBleGNlcHRpb24gd2lsbCBza2lwXG4gICAgICAgIC8vIHRoZSBuZXh0IGxpbmUuXG4gICAgICAgIGF3YWl0IHNldFJldGVudGlvblBvbGljeShgL2F3cy9sYW1iZGEvJHtjb250ZXh0LmZ1bmN0aW9uTmFtZX1gLCByZWdpb24sIHJldHJ5T3B0aW9ucywgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9XaGVuIHRoZSByZXF1ZXN0VHlwZSBpcyBkZWxldGUsIGRlbGV0ZSB0aGUgbG9nIGdyb3VwIGlmIHRoZSByZW1vdmFsIHBvbGljeSBpcyBkZWxldGVcbiAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnICYmIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5SZW1vdmFsUG9saWN5ID09PSAnZGVzdHJveScpIHtcbiAgICAgIGF3YWl0IGRlbGV0ZUxvZ0dyb3VwKGxvZ0dyb3VwTmFtZSwgbG9nR3JvdXBSZWdpb24sIHJldHJ5T3B0aW9ucyk7XG4gICAgICAvL2Vsc2UgcmV0YWluIHRoZSBsb2cgZ3JvdXBcbiAgICB9XG5cbiAgICBhd2FpdCByZXNwb25kKCdTVUNDRVNTJywgJ09LJywgbG9nR3JvdXBOYW1lKTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgY29uc29sZS5sb2coZSk7XG5cbiAgICBhd2FpdCByZXNwb25kKCdGQUlMRUQnLCBlLm1lc3NhZ2UsIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5Mb2dHcm91cE5hbWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVzcG9uZChyZXNwb25zZVN0YXR1czogc3RyaW5nLCByZWFzb246IHN0cmluZywgcGh5c2ljYWxSZXNvdXJjZUlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBTdGF0dXM6IHJlc3BvbnNlU3RhdHVzLFxuICAgICAgUmVhc29uOiByZWFzb24sXG4gICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IHBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgICBSZXF1ZXN0SWQ6IGV2ZW50LlJlcXVlc3RJZCxcbiAgICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgICAgIERhdGE6IHtcbiAgICAgICAgLy8gQWRkIGxvZyBncm91cCBuYW1lIGFzIHBhcnQgb2YgdGhlIHJlc3BvbnNlIHNvIHRoYXQgaXQncyBhdmFpbGFibGUgdmlhIEZuOjpHZXRBdHRcbiAgICAgICAgTG9nR3JvdXBOYW1lOiBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuTG9nR3JvdXBOYW1lLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKCdSZXNwb25kaW5nJywgcmVzcG9uc2VCb2R5KTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgcGFyc2VkVXJsID0gcmVxdWlyZSgndXJsJykucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgaG9zdG5hbWU6IHBhcnNlZFVybC5ob3N0bmFtZSxcbiAgICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgICAnY29udGVudC1sZW5ndGgnOiBCdWZmZXIuYnl0ZUxlbmd0aChyZXNwb25zZUJvZHksICd1dGY4JyksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHJlcXVpcmUoJ2h0dHBzJykucmVxdWVzdChyZXF1ZXN0T3B0aW9ucywgcmVzb2x2ZSk7XG4gICAgICAgIHJlcXVlc3Qub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICAgICAgcmVxdWVzdC53cml0ZShyZXNwb25zZUJvZHkpO1xuICAgICAgICByZXF1ZXN0LmVuZCgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZVJldHJ5T3B0aW9ucyhyYXdPcHRpb25zOiBhbnkpOiBTZGtSZXRyeU9wdGlvbnMge1xuICAgIGNvbnN0IHJldHJ5T3B0aW9uczogU2RrUmV0cnlPcHRpb25zID0ge307XG4gICAgaWYgKHJhd09wdGlvbnMpIHtcbiAgICAgIGlmIChyYXdPcHRpb25zLm1heFJldHJpZXMpIHtcbiAgICAgICAgcmV0cnlPcHRpb25zLm1heFJldHJpZXMgPSBwYXJzZUludChyYXdPcHRpb25zLm1heFJldHJpZXMsIDEwKTtcbiAgICAgIH1cbiAgICAgIGlmIChyYXdPcHRpb25zLmJhc2UpIHtcbiAgICAgICAgcmV0cnlPcHRpb25zLnJldHJ5T3B0aW9ucyA9IHtcbiAgICAgICAgICBiYXNlOiBwYXJzZUludChyYXdPcHRpb25zLmJhc2UsIDEwKSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldHJ5T3B0aW9ucztcbiAgfVxufVxuIl19
|
package/_temp/manifest.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"validateOnSynth": false,
|
|
18
18
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
|
|
19
19
|
"cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
|
|
20
|
-
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/
|
|
20
|
+
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/4b8aa8fe526cd8c3dcdff18593d6d06d25d71cf5da0e879a9622f877d3a9394e.json",
|
|
21
21
|
"requiresBootstrapStackVersion": 6,
|
|
22
22
|
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
|
|
23
23
|
"additionalDependencies": [
|
package/_temp/tree.json
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"path": "TestStack/targetFunction/ServiceRole/ImportServiceRole",
|
|
22
22
|
"constructInfo": {
|
|
23
23
|
"fqn": "aws-cdk-lib.Resource",
|
|
24
|
-
"version": "2.
|
|
24
|
+
"version": "2.73.0"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"Resource": {
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
},
|
|
61
61
|
"constructInfo": {
|
|
62
62
|
"fqn": "aws-cdk-lib.aws_iam.CfnRole",
|
|
63
|
-
"version": "2.
|
|
63
|
+
"version": "2.73.0"
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
"constructInfo": {
|
|
68
68
|
"fqn": "aws-cdk-lib.aws_iam.Role",
|
|
69
|
-
"version": "2.
|
|
69
|
+
"version": "2.73.0"
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
"Resource": {
|
|
@@ -91,13 +91,13 @@
|
|
|
91
91
|
},
|
|
92
92
|
"constructInfo": {
|
|
93
93
|
"fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
|
|
94
|
-
"version": "2.
|
|
94
|
+
"version": "2.73.0"
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"constructInfo": {
|
|
99
99
|
"fqn": "aws-cdk-lib.aws_lambda.Function",
|
|
100
|
-
"version": "2.
|
|
100
|
+
"version": "2.73.0"
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
103
|
"LambdaSubminute": {
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"path": "TestStack/LambdaSubminute/IteratorLambda/IteratorLambdaRole/ImportIteratorLambdaRole",
|
|
118
118
|
"constructInfo": {
|
|
119
119
|
"fqn": "aws-cdk-lib.Resource",
|
|
120
|
-
"version": "2.
|
|
120
|
+
"version": "2.73.0"
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
"Resource": {
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
},
|
|
183
183
|
"constructInfo": {
|
|
184
184
|
"fqn": "aws-cdk-lib.aws_iam.CfnRole",
|
|
185
|
-
"version": "2.
|
|
185
|
+
"version": "2.73.0"
|
|
186
186
|
}
|
|
187
187
|
},
|
|
188
188
|
"DefaultPolicy": {
|
|
@@ -229,19 +229,19 @@
|
|
|
229
229
|
},
|
|
230
230
|
"constructInfo": {
|
|
231
231
|
"fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
|
|
232
|
-
"version": "2.
|
|
232
|
+
"version": "2.73.0"
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
235
|
},
|
|
236
236
|
"constructInfo": {
|
|
237
237
|
"fqn": "aws-cdk-lib.aws_iam.Policy",
|
|
238
|
-
"version": "2.
|
|
238
|
+
"version": "2.73.0"
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
},
|
|
242
242
|
"constructInfo": {
|
|
243
243
|
"fqn": "aws-cdk-lib.aws_iam.Role",
|
|
244
|
-
"version": "2.
|
|
244
|
+
"version": "2.73.0"
|
|
245
245
|
}
|
|
246
246
|
},
|
|
247
247
|
"Iterator": {
|
|
@@ -257,7 +257,7 @@
|
|
|
257
257
|
"path": "TestStack/LambdaSubminute/IteratorLambda/Iterator/Code/Stage",
|
|
258
258
|
"constructInfo": {
|
|
259
259
|
"fqn": "aws-cdk-lib.AssetStaging",
|
|
260
|
-
"version": "2.
|
|
260
|
+
"version": "2.73.0"
|
|
261
261
|
}
|
|
262
262
|
},
|
|
263
263
|
"AssetBucket": {
|
|
@@ -265,13 +265,13 @@
|
|
|
265
265
|
"path": "TestStack/LambdaSubminute/IteratorLambda/Iterator/Code/AssetBucket",
|
|
266
266
|
"constructInfo": {
|
|
267
267
|
"fqn": "aws-cdk-lib.aws_s3.BucketBase",
|
|
268
|
-
"version": "2.
|
|
268
|
+
"version": "2.73.0"
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
},
|
|
272
272
|
"constructInfo": {
|
|
273
273
|
"fqn": "aws-cdk-lib.aws_s3_assets.Asset",
|
|
274
|
-
"version": "2.
|
|
274
|
+
"version": "2.73.0"
|
|
275
275
|
}
|
|
276
276
|
},
|
|
277
277
|
"Resource": {
|
|
@@ -313,7 +313,7 @@
|
|
|
313
313
|
},
|
|
314
314
|
"constructInfo": {
|
|
315
315
|
"fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
|
|
316
|
-
"version": "2.
|
|
316
|
+
"version": "2.73.0"
|
|
317
317
|
}
|
|
318
318
|
},
|
|
319
319
|
"LogRetention": {
|
|
@@ -325,13 +325,13 @@
|
|
|
325
325
|
"path": "TestStack/LambdaSubminute/IteratorLambda/Iterator/LogRetention/Resource",
|
|
326
326
|
"constructInfo": {
|
|
327
327
|
"fqn": "aws-cdk-lib.CfnResource",
|
|
328
|
-
"version": "2.
|
|
328
|
+
"version": "2.73.0"
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
331
|
},
|
|
332
332
|
"constructInfo": {
|
|
333
333
|
"fqn": "aws-cdk-lib.aws_logs.LogRetention",
|
|
334
|
-
"version": "2.
|
|
334
|
+
"version": "2.73.0"
|
|
335
335
|
}
|
|
336
336
|
},
|
|
337
337
|
"LogGroup": {
|
|
@@ -339,19 +339,19 @@
|
|
|
339
339
|
"path": "TestStack/LambdaSubminute/IteratorLambda/Iterator/LogGroup",
|
|
340
340
|
"constructInfo": {
|
|
341
341
|
"fqn": "aws-cdk-lib.Resource",
|
|
342
|
-
"version": "2.
|
|
342
|
+
"version": "2.73.0"
|
|
343
343
|
}
|
|
344
344
|
}
|
|
345
345
|
},
|
|
346
346
|
"constructInfo": {
|
|
347
347
|
"fqn": "aws-cdk-lib.aws_lambda_nodejs.NodejsFunction",
|
|
348
|
-
"version": "2.
|
|
348
|
+
"version": "2.73.0"
|
|
349
349
|
}
|
|
350
350
|
}
|
|
351
351
|
},
|
|
352
352
|
"constructInfo": {
|
|
353
353
|
"fqn": "constructs.Construct",
|
|
354
|
-
"version": "10.1.
|
|
354
|
+
"version": "10.1.305"
|
|
355
355
|
}
|
|
356
356
|
},
|
|
357
357
|
"SubminuteStateMachine": {
|
|
@@ -367,7 +367,7 @@
|
|
|
367
367
|
"path": "TestStack/LambdaSubminute/SubminuteStateMachine/StepFunctionExecutionRole/ImportStepFunctionExecutionRole",
|
|
368
368
|
"constructInfo": {
|
|
369
369
|
"fqn": "aws-cdk-lib.Resource",
|
|
370
|
-
"version": "2.
|
|
370
|
+
"version": "2.73.0"
|
|
371
371
|
}
|
|
372
372
|
},
|
|
373
373
|
"Resource": {
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
},
|
|
402
402
|
"constructInfo": {
|
|
403
403
|
"fqn": "aws-cdk-lib.aws_iam.CfnRole",
|
|
404
|
-
"version": "2.
|
|
404
|
+
"version": "2.73.0"
|
|
405
405
|
}
|
|
406
406
|
},
|
|
407
407
|
"DefaultPolicy": {
|
|
@@ -474,19 +474,19 @@
|
|
|
474
474
|
},
|
|
475
475
|
"constructInfo": {
|
|
476
476
|
"fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
|
|
477
|
-
"version": "2.
|
|
477
|
+
"version": "2.73.0"
|
|
478
478
|
}
|
|
479
479
|
}
|
|
480
480
|
},
|
|
481
481
|
"constructInfo": {
|
|
482
482
|
"fqn": "aws-cdk-lib.aws_iam.Policy",
|
|
483
|
-
"version": "2.
|
|
483
|
+
"version": "2.73.0"
|
|
484
484
|
}
|
|
485
485
|
}
|
|
486
486
|
},
|
|
487
487
|
"constructInfo": {
|
|
488
488
|
"fqn": "aws-cdk-lib.aws_iam.Role",
|
|
489
|
-
"version": "2.
|
|
489
|
+
"version": "2.73.0"
|
|
490
490
|
}
|
|
491
491
|
},
|
|
492
492
|
"ConfigureCount": {
|
|
@@ -494,7 +494,7 @@
|
|
|
494
494
|
"path": "TestStack/LambdaSubminute/SubminuteStateMachine/ConfigureCount",
|
|
495
495
|
"constructInfo": {
|
|
496
496
|
"fqn": "aws-cdk-lib.aws_stepfunctions.Pass",
|
|
497
|
-
"version": "2.
|
|
497
|
+
"version": "2.73.0"
|
|
498
498
|
}
|
|
499
499
|
},
|
|
500
500
|
"Iterator": {
|
|
@@ -502,7 +502,7 @@
|
|
|
502
502
|
"path": "TestStack/LambdaSubminute/SubminuteStateMachine/Iterator",
|
|
503
503
|
"constructInfo": {
|
|
504
504
|
"fqn": "aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke",
|
|
505
|
-
"version": "2.
|
|
505
|
+
"version": "2.73.0"
|
|
506
506
|
}
|
|
507
507
|
},
|
|
508
508
|
"Wait for the target Lambda function finished": {
|
|
@@ -510,7 +510,7 @@
|
|
|
510
510
|
"path": "TestStack/LambdaSubminute/SubminuteStateMachine/Wait for the target Lambda function finished",
|
|
511
511
|
"constructInfo": {
|
|
512
512
|
"fqn": "aws-cdk-lib.aws_stepfunctions.Wait",
|
|
513
|
-
"version": "2.
|
|
513
|
+
"version": "2.73.0"
|
|
514
514
|
}
|
|
515
515
|
},
|
|
516
516
|
"Done": {
|
|
@@ -518,7 +518,7 @@
|
|
|
518
518
|
"path": "TestStack/LambdaSubminute/SubminuteStateMachine/Done",
|
|
519
519
|
"constructInfo": {
|
|
520
520
|
"fqn": "aws-cdk-lib.aws_stepfunctions.Pass",
|
|
521
|
-
"version": "2.
|
|
521
|
+
"version": "2.73.0"
|
|
522
522
|
}
|
|
523
523
|
},
|
|
524
524
|
"IsCountReached": {
|
|
@@ -526,7 +526,7 @@
|
|
|
526
526
|
"path": "TestStack/LambdaSubminute/SubminuteStateMachine/IsCountReached",
|
|
527
527
|
"constructInfo": {
|
|
528
528
|
"fqn": "aws-cdk-lib.aws_stepfunctions.Choice",
|
|
529
|
-
"version": "2.
|
|
529
|
+
"version": "2.73.0"
|
|
530
530
|
}
|
|
531
531
|
},
|
|
532
532
|
"StateMachine": {
|
|
@@ -569,7 +569,7 @@
|
|
|
569
569
|
},
|
|
570
570
|
"constructInfo": {
|
|
571
571
|
"fqn": "aws-cdk-lib.aws_stepfunctions.CfnStateMachine",
|
|
572
|
-
"version": "2.
|
|
572
|
+
"version": "2.73.0"
|
|
573
573
|
}
|
|
574
574
|
},
|
|
575
575
|
"EventsRole": {
|
|
@@ -581,7 +581,7 @@
|
|
|
581
581
|
"path": "TestStack/LambdaSubminute/SubminuteStateMachine/StateMachine/EventsRole/ImportEventsRole",
|
|
582
582
|
"constructInfo": {
|
|
583
583
|
"fqn": "aws-cdk-lib.Resource",
|
|
584
|
-
"version": "2.
|
|
584
|
+
"version": "2.73.0"
|
|
585
585
|
}
|
|
586
586
|
},
|
|
587
587
|
"Resource": {
|
|
@@ -606,7 +606,7 @@
|
|
|
606
606
|
},
|
|
607
607
|
"constructInfo": {
|
|
608
608
|
"fqn": "aws-cdk-lib.aws_iam.CfnRole",
|
|
609
|
-
"version": "2.
|
|
609
|
+
"version": "2.73.0"
|
|
610
610
|
}
|
|
611
611
|
},
|
|
612
612
|
"DefaultPolicy": {
|
|
@@ -641,31 +641,31 @@
|
|
|
641
641
|
},
|
|
642
642
|
"constructInfo": {
|
|
643
643
|
"fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
|
|
644
|
-
"version": "2.
|
|
644
|
+
"version": "2.73.0"
|
|
645
645
|
}
|
|
646
646
|
}
|
|
647
647
|
},
|
|
648
648
|
"constructInfo": {
|
|
649
649
|
"fqn": "aws-cdk-lib.aws_iam.Policy",
|
|
650
|
-
"version": "2.
|
|
650
|
+
"version": "2.73.0"
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
653
|
},
|
|
654
654
|
"constructInfo": {
|
|
655
655
|
"fqn": "aws-cdk-lib.aws_iam.Role",
|
|
656
|
-
"version": "2.
|
|
656
|
+
"version": "2.73.0"
|
|
657
657
|
}
|
|
658
658
|
}
|
|
659
659
|
},
|
|
660
660
|
"constructInfo": {
|
|
661
661
|
"fqn": "aws-cdk-lib.aws_stepfunctions.StateMachine",
|
|
662
|
-
"version": "2.
|
|
662
|
+
"version": "2.73.0"
|
|
663
663
|
}
|
|
664
664
|
}
|
|
665
665
|
},
|
|
666
666
|
"constructInfo": {
|
|
667
667
|
"fqn": "constructs.Construct",
|
|
668
|
-
"version": "10.1.
|
|
668
|
+
"version": "10.1.305"
|
|
669
669
|
}
|
|
670
670
|
},
|
|
671
671
|
"StartSubminuteStateMachine": {
|
|
@@ -714,19 +714,19 @@
|
|
|
714
714
|
},
|
|
715
715
|
"constructInfo": {
|
|
716
716
|
"fqn": "aws-cdk-lib.aws_events.CfnRule",
|
|
717
|
-
"version": "2.
|
|
717
|
+
"version": "2.73.0"
|
|
718
718
|
}
|
|
719
719
|
}
|
|
720
720
|
},
|
|
721
721
|
"constructInfo": {
|
|
722
722
|
"fqn": "aws-cdk-lib.aws_events.Rule",
|
|
723
|
-
"version": "2.
|
|
723
|
+
"version": "2.73.0"
|
|
724
724
|
}
|
|
725
725
|
}
|
|
726
726
|
},
|
|
727
727
|
"constructInfo": {
|
|
728
728
|
"fqn": "constructs.Construct",
|
|
729
|
-
"version": "10.1.
|
|
729
|
+
"version": "10.1.305"
|
|
730
730
|
}
|
|
731
731
|
},
|
|
732
732
|
"LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a": {
|
|
@@ -742,7 +742,7 @@
|
|
|
742
742
|
"path": "TestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code/Stage",
|
|
743
743
|
"constructInfo": {
|
|
744
744
|
"fqn": "aws-cdk-lib.AssetStaging",
|
|
745
|
-
"version": "2.
|
|
745
|
+
"version": "2.73.0"
|
|
746
746
|
}
|
|
747
747
|
},
|
|
748
748
|
"AssetBucket": {
|
|
@@ -750,13 +750,13 @@
|
|
|
750
750
|
"path": "TestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code/AssetBucket",
|
|
751
751
|
"constructInfo": {
|
|
752
752
|
"fqn": "aws-cdk-lib.aws_s3.BucketBase",
|
|
753
|
-
"version": "2.
|
|
753
|
+
"version": "2.73.0"
|
|
754
754
|
}
|
|
755
755
|
}
|
|
756
756
|
},
|
|
757
757
|
"constructInfo": {
|
|
758
758
|
"fqn": "aws-cdk-lib.aws_s3_assets.Asset",
|
|
759
|
-
"version": "2.
|
|
759
|
+
"version": "2.73.0"
|
|
760
760
|
}
|
|
761
761
|
},
|
|
762
762
|
"ServiceRole": {
|
|
@@ -768,7 +768,7 @@
|
|
|
768
768
|
"path": "TestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/ImportServiceRole",
|
|
769
769
|
"constructInfo": {
|
|
770
770
|
"fqn": "aws-cdk-lib.Resource",
|
|
771
|
-
"version": "2.
|
|
771
|
+
"version": "2.73.0"
|
|
772
772
|
}
|
|
773
773
|
},
|
|
774
774
|
"Resource": {
|
|
@@ -807,7 +807,7 @@
|
|
|
807
807
|
},
|
|
808
808
|
"constructInfo": {
|
|
809
809
|
"fqn": "aws-cdk-lib.aws_iam.CfnRole",
|
|
810
|
-
"version": "2.
|
|
810
|
+
"version": "2.73.0"
|
|
811
811
|
}
|
|
812
812
|
},
|
|
813
813
|
"DefaultPolicy": {
|
|
@@ -843,19 +843,19 @@
|
|
|
843
843
|
},
|
|
844
844
|
"constructInfo": {
|
|
845
845
|
"fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
|
|
846
|
-
"version": "2.
|
|
846
|
+
"version": "2.73.0"
|
|
847
847
|
}
|
|
848
848
|
}
|
|
849
849
|
},
|
|
850
850
|
"constructInfo": {
|
|
851
851
|
"fqn": "aws-cdk-lib.aws_iam.Policy",
|
|
852
|
-
"version": "2.
|
|
852
|
+
"version": "2.73.0"
|
|
853
853
|
}
|
|
854
854
|
}
|
|
855
855
|
},
|
|
856
856
|
"constructInfo": {
|
|
857
857
|
"fqn": "aws-cdk-lib.aws_iam.Role",
|
|
858
|
-
"version": "2.
|
|
858
|
+
"version": "2.73.0"
|
|
859
859
|
}
|
|
860
860
|
},
|
|
861
861
|
"Resource": {
|
|
@@ -863,13 +863,13 @@
|
|
|
863
863
|
"path": "TestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Resource",
|
|
864
864
|
"constructInfo": {
|
|
865
865
|
"fqn": "aws-cdk-lib.CfnResource",
|
|
866
|
-
"version": "2.
|
|
866
|
+
"version": "2.73.0"
|
|
867
867
|
}
|
|
868
868
|
}
|
|
869
869
|
},
|
|
870
870
|
"constructInfo": {
|
|
871
871
|
"fqn": "constructs.Construct",
|
|
872
|
-
"version": "10.1.
|
|
872
|
+
"version": "10.1.305"
|
|
873
873
|
}
|
|
874
874
|
},
|
|
875
875
|
"Service-principalMap": {
|
|
@@ -877,7 +877,7 @@
|
|
|
877
877
|
"path": "TestStack/Service-principalMap",
|
|
878
878
|
"constructInfo": {
|
|
879
879
|
"fqn": "aws-cdk-lib.CfnMapping",
|
|
880
|
-
"version": "2.
|
|
880
|
+
"version": "2.73.0"
|
|
881
881
|
}
|
|
882
882
|
},
|
|
883
883
|
"BootstrapVersion": {
|
|
@@ -885,7 +885,7 @@
|
|
|
885
885
|
"path": "TestStack/BootstrapVersion",
|
|
886
886
|
"constructInfo": {
|
|
887
887
|
"fqn": "aws-cdk-lib.CfnParameter",
|
|
888
|
-
"version": "2.
|
|
888
|
+
"version": "2.73.0"
|
|
889
889
|
}
|
|
890
890
|
},
|
|
891
891
|
"CheckBootstrapVersion": {
|
|
@@ -893,13 +893,13 @@
|
|
|
893
893
|
"path": "TestStack/CheckBootstrapVersion",
|
|
894
894
|
"constructInfo": {
|
|
895
895
|
"fqn": "aws-cdk-lib.CfnRule",
|
|
896
|
-
"version": "2.
|
|
896
|
+
"version": "2.73.0"
|
|
897
897
|
}
|
|
898
898
|
}
|
|
899
899
|
},
|
|
900
900
|
"constructInfo": {
|
|
901
901
|
"fqn": "aws-cdk-lib.Stack",
|
|
902
|
-
"version": "2.
|
|
902
|
+
"version": "2.73.0"
|
|
903
903
|
}
|
|
904
904
|
},
|
|
905
905
|
"Tree": {
|
|
@@ -907,13 +907,13 @@
|
|
|
907
907
|
"path": "Tree",
|
|
908
908
|
"constructInfo": {
|
|
909
909
|
"fqn": "constructs.Construct",
|
|
910
|
-
"version": "10.1.
|
|
910
|
+
"version": "10.1.305"
|
|
911
911
|
}
|
|
912
912
|
}
|
|
913
913
|
},
|
|
914
914
|
"constructInfo": {
|
|
915
915
|
"fqn": "aws-cdk-lib.App",
|
|
916
|
-
"version": "2.
|
|
916
|
+
"version": "2.73.0"
|
|
917
917
|
}
|
|
918
918
|
}
|
|
919
919
|
}
|
|
@@ -45,7 +45,7 @@ class LambdaSubminute extends constructs_1.Construct {
|
|
|
45
45
|
}
|
|
46
46
|
exports.LambdaSubminute = LambdaSubminute;
|
|
47
47
|
_a = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
LambdaSubminute[_a] = { fqn: "cdk-lambda-subminute.LambdaSubminute", version: "2.0.
|
|
48
|
+
LambdaSubminute[_a] = { fqn: "cdk-lambda-subminute.LambdaSubminute", version: "2.0.116" };
|
|
49
49
|
class IteratorLambda extends constructs_1.Construct {
|
|
50
50
|
constructor(scope, name, props) {
|
|
51
51
|
super(scope, name);
|
|
@@ -85,7 +85,7 @@ class IteratorLambda extends constructs_1.Construct {
|
|
|
85
85
|
}
|
|
86
86
|
exports.IteratorLambda = IteratorLambda;
|
|
87
87
|
_b = JSII_RTTI_SYMBOL_1;
|
|
88
|
-
IteratorLambda[_b] = { fqn: "cdk-lambda-subminute.IteratorLambda", version: "2.0.
|
|
88
|
+
IteratorLambda[_b] = { fqn: "cdk-lambda-subminute.IteratorLambda", version: "2.0.116" };
|
|
89
89
|
class SubminuteStateMachine extends constructs_1.Construct {
|
|
90
90
|
constructor(scope, id, props) {
|
|
91
91
|
super(scope, id);
|
|
@@ -160,5 +160,5 @@ class SubminuteStateMachine extends constructs_1.Construct {
|
|
|
160
160
|
}
|
|
161
161
|
exports.SubminuteStateMachine = SubminuteStateMachine;
|
|
162
162
|
_c = JSII_RTTI_SYMBOL_1;
|
|
163
|
-
SubminuteStateMachine[_c] = { fqn: "cdk-lambda-subminute.SubminuteStateMachine", version: "2.0.
|
|
163
|
+
SubminuteStateMachine[_c] = { fqn: "cdk-lambda-subminute.SubminuteStateMachine", version: "2.0.116" };
|
|
164
164
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWxhbWJkYS1zdWJtaW51dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2RrLWxhbWJkYS1zdWJtaW51dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyxpREFBa0Q7QUFDbEQsMERBQTJEO0FBQzNELDJDQUEyQztBQUUzQyx1REFBcUU7QUFDckUscUVBQStEO0FBQy9ELG1EQUFxRDtBQUNyRCxxREFBcUQ7QUFDckQsNkRBQTZEO0FBQzdELDJDQUF1QztBQTRCdkMsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBUzVDLFlBQVksTUFBaUIsRUFBRSxJQUFZLEVBQUUsS0FBMkI7UUFDdEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDMUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUNyRixnQkFBZ0IsRUFBRSwrQkFBK0I7WUFDakQsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksRUFBRTtZQUN0QyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDO1NBQ2hDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcscUJBQXFCLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUUxRSxNQUFNLFNBQVMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENB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QyxjQUFjLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVHLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQzlELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsVUFBVSxFQUFFLGFBQWE7WUFDekIsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDOztBQWJILHNEQTZFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IGV2ZW50cyA9IHJlcXVpcmUoJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnKTtcbmltcG9ydCB0YXJnZXRzID0gcmVxdWlyZSgnYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzJyk7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5cbmltcG9ydCB7IElGdW5jdGlvbiwgUnVudGltZSwgVHJhY2luZyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcyc7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgc2ZuIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCAqIGFzIHRhc2tzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYVN1Ym1pbnV0ZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBpcyBnb2luZyB0byBiZSBleGVjdXRlZCBwZXIgdGltZSB1bml0IGxlc3MgdGhhbiBvbmUgbWludXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0RnVuY3Rpb246IElGdW5jdGlvbjtcbiAgLyoqXG4gICAqIEEgcGF0dGVybiB5b3Ugd2FudCB0aGlzIHN0YXRlbWFjaGluZSB0byBiZSBleGVjdXRlZC5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvZXZlbnRzL1NjaGVkdWxlZEV2ZW50cy5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IGNyb24oNTAvMSAxNS0xNyA/ICogKiAqKSBVVEMrMCBiZWluZyBydW4gZXZlcnkgbWludXRlIHN0YXJ0aW5nIGZyb20gMTU6MDAgUE0gdG8gMTc6MDAgUE0uXG4gICAqL1xuICByZWFkb25seSBjcm9uam9iRXhwcmVzc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEhvdyBtYW55IHRpbWVzIHlvdSBpbnRlbnQgdG8gZXhlY3V0ZSBpbiBhIG1pbnV0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgNlxuICAgKi9cbiAgcmVhZG9ubHkgZnJlcXVlbmN5PzogbnVtYmVyO1xuICAvKipcbiAgICogU2Vjb25kcyBmb3IgYW4gaW50ZXJ2YWwsIHRoZSBwcm9kdWN0IG9mIGBmcmVxdWVuY3lgIGFuZCBgaW50ZXJ2YWxUaW1lYCBzaG91bGQgYmUgYXBwcm94aW1hZ2VseSAxIG1pbnV0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgMTBcbiAgICovXG4gIHJlYWRvbmx5IGludGVydmFsVGltZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYVN1Ym1pbnV0ZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgcGxheXMgdGhlIHJvbGUgb2YgdGhlIGl0ZXJhdG9yLlxuICAgKi9cbiAgcmVhZG9ubHkgaXRlcmF0b3JGdW5jdGlvbjogSUZ1bmN0aW9uO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgc3RhdGUgbWFjaGluZSB0aGF0IGV4ZWN1dGVzIHRoZSB0YXJnZXQgTGFtYmRhIGZ1bmN0aW9uIHBlciB0aW1lIHVuaXQgbGVzcyB0aGFuIG9uZSBtaW51dGUuXG4gICAqL1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVBcm46IHN0cmluZztcbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IExhbWJkYVN1Ym1pbnV0ZVByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBuYW1lKTtcbiAgICBjb25zdCBpdGVyYXRvciA9IG5ldyBJdGVyYXRvckxhbWJkYSh0aGlzLCAnSXRlcmF0b3JMYW1iZGEnLCB7IHRhcmdldEZ1bmN0aW9uOiBwcm9wcy50YXJnZXRGdW5jdGlvbiB9KTtcbiAgICB0aGlzLml0ZXJhdG9yRnVuY3Rpb24gPSBpdGVyYXRvci5mdW5jdGlvbjtcbiAgICBjb25zdCBzdWJtaW51dGVTdGF0ZU1hY2hpbmUgPSBuZXcgU3VibWludXRlU3RhdGVNYWNoaW5lKHRoaXMsICdTdWJtaW51dGVTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICBzdGF0ZU1hY2hpbmVOYW1lOiAnbGFtYmRhLXN1Ym1pbnV0ZS1zdGF0ZW1hY2hpbmUnLFxuICAgICAgdGFyZ2V0RnVuY3Rpb246IHByb3BzLnRhcmdldEZ1bmN0aW9uLFxuICAgICAgaXRlcmF0b3JGdW5jdGlvbjogdGhpcy5pdGVyYXRvckZ1bmN0aW9uLFxuICAgICAgaW50ZXJ2YWxUaW1lOiBwcm9wcy5pbnRlcnZhbFRpbWUgPz8gMTAsXG4gICAgICBmcmVxdWVuY3k6IHByb3BzLmZyZXF1ZW5jeSA/PyA2LFxuICAgIH0pO1xuICAgIHRoaXMuc3RhdGVNYWNoaW5lQXJuID0gc3VibWludXRlU3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmVBcm47XG5cbiAgICBjb25zdCBzdGFydFJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1N0YXJ0U3VibWludXRlU3RhdGVNYWNoaW5lJywge1xuICAgICAgc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZS5leHByZXNzaW9uKHByb3BzLmNyb25qb2JFeHByZXNzaW9uID8/ICdjcm9uKDUwLzEgMTUtMTcgPyAqICogKiknKSxcbiAgICAgIHJ1bGVOYW1lOiAnc3VibWludXRlLXN0YXRlbWFjaGluZS1sYW1iZGEtcnVsZScsXG4gICAgICBkZXNjcmlwdGlvbjogYEEgcnVsZSB0byBydW4gdGhlIHN1Ym1pbnV0ZSBzdGF0ZSBtYWNoaW5lLCBpLmUuICR7c3VibWludXRlU3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmVOYW1lfWAsXG4gICAgfSk7XG4gICAgc3RhcnRSdWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5TZm5TdGF0ZU1hY2hpbmUoXG4gICAgICBzdWJtaW51dGVTdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lLCB7XG4gICAgICAgIGlucHV0OiBldmVudHMuUnVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgICAgIGl0ZXJhdG9yOiB7XG4gICAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICAgIGNvdW50OiA2LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXRlcmF0b3JMYW1iZGFQcm9wcyB7XG4gIC8qKlxuICAgICAqIFRoZSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBpcyBnb2luZyB0byBiZSBleGVjdXRlZCBwZXIgdGltZSB1bml0IGxlc3MgdGhhbiBvbmUgbWludXRlLlxuICAgICAqL1xuICByZWFkb25seSB0YXJnZXRGdW5jdGlvbjogSUZ1bmN0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgSXRlcmF0b3JMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICAgKiBBIExhbWJkYSBmdW5jdGlvbiB0aGF0IHBsYXlzIHRoZSByb2xlIG9mIHRoZSBpdGVyYXRvci5cbiAgICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgbmFtZTogc3RyaW5nLCBwcm9wczogSXRlcmF0b3JMYW1iZGFQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBuYW1lKTtcbiAgICBjb25zdCBpdGVyYXRvckxhbWJkYVJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ0l0ZXJhdG9yTGFtYmRhUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5Db21wb3NpdGVQcmluY2lwYWwoXG4gICAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnbGFtYmRhLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgICksXG4gICAgICBkZXNjcmlwdGlvbjogJ0FuIGV4ZWN1dGlvbiByb2xlIGZvciBhIExhbWJkYSBmdW5jdGlvbiB0byBpbnZva2UgYSB0YXJnZXQgTGFtYmRhIEZ1bmN0aW9uIHBlciB0aW1lIHVuaXQgbGVzcyB0aGFuIG9uZSBtaW51dGUnLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbXG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZScpLFxuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ0FXU1hSYXlEYWVtb25Xcml0ZUFjY2VzcycpLFxuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFWUENBY2Nlc3NFeGVjdXRpb25Sb2xlJyksXG4gICAgICBdLFxuICAgICAgcm9sZU5hbWU6ICdMYW1iZGEtSXRlcmF0b3ItUm9sZScsXG4gICAgfSk7XG4gICAgY2RrLkRvY2tlclZvbHVtZUNvbnNpc3RlbmN5LkNPTlNJU1RFTlQ7XG5cblxuICAgIGl0ZXJhdG9yTGFtYmRhUm9sZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBzaWQ6ICdUYXJnZXRMYW1iZGFQZXJtaXNzaW9uJyxcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFsnbGFtYmRhOkludm9rZUZ1bmN0aW9uJ10sXG4gICAgICByZXNvdXJjZXM6IFtwcm9wcy50YXJnZXRGdW5jdGlvbi5mdW5jdGlvbkFybl0sXG4gICAgfSkpO1xuXG4gICAgdGhpcy5mdW5jdGlvbiA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCAnSXRlcmF0b3InLCB7XG4gICAgICBmdW5jdGlvbk5hbWU6ICdsYW1iZGEtc3VibWludXRlLWl0ZXJhdG9yJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBmdW5jdGlvbiBmb3IgYnJlYWtpbmcgdGhlIGxpbWl0IG9mIDEgbWludXRlIHdpdGggdGhlIENsb3VkV2F0Y2ggUnVsZXMuJyxcbiAgICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5USFJFRV9NT05USFMsXG4gICAgICBydW50aW1lOiBSdW50aW1lLk5PREVKU18xNF9YLFxuICAgICAgZW50cnk6IGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJ3Jlc291cmNlcy9pdGVyYXRvci9pdGVyYXRvcl9hZ2VudC50cycpKSA/IHBhdGguam9pbihfX2Rpcm5hbWUsICdyZXNvdXJjZXMvaXRlcmF0b3IvaXRlcmF0b3JfYWdlbnQudHMnKSA6IHBhdGguam9pbihfX2Rpcm5hbWUsICdyZXNvdXJjZXMvaXRlcmF0b3IvaXRlcmF0b3JfYWdlbnQuanMnKSxcbiAgICAgIGhhbmRsZXI6ICdsYW1iZGFIYW5kbGVyJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFRBUkdFVF9GTl9OQU1FOiBwcm9wcy50YXJnZXRGdW5jdGlvbi5mdW5jdGlvbk5hbWUsXG4gICAgICB9LFxuICAgICAgbWVtb3J5U2l6ZTogMTI4LFxuICAgICAgcm9sZTogaXRlcmF0b3JMYW1iZGFSb2xlLFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLnNlY29uZHMoNTgpLCAvLyAxIG1pblxuICAgICAgdHJhY2luZzogVHJhY2luZy5BQ1RJVkUsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJtaW51dGVTdGF0ZU1hY2hpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiB0aGUgbmFtZSBvZiB0aGUgc3RhdGUgbWFjaGluZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlTWFjaGluZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIHRoZSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBleGVjdXRlcyB5b3VyIGludGVudGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldEZ1bmN0aW9uOiBJRnVuY3Rpb247XG4gIC8qKlxuICAgKiB0aGUgaXRlcmF0b3IgTGFtYmRhIGZ1bmN0aW9uIGZvciB0aGUgdGFyZ2V0IExhbWJkYSBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGl0ZXJhdG9yRnVuY3Rpb246IElGdW5jdGlvbjtcbiAgLyoqXG4gICAqIFNlY29uZHMgZm9yIGFuIGludGVydmFsLCB0aGUgcHJvZHVjdCBvZiBgZnJlcXVlbmN5YCBhbmQgYGludGVydmFsVGltZWAgc2hvdWxkIGJlIGFwcHJveGltYWdlbHkgMSBtaW51dGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDEwXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbFRpbWU6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhvdyBtYW55IHRpbWVzIHlvdSBpbnRlbnQgdG8gZXhlY3V0ZSBpbiBhIG1pbnV0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgNlxuICAgKi9cbiAgcmVhZG9ubHkgZnJlcXVlbmN5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBTdWJtaW51dGVTdGF0ZU1hY2hpbmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmU6IHNmbi5TdGF0ZU1hY2hpbmU7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdWJtaW51dGVTdGF0ZU1hY2hpbmVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3Qgc3RhdGVNYWNoaW5lUm9sZSA9IHRoaXMuX2NyZWF0ZVdvcmtGbG93Um9sZShcbiAgICAgIHByb3BzLnRhcmdldEZ1bmN0aW9uLmZ1bmN0aW9uQXJuLCBwcm9wcy5pdGVyYXRvckZ1bmN0aW9uLmZ1bmN0aW9uQXJuKTtcbiAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gdGhpcy5jcmVhdGVKb2JEZWZpbml0aW9uKHByb3BzLml0ZXJhdG9yRnVuY3Rpb24sIHByb3BzLmludGVydmFsVGltZSwgcHJvcHMuZnJlcXVlbmN5KTtcbiAgICBjb25zdCBzdGF0ZU1hY2hpbmUgPSBuZXcgc2ZuLlN0YXRlTWFjaGluZSh0aGlzLCAnU3RhdGVNYWNoaW5lJywge1xuICAgICAgc3RhdGVNYWNoaW5lTmFtZTogcHJvcHMuc3RhdGVNYWNoaW5lTmFtZSxcbiAgICAgIGRlZmluaXRpb246IGpvYkRlZmluaXRpb24sXG4gICAgICByb2xlOiBzdGF0ZU1hY2hpbmVSb2xlLFxuICAgIH0pO1xuICAgIHRoaXMuc3RhdGVNYWNoaW5lID0gc3RhdGVNYWNoaW5lO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBicmVha2luZyB0aGUgbGltaXQgb2YgMSBtaW51dGUgd2l0aCB0aGUgQ2xvdWRXYXRjaCBSdWxlcy5cbiAgICpcbiAgICogQHBhcmFtIGl0ZXJhdG9yRnVuY3Rpb24gVGhlIGl0ZXJhdG9yIExhbWJkYSBmdW5jdGlvbiBmb3IgdGhlIHRhcmdldCBMYWJtZGEgZnVuY2l0b24uXG4gICAqIEBwYXJhbSBpbnRlcnZhbFRpbWUgU2Vjb25kcyBmb3IgYW4gaW50ZXJ2YWwsIHRoZSBwcm9kdWN0IG9mIGBmcmVxdWVuY3lgIGFuZCBgaW50ZXJ2YWxUaW1lYCBzaG91bGQgYmUgYXBwcm94aW1hZ2VseSAxIG1pbnV0ZS5cbiAgICogQHBhcmFtIGZyZXF1ZW5jeSBIb3cgbWFueSB0aW1lcyB5b3UgaW50ZW50IHRvIGV4ZWN1dGUgaW4gYSBtaW51dGUuXG4gICAqIEByZXR1cm5zIFRIZSBqb2IgZGVmaW5pdGlvbiBmb3IgdGhlIHN0YXRlIG1hY2hpbmUuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUpvYkRlZmluaXRpb24gPSAoXG4gICAgaXRlcmF0b3JGdW5jdGlvbjogSUZ1bmN0aW9uLCBpbnRlcnZhbFRpbWU6IG51bWJlciwgZnJlcXVlbmN5OiBudW1iZXIpOiBzZm4uQ2hhaW4gPT4ge1xuICAgIGNvbnN0IGNvbmZpZ3VyZUNvdW50ID0gbmV3IHNmbi5QYXNzKHRoaXMsICdDb25maWd1cmVDb3VudCcsIHtcbiAgICAgIHJlc3VsdDogc2ZuLlJlc3VsdC5mcm9tT2JqZWN0KHtcbiAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgIGNvdW50OiBmcmVxdWVuY3ksXG4gICAgICB9KSxcbiAgICAgIHJlc3VsdFBhdGg6ICckLml0ZXJhdG9yJyxcbiAgICB9KTtcbiAgICBjb25zdCBpdGVyYXRvciA9IG5ldyB0YXNrcy5MYW1iZGFJbnZva2UodGhpcywgJ0l0ZXJhdG9yJywge1xuICAgICAgbGFtYmRhRnVuY3Rpb246IGl0ZXJhdG9yRnVuY3Rpb24sXG4gICAgICByZXN1bHRQYXRoOiAnJC5pdGVyYXRvcicsXG4gICAgICByZXN1bHRTZWxlY3Rvcjoge1xuICAgICAgICAnaW5kZXguJCc6ICckLlBheWxvYWQuaW5kZXgnLFxuICAgICAgICAnY291bnQuJCc6ICckLlBheWxvYWQuY291bnQnLFxuICAgICAgICAnY29udGludWUuJCc6ICckLlBheWxvYWQuY29udGludWUnLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCB3YWl0ID0gbmV3IHNmbi5XYWl0KHRoaXMsICdXYWl0IGZvciB0aGUgdGFyZ2V0IExhbWJkYSBmdW5jdGlvbiBmaW5pc2hlZCcsIHtcbiAgICAgIHRpbWU6IHNmbi5XYWl0VGltZS5kdXJhdGlvbihjZGsuRHVyYXRpb24uc2Vjb25kcyhpbnRlcnZhbFRpbWUpKSxcbiAgICB9KTtcbiAgICB3YWl0Lm5leHQoaXRlcmF0b3IpO1xuICAgIGNvbnN0IGRvbmUgPSBuZXcgc2ZuLlBhc3ModGhpcywgJ0RvbmUnKTtcblxuICAgIGNvbnN0IGlzQ291bnRSZWFjaGVkID0gbmV3IHNmbi5DaG9pY2UodGhpcywgJ0lzQ291bnRSZWFjaGVkJyk7XG4gICAgaXNDb3VudFJlYWNoZWQud2hlbihzZm4uQ29uZGl0aW9uLmJvb2xlYW5FcXVhbHMoJyQuaXRlcmF0b3IuY29udGludWUnLCB0cnVlKSwgd2FpdCk7XG4gICAgaXNDb3VudFJlYWNoZWQub3RoZXJ3aXNlKGRvbmUpO1xuICAgIGNvbnN0IGpvYkRlZmluaXRpb24gPSBjb25maWd1cmVDb3VudC5uZXh0KGl0ZXJhdG9yKS5uZXh0KGlzQ291bnRSZWFjaGVkKTtcbiAgICByZXR1cm4gam9iRGVmaW5pdGlvbjtcbiAgfTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJvbGUgYW5kIGNvcnJlc3BvbmRpbmcgcG9saWNpZXMgZm9yIHRoZSBzdWJtaW51dGUgc3RhdGUgbWFjaGluZS5cbiAgICpcbiAgICogQHBhcmFtIHRhcmdldEZ1bmN0aW9uQXJuIHRoZSBBUk4gb2YgdGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IGV4ZWN1dGVzIHlvdXIgaW50ZW50aW9uLlxuICAgKiBAcGFyYW0gaXRlcmF0b3JGdW5jdGlvbkFybiB0aGUgQVJOIG9mIHRoZSBpdGVyYXRvciBMYW1iZGEgZnVuY3Rpb24gZm9yIHRoZSB0YXJnZXQgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKiBAcmV0dXJucyB0aGUgcm9sZSBhcyB0aGUgZG9jdW1lbnRhdGlvbiBpbmRpY2F0ZXMuXG4gICAqL1xuICBwcml2YXRlIF9jcmVhdGVXb3JrRmxvd1JvbGUgPSAodGFyZ2V0RnVuY3Rpb25Bcm46IHN0cmluZywgaXRlcmF0b3JGdW5jdGlvbkFybjogc3RyaW5nKSA9PiB7XG4gICAgY29uc3Qgd29ya0Zsb3dFeGVjdXRpb25Sb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdTdGVwRnVuY3Rpb25FeGVjdXRpb25Sb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ3N0YXRlcy5hbWF6b25hd3MuY29tJyksXG4gICAgICBkZXNjcmlwdGlvbjogJ0V4ZWN1dGUgYSB3b3JrZmxvdyByZWxhdGVkIHRvIGV4ZWN1dGluZyBhIExhbWJkYSBmdW5jdGlvbiBwZXIgdGltZSB1bml0IGxlc3MgdGhhbiAxIG1pbnV0ZS4nLFxuICAgIH0pO1xuICAgIHdvcmtGbG93RXhlY3V0aW9uUm9sZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBzaWQ6ICdMYW1iZGFJbnZva2VQZXJtaXNzaW9ucycsXG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbJ2xhbWJkYTpJbnZva2VGdW5jdGlvbiddLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIHRhcmdldEZ1bmN0aW9uQXJuLFxuICAgICAgICBpdGVyYXRvckZ1bmN0aW9uQXJuLFxuICAgICAgXSxcbiAgICB9KSk7XG4gICAgcmV0dXJuIHdvcmtGbG93RXhlY3V0aW9uUm9sZTtcbiAgfTtcbn0iXX0=
|
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@types/node": "^16",
|
|
44
44
|
"@typescript-eslint/eslint-plugin": "^5",
|
|
45
45
|
"@typescript-eslint/parser": "^5",
|
|
46
|
-
"aws-cdk-lib": "^2.
|
|
46
|
+
"aws-cdk-lib": "^2.73.0",
|
|
47
47
|
"constructs": "^10.0.5",
|
|
48
48
|
"esbuild": "^0.17.15",
|
|
49
49
|
"eslint": "^8",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"jsii-docgen": "^1.8.110",
|
|
58
58
|
"jsii-pacmak": "^1.80.0",
|
|
59
59
|
"npm-check-updates": "^16",
|
|
60
|
-
"projen": "^0.
|
|
60
|
+
"projen": "^0.71.6",
|
|
61
61
|
"source-map-support": "^0.5.21",
|
|
62
62
|
"standard-version": "^9",
|
|
63
63
|
"ts-jest": "^27",
|
|
@@ -68,9 +68,14 @@
|
|
|
68
68
|
"constructs": "^10.0.5"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"aws-cdk-lib": "^2.
|
|
71
|
+
"aws-cdk-lib": "^2.73.0",
|
|
72
72
|
"constructs": "^10.0.5"
|
|
73
73
|
},
|
|
74
|
+
"resolutions": {
|
|
75
|
+
"@types/prettier": "2.6.0",
|
|
76
|
+
"@types/babel__traverse": "7.18.2",
|
|
77
|
+
"got": "12.3.0"
|
|
78
|
+
},
|
|
74
79
|
"keywords": [
|
|
75
80
|
"aws-cloudwatch-events",
|
|
76
81
|
"aws-lambda",
|
|
@@ -82,7 +87,7 @@
|
|
|
82
87
|
],
|
|
83
88
|
"main": "lib/index.js",
|
|
84
89
|
"license": "Apache-2.0",
|
|
85
|
-
"version": "2.0.
|
|
90
|
+
"version": "2.0.116",
|
|
86
91
|
"jest": {
|
|
87
92
|
"testMatch": [
|
|
88
93
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|
|
@@ -152,10 +157,5 @@
|
|
|
152
157
|
"rootDir": "src"
|
|
153
158
|
}
|
|
154
159
|
},
|
|
155
|
-
"resolutions": {
|
|
156
|
-
"@types/prettier": "2.6.0",
|
|
157
|
-
"@types/babel__traverse": "7.18.2",
|
|
158
|
-
"got": "12.3.0"
|
|
159
|
-
},
|
|
160
160
|
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
|
|
161
161
|
}
|