@aws-solutions-constructs/core 2.97.0 → 2.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1378 -427
- package/index.d.ts +2 -0
- package/index.js +3 -1
- package/lib/polly-helper.d.ts +50 -0
- package/lib/polly-helper.js +138 -0
- package/lib/step-function-helper.js +12 -2
- package/lib/textract-helper.d.ts +63 -0
- package/lib/textract-helper.js +220 -0
- package/lib/vpc-helper.d.ts +3 -1
- package/lib/vpc-helper.js +13 -1
- package/package.json +3 -3
- package/test/polly-helper.test.d.ts +13 -0
- package/test/polly-helper.test.js +495 -0
- package/test/textract-helper.test.d.ts +13 -0
- package/test/textract-helper.test.js +857 -0
- package/test/vpc-helper.test.js +28 -1
package/index.d.ts
CHANGED
|
@@ -76,4 +76,6 @@ export * from './lib/pipes-defaults';
|
|
|
76
76
|
export * from './lib/pipes-helper';
|
|
77
77
|
export * from './lib/bedrock-inference-helper';
|
|
78
78
|
export * from './lib/translate-helper';
|
|
79
|
+
export * from './lib/textract-helper';
|
|
80
|
+
export * from './lib/polly-helper';
|
|
79
81
|
export * from './lib/constructs-feature-flags';
|
package/index.js
CHANGED
|
@@ -92,5 +92,7 @@ __exportStar(require("./lib/pipes-defaults"), exports);
|
|
|
92
92
|
__exportStar(require("./lib/pipes-helper"), exports);
|
|
93
93
|
__exportStar(require("./lib/bedrock-inference-helper"), exports);
|
|
94
94
|
__exportStar(require("./lib/translate-helper"), exports);
|
|
95
|
+
__exportStar(require("./lib/textract-helper"), exports);
|
|
96
|
+
__exportStar(require("./lib/polly-helper"), exports);
|
|
95
97
|
__exportStar(require("./lib/constructs-feature-flags"), exports);
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxxREFBbUM7QUFDbkMsbURBQWlDO0FBQ2pDLDREQUEwQztBQUMxQywwREFBd0M7QUFDeEMsZ0VBQThDO0FBQzlDLDZEQUEyQztBQUMzQywyREFBeUM7QUFDekMseURBQXVDO0FBQ3ZDLHVEQUFxQztBQUNyQyxnRUFBOEM7QUFDOUMsbUVBQWlEO0FBQ2pELGlFQUErQztBQUMvQyxpRUFBK0M7QUFDL0MsK0RBQTZDO0FBQzdDLHFFQUFtRDtBQUNuRCw2RUFBMkQ7QUFDM0QscURBQW1DO0FBQ25DLG1EQUFpQztBQUNqQyx3REFBc0M7QUFDdEMsc0RBQW9DO0FBQ3BDLDJEQUF5QztBQUN6Qyx5REFBdUM7QUFDdkMsZ0VBQThDO0FBQzlDLDhEQUE0QztBQUM1Qyw4REFBNEM7QUFDNUMscURBQW1DO0FBQ25DLG1EQUFpQztBQUNqQyxzREFBb0M7QUFDcEMscURBQW1DO0FBQ25DLG1EQUFpQztBQUNqQyx1RUFBcUQ7QUFDckQseUVBQXVEO0FBQ3ZELDhDQUE0QjtBQUM1Qiw2REFBMkM7QUFDM0MseURBQXVDO0FBQ3ZDLHVEQUFxQztBQUNyQywrREFBNkM7QUFDN0MsNkRBQTJDO0FBQzNDLCtEQUE2QztBQUM3Qyw2REFBMkM7QUFDM0MsOERBQTRDO0FBQzVDLHFEQUFtQztBQUNuQyxtREFBaUM7QUFDakMsMkRBQXlDO0FBQ3pDLHlEQUF1QztBQUN2QyxvRUFBa0Q7QUFDbEQsMERBQXdDO0FBQ3hDLHdEQUFzQztBQUN0Qyw0REFBMEM7QUFDMUMsMERBQXdDO0FBQ3hDLCtEQUE2QztBQUM3Qyw2REFBMkM7QUFDM0MscURBQW1DO0FBQ25DLG9FQUFrRDtBQUNsRCwyREFBeUM7QUFDekMscURBQW1DO0FBQ25DLG1EQUFpQztBQUNqQyw0REFBMEM7QUFDMUMsMERBQXdDO0FBQ3hDLHNEQUFvQztBQUNwQywrREFBNkM7QUFDN0MsNkRBQTJDO0FBQzNDLHVEQUFxQztBQUNyQyxxREFBbUM7QUFDbkMsaUVBQStDO0FBQy9DLHlEQUF1QztBQUN2Qyx3REFBc0M7QUFDdEMscURBQW1DO0FBQ25DLGlFQUErQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FsYi1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbGItaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaWdhdGV3YXktZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpZ2F0ZXdheS1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHluYW1vZGItdGFibGUtZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxhc3RpY2FjaGUtZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxhc3RpY2FjaGUtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhcmdhdGUtZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFyZ2F0ZS1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW90LXRvcGljLXJ1bGUtZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIva2luZXNpcy1hbmFseXRpY3MtZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIva2luZXNpcy1hbmFseXRpY3MtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2tpbmVzaXMtc3RyZWFtcy1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9raW5lc2lzLXN0cmVhbXMtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2tpbmVzaXMtZmlyZWhvc2UtczMtZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGFtYmRhLWV2ZW50LXNvdXJjZS1tYXBwaW5nLWRlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ttcy1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9rbXMtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhbWJkYS1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYW1iZGEtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3MzLWJ1Y2tldC1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zMy1idWNrZXQtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlY3JldHNtYW5hZ2VyLWRlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlY3JldHNtYW5hZ2VyLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWN1cml0eS1ncm91cC1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc25zLWRlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nucy1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvczMtb2FjLW9yaWdpbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zcXMtZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3FzLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbG91ZGZyb250LWRpc3RyaWJ1dGlvbi1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xvdWRmcm9udC1kaXN0cmlidXRpb24tZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXZlbnRzLXJ1bGUtZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29nbml0by1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2duaXRvLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGFzdGljc2VhcmNoLWRlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsYXN0aWNzZWFyY2gtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXAtZnVuY3Rpb24tZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcC1mdW5jdGlvbi1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHluYW1vZGItdGFibGUtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZwYy1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92cGMtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NhZ2VtYWtlci1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zYWdlbWFrZXItaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Nsb3Vkd2F0Y2gtbG9nLWdyb3VwLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbHVlLWpvYi1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbHVlLWpvYi1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2x1ZS10YWJsZS1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbHVlLXRhYmxlLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbHVlLWRhdGFiYXNlLWRlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dsdWUtZGF0YWJhc2UtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdC90ZXN0LWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zc20tc3RyaW5nLXBhcmFtZXRlci1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXZlbnRicmlkZ2UtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dhZi1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93YWYtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL29wZW5zZWFyY2gtZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb3BlbnNlYXJjaC1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIva2VuZHJhLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93ZWJzb2NrZXQtYXBpLWRlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dlYnNvY2tldC1hcGktaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzLWRlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iZWRyb2NrLWluZmVyZW5jZS1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRlLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZXh0cmFjdC1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcG9sbHktaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0cnVjdHMtZmVhdHVyZS1mbGFncyc7XG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
14
|
+
import { Construct } from 'constructs';
|
|
15
|
+
import * as kms from 'aws-cdk-lib/aws-kms';
|
|
16
|
+
import * as sns from 'aws-cdk-lib/aws-sns';
|
|
17
|
+
export interface PollyProps {
|
|
18
|
+
readonly asyncJobs?: boolean;
|
|
19
|
+
readonly existingBucketObj?: s3.IBucket;
|
|
20
|
+
readonly bucketProps?: s3.BucketProps;
|
|
21
|
+
readonly loggingBucketProps?: s3.BucketProps;
|
|
22
|
+
readonly logS3AccessLogs?: boolean;
|
|
23
|
+
readonly bucketEnvironmentVariableName?: string;
|
|
24
|
+
readonly existingTopicObj?: sns.Topic;
|
|
25
|
+
readonly existingTopicEncryptionKey?: kms.Key;
|
|
26
|
+
readonly topicProps?: sns.TopicProps;
|
|
27
|
+
readonly enableTopicEncryptionWithCustomerManagedKey?: boolean;
|
|
28
|
+
readonly topicEncryptionKey?: kms.Key;
|
|
29
|
+
readonly topicEncryptionKeyProps?: kms.KeyProps;
|
|
30
|
+
readonly topicEnvironmentVariableName?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface PollyBucketDetails {
|
|
33
|
+
readonly bucket?: s3.Bucket;
|
|
34
|
+
readonly bucketInterface: s3.IBucket;
|
|
35
|
+
readonly loggingBucket?: s3.Bucket;
|
|
36
|
+
}
|
|
37
|
+
export interface EnvironmentVariableDefinition {
|
|
38
|
+
readonly defaultName: string;
|
|
39
|
+
readonly clientNameOverride?: string;
|
|
40
|
+
readonly value: string;
|
|
41
|
+
}
|
|
42
|
+
export interface PollyConfiguration {
|
|
43
|
+
readonly destinationBucket?: PollyBucketDetails;
|
|
44
|
+
readonly snsNotificationTopic?: sns.Topic;
|
|
45
|
+
readonly notificationTopicEncryptionKey?: kms.Key;
|
|
46
|
+
readonly lambdaIamActionsRequired: string[];
|
|
47
|
+
readonly environmentVariables: EnvironmentVariableDefinition[];
|
|
48
|
+
}
|
|
49
|
+
export declare function ConfigurePollySupport(scope: Construct, id: string, props: PollyProps): PollyConfiguration;
|
|
50
|
+
export declare function CheckPollyProps(props: PollyProps): void;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ConfigurePollySupport = ConfigurePollySupport;
|
|
16
|
+
exports.CheckPollyProps = CheckPollyProps;
|
|
17
|
+
const s3_bucket_helper_1 = require("./s3-bucket-helper");
|
|
18
|
+
const sns_helper_1 = require("./sns-helper");
|
|
19
|
+
const utils_1 = require("./utils");
|
|
20
|
+
const syncPermissions = [
|
|
21
|
+
'polly:SynthesizeSpeech'
|
|
22
|
+
];
|
|
23
|
+
const asyncPermissions = [
|
|
24
|
+
'polly:StartSpeechSynthesisTask',
|
|
25
|
+
'polly:GetSpeechSynthesisTask',
|
|
26
|
+
'polly:ListSpeechSynthesisTasks'
|
|
27
|
+
];
|
|
28
|
+
function ConfigurePollySupport(scope, id, props) {
|
|
29
|
+
let configuration = {
|
|
30
|
+
lambdaIamActionsRequired: [...syncPermissions],
|
|
31
|
+
environmentVariables: [],
|
|
32
|
+
};
|
|
33
|
+
if (props.asyncJobs) {
|
|
34
|
+
// Setup SNS notification topic
|
|
35
|
+
const buildTopicResponse = (0, sns_helper_1.buildTopic)(scope, id, {
|
|
36
|
+
existingTopicObj: props.existingTopicObj,
|
|
37
|
+
existingTopicEncryptionKey: props.existingTopicEncryptionKey,
|
|
38
|
+
topicProps: props.topicProps,
|
|
39
|
+
enableEncryptionWithCustomerManagedKey: props.enableTopicEncryptionWithCustomerManagedKey,
|
|
40
|
+
encryptionKey: props.topicEncryptionKey,
|
|
41
|
+
encryptionKeyProps: props.topicEncryptionKeyProps
|
|
42
|
+
});
|
|
43
|
+
configuration = (0, utils_1.overrideProps)(configuration, {
|
|
44
|
+
snsNotificationTopic: buildTopicResponse.topic,
|
|
45
|
+
});
|
|
46
|
+
if (buildTopicResponse.key) {
|
|
47
|
+
configuration = (0, utils_1.overrideProps)(configuration, { notificationTopicEncryptionKey: buildTopicResponse.key });
|
|
48
|
+
}
|
|
49
|
+
// Setup S3 Bucket for audio output
|
|
50
|
+
if (props.existingBucketObj) {
|
|
51
|
+
configuration = (0, utils_1.overrideProps)(configuration, {
|
|
52
|
+
destinationBucket: {
|
|
53
|
+
bucketInterface: props.existingBucketObj
|
|
54
|
+
}
|
|
55
|
+
}, false);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
const buildBucketResponse = (0, s3_bucket_helper_1.buildS3Bucket)(scope, {
|
|
59
|
+
bucketProps: props.bucketProps,
|
|
60
|
+
loggingBucketProps: props.loggingBucketProps,
|
|
61
|
+
logS3AccessLogs: props.logS3AccessLogs
|
|
62
|
+
}, `${id}-output-bucket`);
|
|
63
|
+
configuration = (0, utils_1.overrideProps)(configuration, {
|
|
64
|
+
destinationBucket: {
|
|
65
|
+
bucket: buildBucketResponse.bucket,
|
|
66
|
+
loggingBucket: buildBucketResponse.loggingBucket,
|
|
67
|
+
bucketInterface: buildBucketResponse.bucket,
|
|
68
|
+
}
|
|
69
|
+
}, false);
|
|
70
|
+
}
|
|
71
|
+
// Add async permissions
|
|
72
|
+
asyncPermissions.forEach((permission) => {
|
|
73
|
+
configuration.lambdaIamActionsRequired.push(permission);
|
|
74
|
+
});
|
|
75
|
+
// Build environment variables
|
|
76
|
+
configuration.environmentVariables.push({
|
|
77
|
+
defaultName: 'OUTPUT_BUCKET_NAME',
|
|
78
|
+
clientNameOverride: props.bucketEnvironmentVariableName,
|
|
79
|
+
value: configuration.destinationBucket.bucketInterface.bucketName
|
|
80
|
+
});
|
|
81
|
+
configuration.environmentVariables.push({
|
|
82
|
+
defaultName: 'SNS_TOPIC_ARN',
|
|
83
|
+
clientNameOverride: props.topicEnvironmentVariableName,
|
|
84
|
+
value: configuration.snsNotificationTopic.topicArn
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return configuration;
|
|
88
|
+
}
|
|
89
|
+
function CheckPollyProps(props) {
|
|
90
|
+
let errorMessages = '';
|
|
91
|
+
let errorFound = false;
|
|
92
|
+
if (props.asyncJobs) {
|
|
93
|
+
// Check for conflicting bucket props
|
|
94
|
+
if (props.existingBucketObj && props.bucketProps) {
|
|
95
|
+
errorMessages += 'Error - Either provide bucketProps or existingBucketObj, but not both.\n';
|
|
96
|
+
errorFound = true;
|
|
97
|
+
}
|
|
98
|
+
// Check for conflicting topic props
|
|
99
|
+
if (props.existingTopicObj && props.topicProps) {
|
|
100
|
+
errorMessages += 'Error - Either provide topicProps or existingTopicObj, but not both.\n';
|
|
101
|
+
errorFound = true;
|
|
102
|
+
}
|
|
103
|
+
// Check SNS encryption props
|
|
104
|
+
if (props.topicProps?.masterKey && props.topicEncryptionKey) {
|
|
105
|
+
errorMessages += 'Error - Either provide topicProps.masterKey or topicEncryptionKey, but not both.\n';
|
|
106
|
+
errorFound = true;
|
|
107
|
+
}
|
|
108
|
+
if (props.topicProps?.masterKey && props.topicEncryptionKeyProps) {
|
|
109
|
+
errorMessages += 'Error - Either provide topicProps.masterKey or topicEncryptionKeyProps, but not both.\n';
|
|
110
|
+
errorFound = true;
|
|
111
|
+
}
|
|
112
|
+
if (props.topicEncryptionKey && props.topicEncryptionKeyProps) {
|
|
113
|
+
errorMessages += 'Error - Either provide topicEncryptionKey or topicEncryptionKeyProps, but not both.\n';
|
|
114
|
+
errorFound = true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// If asyncJobs is false or undefined, no bucket or topic props should be provided
|
|
118
|
+
if (!props.asyncJobs) {
|
|
119
|
+
if (props.existingBucketObj || props.bucketProps ||
|
|
120
|
+
props.loggingBucketProps || props.logS3AccessLogs !== undefined ||
|
|
121
|
+
props.bucketEnvironmentVariableName) {
|
|
122
|
+
errorMessages += 'Error - Bucket properties can only be provided when asyncJobs is true.\n';
|
|
123
|
+
errorFound = true;
|
|
124
|
+
}
|
|
125
|
+
if (props.existingTopicObj || props.topicProps ||
|
|
126
|
+
props.existingTopicEncryptionKey || props.topicEncryptionKey ||
|
|
127
|
+
props.topicEncryptionKeyProps ||
|
|
128
|
+
props.enableTopicEncryptionWithCustomerManagedKey !== undefined ||
|
|
129
|
+
props.topicEnvironmentVariableName) {
|
|
130
|
+
errorMessages += 'Error - Topic properties can only be provided when asyncJobs is true.\n';
|
|
131
|
+
errorFound = true;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (errorFound) {
|
|
135
|
+
throw new Error(errorMessages);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbHktaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicG9sbHktaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUE2REgsc0RBcUVDO0FBRUQsMENBd0RDO0FBbExELHlEQUFtRDtBQUNuRCw2Q0FBMEM7QUFDMUMsbUNBQXdDO0FBdUN4QyxNQUFNLGVBQWUsR0FBRztJQUN0Qix3QkFBd0I7Q0FDekIsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsZ0NBQWdDO0lBQ2hDLDhCQUE4QjtJQUM5QixnQ0FBZ0M7Q0FDakMsQ0FBQztBQUVGLFNBQWdCLHFCQUFxQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlCO0lBRW5GLElBQUksYUFBYSxHQUF1QjtRQUN0Qyx3QkFBd0IsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDO1FBQzlDLG9CQUFvQixFQUFFLEVBQUU7S0FDekIsQ0FBQztJQUVGLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3BCLCtCQUErQjtRQUMvQixNQUFNLGtCQUFrQixHQUFHLElBQUEsdUJBQVUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQy9DLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLDBCQUEwQjtZQUM1RCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsc0NBQXNDLEVBQUUsS0FBSyxDQUFDLDJDQUEyQztZQUN6RixhQUFhLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUN2QyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsdUJBQXVCO1NBQ2xELENBQUMsQ0FBQztRQUVILGFBQWEsR0FBRyxJQUFBLHFCQUFhLEVBQUMsYUFBYSxFQUFFO1lBQzNDLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLEtBQUs7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxrQkFBa0IsQ0FBQyxHQUFH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dUIsRUFBRSxDQUFDO1lBQ2pFLGFBQWEsSUFBSSx5RkFBeUYsQ0FBQztZQUMzRyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUM5RCxhQUFhLElBQUksdUZBQXVGLENBQUM7WUFDekcsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELGtGQUFrRjtJQUNsRixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLElBQUksS0FBSyxDQUFDLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxXQUFXO1lBQzlDLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUMsZUFBZSxLQUFLLFNBQVM7WUFDL0QsS0FBSyxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDdEMsYUFBYSxJQUFJLDBFQUEwRSxDQUFDO1lBQzVGLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxVQUFVO1lBQzVDLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxLQUFLLENBQUMsa0JBQWtCO1lBQzVELEtBQUssQ0FBQyx1QkFBdUI7WUFDN0IsS0FBSyxDQUFDLDJDQUEyQyxLQUFLLFNBQVM7WUFDL0QsS0FBSyxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDckMsYUFBYSxJQUFJLHlFQUF5RSxDQUFDO1lBQzNGLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0IHsgYnVpbGRTM0J1Y2tldCB9IGZyb20gJy4vczMtYnVja2V0LWhlbHBlcic7XG5pbXBvcnQgeyBidWlsZFRvcGljIH0gZnJvbSAnLi9zbnMtaGVscGVyJztcbmltcG9ydCB7IG92ZXJyaWRlUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIHNucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zJztcblxuZXhwb3J0IGludGVyZmFjZSBQb2xseVByb3BzIHtcbiAgcmVhZG9ubHkgYXN5bmNKb2JzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZXhpc3RpbmdCdWNrZXRPYmo/OiBzMy5JQnVja2V0O1xuICByZWFkb25seSBidWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzO1xuICByZWFkb25seSBsb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcztcbiAgcmVhZG9ubHkgbG9nUzNBY2Nlc3NMb2dzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYnVja2V0RW52aXJvbm1lbnRWYXJpYWJsZU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4aXN0aW5nVG9waWNPYmo/OiBzbnMuVG9waWM7XG4gIHJlYWRvbmx5IGV4aXN0aW5nVG9waWNFbmNyeXB0aW9uS2V5Pzoga21zLktleTtcbiAgcmVhZG9ubHkgdG9waWNQcm9wcz86IHNucy5Ub3BpY1Byb3BzO1xuICByZWFkb25seSBlbmFibGVUb3BpY0VuY3J5cHRpb25XaXRoQ3VzdG9tZXJNYW5hZ2VkS2V5PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdG9waWNFbmNyeXB0aW9uS2V5Pzoga21zLktleTtcbiAgcmVhZG9ubHkgdG9waWNFbmNyeXB0aW9uS2V5UHJvcHM/OiBrbXMuS2V5UHJvcHM7XG4gIHJlYWRvbmx5IHRvcGljRW52aXJvbm1lbnRWYXJpYWJsZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9sbHlCdWNrZXREZXRhaWxzIHtcbiAgcmVhZG9ubHkgYnVja2V0PzogczMuQnVja2V0LFxuICByZWFkb25seSBidWNrZXRJbnRlcmZhY2U6IHMzLklCdWNrZXQsXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBzMy5CdWNrZXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudFZhcmlhYmxlRGVmaW5pdGlvbiB7XG4gIHJlYWRvbmx5IGRlZmF1bHROYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNsaWVudE5hbWVPdmVycmlkZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2xseUNvbmZpZ3VyYXRpb24ge1xuICByZWFkb25seSBkZXN0aW5hdGlvbkJ1Y2tldD86IFBvbGx5QnVja2V0RGV0YWlscyxcbiAgcmVhZG9ubHkgc25zTm90aWZpY2F0aW9uVG9waWM/OiBzbnMuVG9waWMsXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvblRvcGljRW5jcnlwdGlvbktleT86IGttcy5LZXksXG4gIHJlYWRvbmx5IGxhbWJkYUlhbUFjdGlvbnNSZXF1aXJlZDogc3RyaW5nW10sXG4gIHJlYWRvbmx5IGVudmlyb25tZW50VmFyaWFibGVzOiBFbnZpcm9ubWVudFZhcmlhYmxlRGVmaW5pdGlvbltdLFxufVxuXG5jb25zdCBzeW5jUGVybWlzc2lvbnMgPSBbXG4gICdwb2xseTpTeW50aGVzaXplU3BlZWNoJ1xuXTtcblxuY29uc3QgYXN5bmNQZXJtaXNzaW9ucyA9IFtcbiAgJ3BvbGx5OlN0YXJ0U3BlZWNoU3ludGhlc2lzVGFzaycsXG4gICdwb2xseTpHZXRTcGVlY2hTeW50aGVzaXNUYXNrJyxcbiAgJ3BvbGx5Okxpc3RTcGVlY2hTeW50aGVzaXNUYXNrcydcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBDb25maWd1cmVQb2xseVN1cHBvcnQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBvbGx5UHJvcHMpOiBQb2xseUNvbmZpZ3VyYXRpb24ge1xuXG4gIGxldCBjb25maWd1cmF0aW9uOiBQb2xseUNvbmZpZ3VyYXRpb24gPSB7XG4gICAgbGFtYmRhSWFtQWN0aW9uc1JlcXVpcmVkOiBbLi4uc3luY1Blcm1pc3Npb25zXSxcbiAgICBlbnZpcm9ubWVudFZhcmlhYmxlczogW10sXG4gIH07XG5cbiAgaWYgKHByb3BzLmFzeW5jSm9icykge1xuICAgIC8vIFNldHVwIFNOUyBub3RpZmljYXRpb24gdG9waWNcbiAgICBjb25zdCBidWlsZFRvcGljUmVzcG9uc2UgPSBidWlsZFRvcGljKHNjb3BlLCBpZCwge1xuICAgICAgZXhpc3RpbmdUb3BpY09iajogcHJvcHMuZXhpc3RpbmdUb3BpY09iaixcbiAgICAgIGV4aXN0aW5nVG9waWNFbmNyeXB0aW9uS2V5OiBwcm9wcy5leGlzdGluZ1RvcGljRW5jcnlwdGlvbktleSxcbiAgICAgIHRvcGljUHJvcHM6IHByb3BzLnRvcGljUHJvcHMsXG4gICAgICBlbmFibGVFbmNyeXB0aW9uV2l0aEN1c3RvbWVyTWFuYWdlZEtleTogcHJvcHMuZW5hYmxlVG9waWNFbmNyeXB0aW9uV2l0aEN1c3RvbWVyTWFuYWdlZEtleSxcbiAgICAgIGVuY3J5cHRpb25LZXk6IHByb3BzLnRvcGljRW5jcnlwdGlvbktleSxcbiAgICAgIGVuY3J5cHRpb25LZXlQcm9wczogcHJvcHMudG9waWNFbmNyeXB0aW9uS2V5UHJvcHNcbiAgICB9KTtcblxuICAgIGNvbmZpZ3VyYXRpb24gPSBvdmVycmlkZVByb3BzKGNvbmZpZ3VyYXRpb24sIHtcbiAgICAgIHNuc05vdGlmaWNhdGlvblRvcGljOiBidWlsZFRvcGljUmVzcG9uc2UudG9waWMsXG4gICAgfSk7XG5cbiAgICBpZiAoYnVpbGRUb3BpY1Jlc3BvbnNlLmtleSkge1xuICAgICAgY29uZmlndXJhdGlvbiA9IG92ZXJyaWRlUHJvcHMoY29uZmlndXJhdGlvbiwgeyBub3RpZmljYXRpb25Ub3BpY0VuY3J5cHRpb25LZXk6IGJ1aWxkVG9waWNSZXNwb25zZS5rZXkgfSk7XG4gICAgfVxuXG4gICAgLy8gU2V0dXAgUzMgQnVja2V0IGZvciBhdWRpbyBvdXRwdXRcbiAgICBpZiAocHJvcHMuZXhpc3RpbmdCdWNrZXRPYmopIHtcbiAgICAgIGNvbmZpZ3VyYXRpb24gPSBvdmVycmlkZVByb3BzKGNvbmZpZ3VyYXRpb24sIHtcbiAgICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHtcbiAgICAgICAgICBidWNrZXRJbnRlcmZhY2U6IHByb3BzLmV4aXN0aW5nQnVja2V0T2JqXG4gICAgICAgIH1cbiAgICAgIH0sIGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYnVpbGRCdWNrZXRSZXNwb25zZSA9IGJ1aWxkUzNCdWNrZXQoc2NvcGUsIHtcbiAgICAgICAgYnVja2V0UHJvcHM6IHByb3BzLmJ1Y2tldFByb3BzLFxuICAgICAgICBsb2dnaW5nQnVja2V0UHJvcHM6IHByb3BzLmxvZ2dpbmdCdWNrZXRQcm9wcyxcbiAgICAgICAgbG9nUzNBY2Nlc3NMb2dzOiBwcm9wcy5sb2dTM0FjY2Vzc0xvZ3NcbiAgICAgIH0sIGAke2lkfS1vdXRwdXQtYnVja2V0YCk7XG5cbiAgICAgIGNvbmZpZ3VyYXRpb24gPSBvdmVycmlkZVByb3BzKGNvbmZpZ3VyYXRpb24sIHtcbiAgICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHtcbiAgICAgICAgICBidWNrZXQ6IGJ1aWxkQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgICAgICAgIGxvZ2dpbmdCdWNrZXQ6IGJ1aWxkQnVja2V0UmVzcG9uc2UubG9nZ2luZ0J1Y2tldCxcbiAgICAgICAgICBidWNrZXRJbnRlcmZhY2U6IGJ1aWxkQnVja2V0UmVzcG9uc2UuYnVja2V0LFxuICAgICAgICB9XG4gICAgICB9LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGFzeW5jIHBlcm1pc3Npb25zXG4gICAgYXN5bmNQZXJtaXNzaW9ucy5mb3JFYWNoKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgICBjb25maWd1cmF0aW9uLmxhbWJkYUlhbUFjdGlvbnNSZXF1aXJlZC5wdXNoKHBlcm1pc3Npb24pO1xuICAgIH0pO1xuXG4gICAgLy8gQnVpbGQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAgY29uZmlndXJhdGlvbi5lbnZpcm9ubWVudFZhcmlhYmxlcy5wdXNoKHtcbiAgICAgIGRlZmF1bHROYW1lOiAnT1VUUFVUX0JVQ0tFVF9OQU1FJyxcbiAgICAgIGNsaWVudE5hbWVPdmVycmlkZTogcHJvcHMuYnVja2V0RW52aXJvbm1lbnRWYXJpYWJsZU5hbWUsXG4gICAgICB2YWx1ZTogY29uZmlndXJhdGlvbi5kZXN0aW5hdGlvbkJ1Y2tldCEuYnVja2V0SW50ZXJmYWNlLmJ1Y2tldE5hbWVcbiAgICB9KTtcblxuICAgIGNvbmZpZ3VyYXRpb24uZW52aXJvbm1lbnRWYXJpYWJsZXMucHVzaCh7XG4gICAgICBkZWZhdWx0TmFtZTogJ1NOU19UT1BJQ19BUk4nLFxuICAgICAgY2xpZW50TmFtZU92ZXJyaWRlOiBwcm9wcy50b3BpY0Vudmlyb25tZW50VmFyaWFibGVOYW1lLFxuICAgICAgdmFsdWU6IGNvbmZpZ3VyYXRpb24uc25zTm90aWZpY2F0aW9uVG9waWMhLnRvcGljQXJuXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gY29uZmlndXJhdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoZWNrUG9sbHlQcm9wcyhwcm9wczogUG9sbHlQcm9wcyk6IHZvaWQge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9ICcnO1xuICBsZXQgZXJyb3JGb3VuZCA9IGZhbHNlO1xuXG4gIGlmIChwcm9wcy5hc3luY0pvYnMpIHtcbiAgICAvLyBDaGVjayBmb3IgY29uZmxpY3RpbmcgYnVja2V0IHByb3BzXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nQnVja2V0T2JqICYmIHByb3BzLmJ1Y2tldFByb3BzKSB7XG4gICAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIEVpdGhlciBwcm92aWRlIGJ1Y2tldFByb3BzIG9yIGV4aXN0aW5nQnVja2V0T2JqLCBidXQgbm90IGJvdGguXFxuJztcbiAgICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBjb25mbGljdGluZyB0b3BpYyBwcm9wc1xuICAgIGlmIChwcm9wcy5leGlzdGluZ1RvcGljT2JqICYmIHByb3BzLnRvcGljUHJvcHMpIHtcbiAgICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gRWl0aGVyIHByb3ZpZGUgdG9waWNQcm9wcyBvciBleGlzdGluZ1RvcGljT2JqLCBidXQgbm90IGJvdGguXFxuJztcbiAgICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIFNOUyBlbmNyeXB0aW9uIHByb3BzXG4gICAgaWYgKHByb3BzLnRvcGljUHJvcHM/Lm1hc3RlcktleSAmJiBwcm9wcy50b3BpY0VuY3J5cHRpb25LZXkpIHtcbiAgICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gRWl0aGVyIHByb3ZpZGUgdG9waWNQcm9wcy5tYXN0ZXJLZXkgb3IgdG9waWNFbmNyeXB0aW9uS2V5LCBidXQgbm90IGJvdGguXFxuJztcbiAgICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy50b3BpY1Byb3BzPy5tYXN0ZXJLZXkgJiYgcHJvcHMudG9waWNFbmNyeXB0aW9uS2V5UHJvcHMpIHtcbiAgICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gRWl0aGVyIHByb3ZpZGUgdG9waWNQcm9wcy5tYXN0ZXJLZXkgb3IgdG9waWNFbmNyeXB0aW9uS2V5UHJvcHMsIGJ1dCBub3QgYm90aC5cXG4nO1xuICAgICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRvcGljRW5jcnlwdGlvbktleSAmJiBwcm9wcy50b3BpY0VuY3J5cHRpb25LZXlQcm9wcykge1xuICAgICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBFaXRoZXIgcHJvdmlkZSB0b3BpY0VuY3J5cHRpb25LZXkgb3IgdG9waWNFbmNyeXB0aW9uS2V5UHJvcHMsIGJ1dCBub3QgYm90aC5cXG4nO1xuICAgICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgYXN5bmNKb2JzIGlzIGZhbHNlIG9yIHVuZGVmaW5lZCwgbm8gYnVja2V0IG9yIHRvcGljIHByb3BzIHNob3VsZCBiZSBwcm92aWRlZFxuICBpZiAoIXByb3BzLmFzeW5jSm9icykge1xuICAgIGlmIChwcm9wcy5leGlzdGluZ0J1Y2tldE9iaiB8fCBwcm9wcy5idWNrZXRQcm9wcyB8fFxuICAgICAgcHJvcHMubG9nZ2luZ0J1Y2tldFByb3BzIHx8IHByb3BzLmxvZ1MzQWNjZXNzTG9ncyAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICBwcm9wcy5idWNrZXRFbnZpcm9ubWVudFZhcmlhYmxlTmFtZSkge1xuICAgICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBCdWNrZXQgcHJvcGVydGllcyBjYW4gb25seSBiZSBwcm92aWRlZCB3aGVuIGFzeW5jSm9icyBpcyB0cnVlLlxcbic7XG4gICAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZXhpc3RpbmdUb3BpY09iaiB8fCBwcm9wcy50b3BpY1Byb3BzIHx8XG4gICAgICBwcm9wcy5leGlzdGluZ1RvcGljRW5jcnlwdGlvbktleSB8fCBwcm9wcy50b3BpY0VuY3J5cHRpb25LZXkgfHxcbiAgICAgIHByb3BzLnRvcGljRW5jcnlwdGlvbktleVByb3BzIHx8XG4gICAgICBwcm9wcy5lbmFibGVUb3BpY0VuY3J5cHRpb25XaXRoQ3VzdG9tZXJNYW5hZ2VkS2V5ICE9PSB1bmRlZmluZWQgfHxcbiAgICAgIHByb3BzLnRvcGljRW52aXJvbm1lbnRWYXJpYWJsZU5hbWUpIHtcbiAgICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gVG9waWMgcHJvcGVydGllcyBjYW4gb25seSBiZSBwcm92aWRlZCB3aGVuIGFzeW5jSm9icyBpcyB0cnVlLlxcbic7XG4gICAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
|
|
@@ -41,7 +41,17 @@ function buildStateMachine(scope, id, props) {
|
|
|
41
41
|
let consolidatedStateMachineProps;
|
|
42
42
|
// If they sent a logGroup in stateMachineProps
|
|
43
43
|
if (props.stateMachineProps.logs?.destination) {
|
|
44
|
-
|
|
44
|
+
// In CDK v2.235.0+, logs.destination is ILogGroupRef, but we need ILogGroup
|
|
45
|
+
// We need to verify it's actually an ILogGroup (has the full interface)
|
|
46
|
+
const destination = props.stateMachineProps.logs.destination;
|
|
47
|
+
// Type guard: Check if destination has ILogGroup methods
|
|
48
|
+
if ('addMetricFilter' in destination && 'grantWrite' in destination) {
|
|
49
|
+
logGroup = destination;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new Error('The provided log group destination must be a full ILogGroup (not just ILogGroupRef). ' +
|
|
53
|
+
'Please provide a LogGroup created with new LogGroup() or LogGroup.fromLogGroupArn().');
|
|
54
|
+
}
|
|
45
55
|
consolidatedStateMachineProps = props.stateMachineProps;
|
|
46
56
|
}
|
|
47
57
|
else {
|
|
@@ -151,4 +161,4 @@ function CheckStateMachineProps(propsObject) {
|
|
|
151
161
|
throw new Error(errorMessages);
|
|
152
162
|
}
|
|
153
163
|
}
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1mdW5jdGlvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGVwLWZ1bmN0aW9uLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQThDSCw4Q0E4REM7QUFLRCw4REEwQ0M7QUFVRCx3REFzQkM7QUFsTEQsbUNBQW1DO0FBQ25DLHVEQUF1RDtBQUN2RCxxREFBcUQ7QUFDckQsbUNBQTJGO0FBRTNGLHlEQUF5RDtBQUN6RCwrRUFBOEQ7QUFJOUQ7Ozs7O0dBS0c7QUFDVSxRQUFBLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFjdkM7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxFQUFzQixFQUFFLEtBQTRCO0lBRXRHLElBQUksUUFBd0IsQ0FBQztJQUM3QixJQUFJLDZCQUE2QixDQUFDO0lBRWxDLCtDQUErQztJQUMvQyxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDOUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQ3JELDZCQUE2QixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUMxRCxDQUFDO1NBQU0sQ0FBQztRQUNOLHNCQUFzQjtRQUN0Qiw4RUFBOEU7UUFDOUUsdUZBQXVGO1FBQ3ZGLDZFQUE2RTtRQUM3RSxJQUFJLHlCQUF5QixHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFFcEQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDL0IseUJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFFRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDN0MsTUFBTSxjQUFjLEdBQUcsb0NBQW9DLENBQUM7WUFDNUQsTUFBTSxTQUFTLEdBQWE7Z0JBQzFCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFB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QWEsSUFBSSxrRkFBa0YsQ0FBQztRQUNwRyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDO1FBQ3ZDLENBQUMsV0FBVyxDQUFDLGlCQUFpQjtZQUM1QixDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsS0FBSyxTQUFTLENBQUM7WUFDbEQsV0FBVyxDQUFDLHNCQUFzQjtZQUNsQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUUvQixhQUFhLElBQUkseUZBQXlGLENBQUM7UUFDM0csVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIHNtRGVmYXVsdHMgZnJvbSAnLi9zdGVwLWZ1bmN0aW9uLWRlZmF1bHRzJztcbmltcG9ydCAqIGFzIHNmbiBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzLCBhZGRDZm5TdXBwcmVzc1J1bGVzLCBnZW5lcmF0ZVBoeXNpY2FsTG9nR3JvdXBOYW1lIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IGJ1aWxkTG9nR3JvdXAgfSBmcm9tICcuL2Nsb3Vkd2F0Y2gtbG9nLWdyb3VwLWhlbHBlcic7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLypcbiAqIHRoZSBpZCBwYXJhbWV0ZXIgd2FzIGFkZGVkIHRvIGJ1aWxkU3RhdGVNYWNoaW5lKCkgbG9uZyBhZnRlciB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24sXG4gKiB0aGlzIHZhbHVlIGNhbiBiZSB1c2VkIGZvciB0aGUgbmV3IHBhcmFtZXRlciBhbmQgZW5zdXJlIGJlaGF2aW9yIGlzIHRoZSBzYW1lLlxuICogKGlmIHdlIGp1c3QgcmVxdWlyZSBhbiBpZCwgdGhlIHN0YXRlIG1hY2hpbmUgbmFtZSB3aWxsIGJlIGNoYW5nZWQgYW5kIGl0IHdpbGwgYmUgYVxuICogZGVzdHJ1Y3RpdmUgY2hhbmdlKVxuICovXG5leHBvcnQgY29uc3QgaWRQbGFjZWhvbGRlciA9IHVuZGVmaW5lZDtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFN0YXRlTWFjaW5lUHJvcHMge1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVQcm9wczogc2ZuLlN0YXRlTWFjaGluZVByb3BzLFxuICByZWFkb25seSBsb2dHcm91cFByb3BzPzogbG9ncy5Mb2dHcm91cFByb3BzLFxuICByZWFkb25seSBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgY2xvdWRXYXRjaEFsYXJtc1ByZWZpeD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkU3RhdGVNYWNoaW5lUmVzcG9uc2Uge1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmU6IHNmbi5TdGF0ZU1hY2hpbmUsXG4gIHJlYWRvbmx5IGxvZ0dyb3VwOiBsb2dzLklMb2dHcm91cCxcbiAgcmVhZG9ubHkgY2xvdWRXYXRjaEFsYXJtcz86IGNsb3Vkd2F0Y2guQWxhcm1bXVxufVxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICpcbiAqIEJ1aWxkcyBhbmQgcmV0dXJucyBhIFN0YXRlTWFjaGluZS5cbiAqIEBwYXJhbSBzY29wZSAtIHRoZSBjb25zdHJ1Y3QgdG8gd2hpY2ggdGhlIFN0YXRlTWFjaGluZSBzaG91bGQgYmUgYXR0YWNoZWQgdG8uXG4gKiBAcGFyYW0gc3RhdGVNYWNoaW5lUHJvcHMgLSB1c2VyLXNwZWNpZmllZCBwcm9wZXJ0aWVzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFN0YXRlTWFjaGluZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLCBwcm9wczogQnVpbGRTdGF0ZU1hY2luZVByb3BzKTogQnVpbGRTdGF0ZU1hY2hpbmVSZXNwb25zZSB7XG5cbiAgbGV0IGxvZ0dyb3VwOiBsb2dzLklMb2dHcm91cDtcbiAgbGV0IGNvbnNvbGlkYXRlZFN0YXRlTWFjaGluZVByb3BzO1xuXG4gIC8vIElmIHRoZXkgc2VudCBhIGxvZ0dyb3VwIGluIHN0YXRlTWFjaGluZVByb3BzXG4gIGlmIChwcm9wcy5zdGF0ZU1hY2hpbmVQcm9wcy5sb2dzPy5kZXN0aW5hdGlvbikge1xuICAgIGxvZ0dyb3VwID0gcHJvcHMuc3RhdGVNYWNoaW5lUHJvcHMubG9ncz8uZGVzdGluYXRpb247XG4gICAgY29uc29saWRhdGVkU3RhdGVNYWNoaW5lUHJvcHMgPSBwcm9wcy5zdGF0ZU1hY2hpbmVQcm9wcztcbiAgfSBlbHNlIHtcbiAgICAvLyBUaHJlZSBwb3NzaWJpbGl0aWVzXG4gICAgLy8gMSkgbG9nR3JvdXBQcm9wcyBub3QgcHJvdmlkZWQgLSBjcmVhdGUgbG9nR3JvdXBQcm9wcyB3aXRoIGp1c3QgbG9nR3JvdXBOYW1lXG4gICAgLy8gMikgbG9nR3JvdXBQcm9wcyBwcm92aWRlZCB3aXRoIG5vIGxvZ0dyb3VwTmFtZSAtIG92ZXJyaWRlIGxvZ0dyb3VwUHJvcHMubG9nR3JvdXBOYW1lXG4gICAgLy8gMykgbG9nR3JvdXBQcm9wcyBwcm92aWRlZCB3aXRoIGxvZ0dyb3VwTmFtZSAtIHBhc3MgdW5hbHRlcmVkIGxvZ0dyb3VwUHJvcHNcbiAgICBsZXQgY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcyA9IHByb3BzLmxvZ0dyb3VwUHJvcHM7XG5cbiAgICBpZiAoIWNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMpIHtcbiAgICAgIGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMgPSB7fTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHM/LmxvZ0dyb3VwTmFtZSkge1xuICAgICAgY29uc3QgbG9nR3JvdXBQcmVmaXggPSAnL2F3cy92ZW5kZWRsb2dzL3N0YXRlcy9jb25zdHJ1Y3RzLyc7XG4gICAgICBjb25zdCBuYW1lUGFydHM6IHN0cmluZ1tdID0gW1xuICAgICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLnN0YWNrTmFtZSwgLy8gTmFtZSBvZiB0aGUgc3RhY2tcbiAgICAgICAgaWQgPz8gc2NvcGUubm9kZS5pZCwgICAgICAgICAgIC8vIFVzZSB0aGUgSUQgZnJvbSBjbGllbnQgaWYgcHJvdmlkZWQsIG90aGVyd2lzZSB1c2UgdGhlIGNvbnN0cnVjdCBJRFxuICAgICAgICAnU3RhdGVNYWNoaW5lTG9nJyAgICAgICAgICAgICAgLy8gTGl0ZXJhbCBzdHJpbmcgZm9yIGxvZyBncm91cCBuYW1lIHBvcnRpb25cbiAgICAgIF07XG5cbiAgICAgIGNvbnN0IGxvZ0dyb3VwTmFtZSA9IGdlbmVyYXRlUGh5c2ljYWxMb2dHcm91cE5hbWUobG9nR3JvdXBQcmVmaXgsIG5hbWVQYXJ0cyk7XG4gICAgICBjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzID0gb3ZlcnJpZGVQcm9wcyhjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzLCB7IGxvZ0dyb3VwTmFtZSB9KTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgbmV3IENsb3Vkd2F0Y2ggbG9nIGdyb3VwIGZvciBTdGVwIGZ1bmN0aW9uIFN0YXRlIE1hY2hpbmVcbiAgICBsb2dHcm91cCA9IGJ1aWxkTG9nR3JvdXAoc2NvcGUsIGBTdGF0ZU1hY2hpbmVMb2dHcm91cCR7KGlkID8/ICcnKX1gLCBjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzKTtcblxuICAgIC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0cyB3aXRoIHRoZSB1c2VyIHByb3ZpZGVkIHByb3BzXG4gICAgY29uc29saWRhdGVkU3RhdGVNYWNoaW5lUHJvcHMgPSBvdmVycmlkZVByb3BzKHNtRGVmYXVsdHMuRGVmYXVsdFN0YXRlTWFjaGluZVByb3BzKGxvZ0dyb3VwKSwgcHJvcHMuc3RhdGVNYWNoaW5lUHJvcHMpO1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgdGhlIENsb3Vkd2F0Y2ggcGVybWlzc2lvbnMgdG8gbWFrZSBpdCBtb3JlIGZpbmUgZ3JhaW5lZFxuICBjb25zdCBuZXdTdGF0ZU1hY2hpbmUgPSBuZXcgc2ZuLlN0YXRlTWFjaGluZShzY29wZSwgYFN0YXRlTWFjaGluZSR7KGlkID8/ICcnKX1gLCBjb25zb2xpZGF0ZWRTdGF0ZU1hY2hpbmVQcm9wcyk7XG5cbiAgLy8gSWYgdGhlIGNsaWVudCBkaWQgbm90IHBhc3MgYSByb2xlIHdlIGdvdCB0aGUgZGVmYXVsdCByb2xlIGFuZCB3aWxsIHRyaW0gdGhlIHByaXZpbGVnZXNcbiAgaWYgKCFwcm9wcy5zdGF0ZU1hY2hpbmVQcm9wcy5yb2xlKSB7XG4gICAgY29uc3Qgcm9sZSA9IG5ld1N0YXRlTWFjaGluZS5ub2RlLmZpbmRDaGlsZCgnUm9sZScpIGFzIGlhbS5Sb2xlO1xuICAgIGNvbnN0IGNmbkRlZmF1bHRQb2xpY3kgPSByb2xlLm5vZGUuZmluZENoaWxkKCdEZWZhdWx0UG9saWN5Jykubm9kZS5kZWZhdWx0Q2hpbGQgYXMgYW55O1xuICAgIC8vIE92ZXJyaWRlIENmbiBOYWcgd2FybmluZyBXMTI6IElBTSBwb2xpY3kgc2hvdWxkIG5vdCBhbGxvdyAqIHJlc291cmNlXG4gICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhjZm5EZWZhdWx0UG9saWN5LCBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzEyJyxcbiAgICAgICAgcmVhc29uOiBgVGhlc2UgYXJlIENESyBkZWZhdWx0cy4gVGhlICdMb2dEZWxpdmVyeScgYWN0aW9ucyBkbyBub3Qgc3VwcG9ydCByZXNvdXJjZS1sZXZlbCBhdXRob3JpemF0aW9ucy4gQW55IGxvZ2dpbmcgaXMgZG9uZSBieSBTdGF0ZSBNYWNoaW5lIGNvZGVgXG4gICAgICB9XG4gICAgXSk7XG4gIH1cbiAgY29uc3QgY3JlYXRlQ2xvdWRXYXRjaEFsYXJtczogYm9vbGVhbiA9IChwcm9wcy5jcmVhdGVDbG91ZFdhdGNoQWxhcm1zID09PSB1bmRlZmluZWQgfHwgcHJvcHMuY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcyk7XG4gIGNvbnN0IGNsb3VkV2F0Y2hBbGFybXMgPSBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zID8gYnVpbGRTdGVwRnVuY3Rpb25DV0FsYXJtcyhzY29wZSwgcHJvcHMuY2xvdWRXYXRjaEFsYXJtc1ByZWZpeCwgbmV3U3RhdGVNYWNoaW5lKSA6IHVuZGVmaW5lZDtcblxuICByZXR1cm4ge1xuICAgIHN0YXRlTWFjaGluZTogbmV3U3RhdGVNYWNoaW5lLFxuICAgIGxvZ0dyb3VwLFxuICAgIGNsb3VkV2F0Y2hBbGFybXNcbiAgfTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTdGVwRnVuY3Rpb25DV0FsYXJtcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLCBzbTogc2ZuLlN0YXRlTWFjaGluZSk6IGNsb3Vkd2F0Y2guQWxhcm1bXSB7XG4gIC8vIFNldHVwIENXIEFsYXJtcyBmb3IgU3RhdGUgTWFjaGluZVxuICBjb25zdCBhbGFybXM6IGNsb3Vkd2F0Y2guQWxhcm1bXSA9IG5ldyBBcnJheSgpO1xuICBjb25zdCBwcmVmaXggPSBpZCA/PyBcIlwiO1xuXG4gIC8vIFN1bSBvZiBudW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IGZhaWxlZCBpcyA+PSAxIGZvciA1IG1pbnV0ZXMsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgYCR7cHJlZml4fUV4ZWN1dGlvbkZhaWxlZEFsYXJtYCwge1xuICAgIG1ldHJpYzogc20ubWV0cmljRmFpbGVkKHtcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQWxhcm0gZm9yIHRoZSBudW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IGZhaWxlZCBleGNlZWRlZCB0aGUgdGhyZXNob2xkIG9mIDEuICdcbiAgfSkpO1xuXG4gIC8vIFN1bSBvZiBudW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IGZhaWxlZCBtYXhpbXVtIGlzID49IDEgZm9yIDUgbWludXRlLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsIGAke3ByZWZpeH1FeGVjdXRpb25UaHJvdHRsZWRBbGFybWAsIHtcbiAgICBtZXRyaWM6IHNtLm1ldHJpY1Rocm90dGxlZCh7XG4gICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcygzMDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMSxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0FsYXJtIGZvciB0aGUgbnVtYmVyIG9mIGV4ZWN1dGlvbnMgdGhhdCB0aHJvdHRsZWQgZXhjZWVkZWQgdGhlIHRocmVzaG9sZCBvZiAxLiAnXG4gIH0pKTtcblxuICAvLyBOdW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IGFib3J0ZWQgbWF4aW11bSBpcyA+PSAxIGZvciA1IG1pbnV0ZSwgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCBgJHtwcmVmaXh9RXhlY3V0aW9uQWJvcnRlZEFsYXJtYCwge1xuICAgIG1ldHJpYzogc20ubWV0cmljQWJvcnRlZCh7XG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoMzAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDEsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBbGFybSBmb3IgdGhlIG51bWJlciBvZiBleGVjdXRpb25zIHRoYXQgYWJvcnRlZCBleGNlZWRlZCB0aGUgdGhyZXNob2xkIG9mIDEuICdcbiAgfSkpO1xuXG4gIHJldHVybiBhbGFybXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVNYWNoaW5lUHJvcHMge1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVQcm9wcz86IHNmbi5TdGF0ZU1hY2hpbmVQcm9wcztcbiAgcmVhZG9ubHkgZXhpc3RpbmdTdGF0ZU1hY2hpbmVPYmo/OiBzZm4uU3RhdGVNYWNoaW5lO1xuICByZWFkb25seSBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY2xvdWRXYXRjaEFsYXJtc1ByZWZpeD86IHN0cmluZ1xuICByZWFkb25seSBsb2dHcm91cFByb3BzPzogbG9ncy5Mb2dHcm91cFByb3BzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tTdGF0ZU1hY2hpbmVQcm9wcyhwcm9wc09iamVjdDogU3RhdGVNYWNoaW5lUHJvcHMgfCBhbnkpIHtcbiAgbGV0IGVycm9yTWVzc2FnZXMgPSAnJztcbiAgbGV0IGVycm9yRm91bmQgPSBmYWxzZTtcblxuICBpZiAoKHByb3BzT2JqZWN0LmNyZWF0ZUNsb3VkV2F0Y2hBbGFybXMgPT09IGZhbHNlKSAmJiBwcm9wc09iamVjdC5jbG91ZFdhdGNoQWxhcm1zUHJlZml4KSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBjbG91ZFdhdGNoQWxhcm1zUHJlZml4IGlzIGludmFsaWQgd2hlbiBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zIGlzIGZhbHNlXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmICgocHJvcHNPYmplY3QuZXhpc3RpbmdTdGF0ZU1hY2hpbmVPYmopICYmXG4gICAgKHByb3BzT2JqZWN0LnN0YXRlTWFjaGluZVByb3BzIHx8XG4gICAgICAocHJvcHNPYmplY3QuY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcyAhPT0gdW5kZWZpbmVkKSB8fFxuICAgICAgcHJvcHNPYmplY3QuY2xvdWRXYXRjaEFsYXJtc1ByZWZpeCB8fFxuICAgICAgcHJvcHNPYmplY3QubG9nR3JvdXBQcm9wcykpIHtcblxuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0VSUk9SIC0gSWYgZXhpc3RpbmdTdGF0ZU1hY2hpbmUgaXMgcHJvdmlkZWQsIG5vIG90aGVyIHN0YXRlIG1hY2hpbmUgcHJvcHMgYXJlIGFsbG93ZWRcXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGVycm9yRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlcyk7XG4gIH1cbn1cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1mdW5jdGlvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGVwLWZ1bmN0aW9uLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQThDSCw4Q0F3RUM7QUFLRCw4REEwQ0M7QUFVRCx3REFzQkM7QUE1TEQsbUNBQW1DO0FBQ25DLHVEQUF1RDtBQUN2RCxxREFBcUQ7QUFDckQsbUNBQTJGO0FBRTNGLHlEQUF5RDtBQUN6RCwrRUFBOEQ7QUFJOUQ7Ozs7O0dBS0c7QUFDVSxRQUFBLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFjdkM7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxFQUFzQixFQUFFLEtBQTRCO0lBRXRHLElBQUksUUFBd0IsQ0FBQztJQUM3QixJQUFJLDZCQUE2QixDQUFDO0lBRWxDLCtDQUErQztJQUMvQyxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDOUMsNEVBQTRFO1FBQzVFLHdFQUF3RTtRQUN4RSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUU3RCx5REFBeUQ7UUFDekQsSUFBSSxpQkFBaUIsSUFBSSxXQUFXLElBQUksWUFBWSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3BFLFFBQVEsR0FBRyxXQUE2QixDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyx1RkFBdUY7Z0JBQ3JHLHNGQUFzRixDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUNELDZCQUE2QixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUMxRCxDQUFDO1NBQU0sQ0FBQztRQUNOLHNCQUFzQjtRQUN0Qiw4RUFBOEU7UUFDOUUsdUZBQXVGO1FBQ3ZGLDZFQUE2RTtRQUM3RSxJQUFJLHlCQUF5QixHQUFHLEtB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LENBQUM7SUFFSixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBVUQsU0FBZ0Isc0JBQXNCLENBQUMsV0FBb0M7SUFDekUsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztJQUV2QixJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixLQUFLLEtBQUssQ0FBQyxJQUFJLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3pGLGFBQWEsSUFBSSxrRkFBa0YsQ0FBQztRQUNwRyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDO1FBQ3ZDLENBQUMsV0FBVyxDQUFDLGlCQUFpQjtZQUM1QixDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsS0FBSyxTQUFTLENBQUM7WUFDbEQsV0FBVyxDQUFDLHNCQUFzQjtZQUNsQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUUvQixhQUFhLElBQUkseUZBQXlGLENBQUM7UUFDM0csVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIHNtRGVmYXVsdHMgZnJvbSAnLi9zdGVwLWZ1bmN0aW9uLWRlZmF1bHRzJztcbmltcG9ydCAqIGFzIHNmbiBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzLCBhZGRDZm5TdXBwcmVzc1J1bGVzLCBnZW5lcmF0ZVBoeXNpY2FsTG9nR3JvdXBOYW1lIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IGJ1aWxkTG9nR3JvdXAgfSBmcm9tICcuL2Nsb3Vkd2F0Y2gtbG9nLWdyb3VwLWhlbHBlcic7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLypcbiAqIHRoZSBpZCBwYXJhbWV0ZXIgd2FzIGFkZGVkIHRvIGJ1aWxkU3RhdGVNYWNoaW5lKCkgbG9uZyBhZnRlciB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24sXG4gKiB0aGlzIHZhbHVlIGNhbiBiZSB1c2VkIGZvciB0aGUgbmV3IHBhcmFtZXRlciBhbmQgZW5zdXJlIGJlaGF2aW9yIGlzIHRoZSBzYW1lLlxuICogKGlmIHdlIGp1c3QgcmVxdWlyZSBhbiBpZCwgdGhlIHN0YXRlIG1hY2hpbmUgbmFtZSB3aWxsIGJlIGNoYW5nZWQgYW5kIGl0IHdpbGwgYmUgYVxuICogZGVzdHJ1Y3RpdmUgY2hhbmdlKVxuICovXG5leHBvcnQgY29uc3QgaWRQbGFjZWhvbGRlciA9IHVuZGVmaW5lZDtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFN0YXRlTWFjaW5lUHJvcHMge1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVQcm9wczogc2ZuLlN0YXRlTWFjaGluZVByb3BzLFxuICByZWFkb25seSBsb2dHcm91cFByb3BzPzogbG9ncy5Mb2dHcm91cFByb3BzLFxuICByZWFkb25seSBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgY2xvdWRXYXRjaEFsYXJtc1ByZWZpeD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkU3RhdGVNYWNoaW5lUmVzcG9uc2Uge1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmU6IHNmbi5TdGF0ZU1hY2hpbmUsXG4gIHJlYWRvbmx5IGxvZ0dyb3VwOiBsb2dzLklMb2dHcm91cCxcbiAgcmVhZG9ubHkgY2xvdWRXYXRjaEFsYXJtcz86IGNsb3Vkd2F0Y2guQWxhcm1bXVxufVxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICpcbiAqIEJ1aWxkcyBhbmQgcmV0dXJucyBhIFN0YXRlTWFjaGluZS5cbiAqIEBwYXJhbSBzY29wZSAtIHRoZSBjb25zdHJ1Y3QgdG8gd2hpY2ggdGhlIFN0YXRlTWFjaGluZSBzaG91bGQgYmUgYXR0YWNoZWQgdG8uXG4gKiBAcGFyYW0gc3RhdGVNYWNoaW5lUHJvcHMgLSB1c2VyLXNwZWNpZmllZCBwcm9wZXJ0aWVzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFN0YXRlTWFjaGluZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLCBwcm9wczogQnVpbGRTdGF0ZU1hY2luZVByb3BzKTogQnVpbGRTdGF0ZU1hY2hpbmVSZXNwb25zZSB7XG5cbiAgbGV0IGxvZ0dyb3VwOiBsb2dzLklMb2dHcm91cDtcbiAgbGV0IGNvbnNvbGlkYXRlZFN0YXRlTWFjaGluZVByb3BzO1xuXG4gIC8vIElmIHRoZXkgc2VudCBhIGxvZ0dyb3VwIGluIHN0YXRlTWFjaGluZVByb3BzXG4gIGlmIChwcm9wcy5zdGF0ZU1hY2hpbmVQcm9wcy5sb2dzPy5kZXN0aW5hdGlvbikge1xuICAgIC8vIEluIENESyB2Mi4yMzUuMCssIGxvZ3MuZGVzdGluYXRpb24gaXMgSUxvZ0dyb3VwUmVmLCBidXQgd2UgbmVlZCBJTG9nR3JvdXBcbiAgICAvLyBXZSBuZWVkIHRvIHZlcmlmeSBpdCdzIGFjdHVhbGx5IGFuIElMb2dHcm91cCAoaGFzIHRoZSBmdWxsIGludGVyZmFjZSlcbiAgICBjb25zdCBkZXN0aW5hdGlvbiA9IHByb3BzLnN0YXRlTWFjaGluZVByb3BzLmxvZ3MuZGVzdGluYXRpb247XG5cbiAgICAvLyBUeXBlIGd1YXJkOiBDaGVjayBpZiBkZXN0aW5hdGlvbiBoYXMgSUxvZ0dyb3VwIG1ldGhvZHNcbiAgICBpZiAoJ2FkZE1ldHJpY0ZpbHRlcicgaW4gZGVzdGluYXRpb24gJiYgJ2dyYW50V3JpdGUnIGluIGRlc3RpbmF0aW9uKSB7XG4gICAgICBsb2dHcm91cCA9IGRlc3RpbmF0aW9uIGFzIGxvZ3MuSUxvZ0dyb3VwO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBwcm92aWRlZCBsb2cgZ3JvdXAgZGVzdGluYXRpb24gbXVzdCBiZSBhIGZ1bGwgSUxvZ0dyb3VwIChub3QganVzdCBJTG9nR3JvdXBSZWYpLiAnICtcbiAgICAgICAgJ1BsZWFzZSBwcm92aWRlIGEgTG9nR3JvdXAgY3JlYXRlZCB3aXRoIG5ldyBMb2dHcm91cCgpIG9yIExvZ0dyb3VwLmZyb21Mb2dHcm91cEFybigpLicpO1xuICAgIH1cbiAgICBjb25zb2xpZGF0ZWRTdGF0ZU1hY2hpbmVQcm9wcyA9IHByb3BzLnN0YXRlTWFjaGluZVByb3BzO1xuICB9IGVsc2Uge1xuICAgIC8vIFRocmVlIHBvc3NpYmlsaXRpZXNcbiAgICAvLyAxKSBsb2dHcm91cFByb3BzIG5vdCBwcm92aWRlZCAtIGNyZWF0ZSBsb2dHcm91cFByb3BzIHdpdGgganVzdCBsb2dHcm91cE5hbWVcbiAgICAvLyAyKSBsb2dHcm91cFByb3BzIHByb3ZpZGVkIHdpdGggbm8gbG9nR3JvdXBOYW1lIC0gb3ZlcnJpZGUgbG9nR3JvdXBQcm9wcy5sb2dHcm91cE5hbWVcbiAgICAvLyAzKSBsb2dHcm91cFByb3BzIHByb3ZpZGVkIHdpdGggbG9nR3JvdXBOYW1lIC0gcGFzcyB1bmFsdGVyZWQgbG9nR3JvdXBQcm9wc1xuICAgIGxldCBjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzID0gcHJvcHMubG9nR3JvdXBQcm9wcztcblxuICAgIGlmICghY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcykge1xuICAgICAgY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcyA9IHt9O1xuICAgIH1cblxuICAgIGlmICghY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcz8ubG9nR3JvdXBOYW1lKSB7XG4gICAgICBjb25zdCBsb2dHcm91cFByZWZpeCA9ICcvYXdzL3ZlbmRlZGxvZ3Mvc3RhdGVzL2NvbnN0cnVjdHMvJztcbiAgICAgIGNvbnN0IG5hbWVQYXJ0czogc3RyaW5nW10gPSBbXG4gICAgICAgIGNkay5TdGFjay5vZihzY29wZSkuc3RhY2tOYW1lLCAvLyBOYW1lIG9mIHRoZSBzdGFja1xuICAgICAgICBpZCA/PyBzY29wZS5ub2RlLmlkLCAgICAgICAgICAgLy8gVXNlIHRoZSBJRCBmcm9tIGNsaWVudCBpZiBwcm92aWRlZCwgb3RoZXJ3aXNlIHVzZSB0aGUgY29uc3RydWN0IElEXG4gICAgICAgICdTdGF0ZU1hY2hpbmVMb2cnICAgICAgICAgICAgICAvLyBMaXRlcmFsIHN0cmluZyBmb3IgbG9nIGdyb3VwIG5hbWUgcG9ydGlvblxuICAgICAgXTtcblxuICAgICAgY29uc3QgbG9nR3JvdXBOYW1lID0gZ2VuZXJhdGVQaHlzaWNhbExvZ0dyb3VwTmFtZShsb2dHcm91cFByZWZpeCwgbmFtZVBhcnRzKTtcbiAgICAgIGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMgPSBvdmVycmlkZVByb3BzKGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMsIHsgbG9nR3JvdXBOYW1lIH0pO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBuZXcgQ2xvdWR3YXRjaCBsb2cgZ3JvdXAgZm9yIFN0ZXAgZnVuY3Rpb24gU3RhdGUgTWFjaGluZVxuICAgIGxvZ0dyb3VwID0gYnVpbGRMb2dHcm91cChzY29wZSwgYFN0YXRlTWFjaGluZUxvZ0dyb3VwJHsoaWQgPz8gJycpfWAsIGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMpO1xuXG4gICAgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRzIHdpdGggdGhlIHVzZXIgcHJvdmlkZWQgcHJvcHNcbiAgICBjb25zb2xpZGF0ZWRTdGF0ZU1hY2hpbmVQcm9wcyA9IG92ZXJyaWRlUHJvcHMoc21EZWZhdWx0cy5EZWZhdWx0U3RhdGVNYWNoaW5lUHJvcHMobG9nR3JvdXApLCBwcm9wcy5zdGF0ZU1hY2hpbmVQcm9wcyk7XG4gIH1cblxuICAvLyBPdmVycmlkZSB0aGUgQ2xvdWR3YXRjaCBwZXJtaXNzaW9ucyB0byBtYWtlIGl0IG1vcmUgZmluZSBncmFpbmVkXG4gIGNvbnN0IG5ld1N0YXRlTWFjaGluZSA9IG5ldyBzZm4uU3RhdGVNYWNoaW5lKHNjb3BlLCBgU3RhdGVNYWNoaW5lJHsoaWQgPz8gJycpfWAsIGNvbnNvbGlkYXRlZFN0YXRlTWFjaGluZVByb3BzKTtcblxuICAvLyBJZiB0aGUgY2xpZW50IGRpZCBub3QgcGFzcyBhIHJvbGUgd2UgZ290IHRoZSBkZWZhdWx0IHJvbGUgYW5kIHdpbGwgdHJpbSB0aGUgcHJpdmlsZWdlc1xuICBpZiAoIXByb3BzLnN0YXRlTWFjaGluZVByb3BzLnJvbGUpIHtcbiAgICBjb25zdCByb2xlID0gbmV3U3RhdGVNYWNoaW5lLm5vZGUuZmluZENoaWxkKCdSb2xlJykgYXMgaWFtLlJvbGU7XG4gICAgY29uc3QgY2ZuRGVmYXVsdFBvbGljeSA9IHJvbGUubm9kZS5maW5kQ2hpbGQoJ0RlZmF1bHRQb2xpY3knKS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBhbnk7XG4gICAgLy8gT3ZlcnJpZGUgQ2ZuIE5hZyB3YXJuaW5nIFcxMjogSUFNIHBvbGljeSBzaG91bGQgbm90IGFsbG93ICogcmVzb3VyY2VcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKGNmbkRlZmF1bHRQb2xpY3ksIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdXMTInLFxuICAgICAgICByZWFzb246IGBUaGVzZSBhcmUgQ0RLIGRlZmF1bHRzLiBUaGUgJ0xvZ0RlbGl2ZXJ5JyBhY3Rpb25zIGRvIG5vdCBzdXBwb3J0IHJlc291cmNlLWxldmVsIGF1dGhvcml6YXRpb25zLiBBbnkgbG9nZ2luZyBpcyBkb25lIGJ5IFN0YXRlIE1hY2hpbmUgY29kZWBcbiAgICAgIH1cbiAgICBdKTtcbiAgfVxuICBjb25zdCBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zOiBib29sZWFuID0gKHByb3BzLmNyZWF0ZUNsb3VkV2F0Y2hBbGFybXMgPT09IHVuZGVmaW5lZCB8fCBwcm9wcy5jcmVhdGVDbG91ZFdhdGNoQWxhcm1zKTtcbiAgY29uc3QgY2xvdWRXYXRjaEFsYXJtcyA9IGNyZWF0ZUNsb3VkV2F0Y2hBbGFybXMgPyBidWlsZFN0ZXBGdW5jdGlvbkNXQWxhcm1zKHNjb3BlLCBwcm9wcy5jbG91ZFdhdGNoQWxhcm1zUHJlZml4LCBuZXdTdGF0ZU1hY2hpbmUpIDogdW5kZWZpbmVkO1xuXG4gIHJldHVybiB7XG4gICAgc3RhdGVNYWNoaW5lOiBuZXdTdGF0ZU1hY2hpbmUsXG4gICAgbG9nR3JvdXAsXG4gICAgY2xvdWRXYXRjaEFsYXJtc1xuICB9O1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFN0ZXBGdW5jdGlvbkNXQWxhcm1zKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcgfCB1bmRlZmluZWQsIHNtOiBzZm4uU3RhdGVNYWNoaW5lKTogY2xvdWR3YXRjaC5BbGFybVtdIHtcbiAgLy8gU2V0dXAgQ1cgQWxhcm1zIGZvciBTdGF0ZSBNYWNoaW5lXG4gIGNvbnN0IGFsYXJtczogY2xvdWR3YXRjaC5BbGFybVtdID0gbmV3IEFycmF5KCk7XG4gIGNvbnN0IHByZWZpeCA9IGlkID8/IFwiXCI7XG5cbiAgLy8gU3VtIG9mIG51bWJlciBvZiBleGVjdXRpb25zIHRoYXQgZmFpbGVkIGlzID49IDEgZm9yIDUgbWludXRlcywgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCBgJHtwcmVmaXh9RXhlY3V0aW9uRmFpbGVkQWxhcm1gLCB7XG4gICAgbWV0cmljOiBzbS5tZXRyaWNGYWlsZWQoe1xuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoMzAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDEsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBbGFybSBmb3IgdGhlIG51bWJlciBvZiBleGVjdXRpb25zIHRoYXQgZmFpbGVkIGV4Y2VlZGVkIHRoZSB0aHJlc2hvbGQgb2YgMS4gJ1xuICB9KSk7XG5cbiAgLy8gU3VtIG9mIG51bWJlciBvZiBleGVjdXRpb25zIHRoYXQgZmFpbGVkIG1heGltdW0gaXMgPj0gMSBmb3IgNSBtaW51dGUsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgYCR7cHJlZml4fUV4ZWN1dGlvblRocm90dGxlZEFsYXJtYCwge1xuICAgIG1ldHJpYzogc20ubWV0cmljVGhyb3R0bGVkKHtcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQWxhcm0gZm9yIHRoZSBudW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IHRocm90dGxlZCBleGNlZWRlZCB0aGUgdGhyZXNob2xkIG9mIDEuICdcbiAgfSkpO1xuXG4gIC8vIE51bWJlciBvZiBleGVjdXRpb25zIHRoYXQgYWJvcnRlZCBtYXhpbXVtIGlzID49IDEgZm9yIDUgbWludXRlLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsIGAke3ByZWZpeH1FeGVjdXRpb25BYm9ydGVkQWxhcm1gLCB7XG4gICAgbWV0cmljOiBzbS5tZXRyaWNBYm9ydGVkKHtcbiAgICAgIHN0YXRpc3RpYzogJ01heGltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcygzMDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMSxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0FsYXJtIGZvciB0aGUgbnVtYmVyIG9mIGV4ZWN1dGlvbnMgdGhhdCBhYm9ydGVkIGV4Y2VlZGVkIHRoZSB0aHJlc2hvbGQgb2YgMS4gJ1xuICB9KSk7XG5cbiAgcmV0dXJuIGFsYXJtcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZU1hY2hpbmVQcm9wcyB7XG4gIHJlYWRvbmx5IHN0YXRlTWFjaGluZVByb3BzPzogc2ZuLlN0YXRlTWFjaGluZVByb3BzO1xuICByZWFkb25seSBleGlzdGluZ1N0YXRlTWFjaGluZU9iaj86IHNmbi5TdGF0ZU1hY2hpbmU7XG4gIHJlYWRvbmx5IGNyZWF0ZUNsb3VkV2F0Y2hBbGFybXM/OiBib29sZWFuO1xuICByZWFkb25seSBjbG91ZFdhdGNoQWxhcm1zUHJlZml4Pzogc3RyaW5nXG4gIHJlYWRvbmx5IGxvZ0dyb3VwUHJvcHM/OiBsb2dzLkxvZ0dyb3VwUHJvcHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja1N0YXRlTWFjaGluZVByb3BzKHByb3BzT2JqZWN0OiBTdGF0ZU1hY2hpbmVQcm9wcyB8IGFueSkge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9ICcnO1xuICBsZXQgZXJyb3JGb3VuZCA9IGZhbHNlO1xuXG4gIGlmICgocHJvcHNPYmplY3QuY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcyA9PT0gZmFsc2UpICYmIHByb3BzT2JqZWN0LmNsb3VkV2F0Y2hBbGFybXNQcmVmaXgpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIGNsb3VkV2F0Y2hBbGFybXNQcmVmaXggaXMgaW52YWxpZCB3aGVuIGNyZWF0ZUNsb3VkV2F0Y2hBbGFybXMgaXMgZmFsc2VcXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKChwcm9wc09iamVjdC5leGlzdGluZ1N0YXRlTWFjaGluZU9iaikgJiZcbiAgICAocHJvcHNPYmplY3Quc3RhdGVNYWNoaW5lUHJvcHMgfHxcbiAgICAgIChwcm9wc09iamVjdC5jcmVhdGVDbG91ZFdhdGNoQWxhcm1zICE9PSB1bmRlZmluZWQpIHx8XG4gICAgICBwcm9wc09iamVjdC5jbG91ZFdhdGNoQWxhcm1zUHJlZml4IHx8XG4gICAgICBwcm9wc09iamVjdC5sb2dHcm91cFByb3BzKSkge1xuXG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRVJST1IgLSBJZiBleGlzdGluZ1N0YXRlTWFjaGluZSBpcyBwcm92aWRlZCwgbm8gb3RoZXIgc3RhdGUgbWFjaGluZSBwcm9wcyBhcmUgYWxsb3dlZFxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
14
|
+
import { Construct } from 'constructs';
|
|
15
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
16
|
+
import * as kms from 'aws-cdk-lib/aws-kms';
|
|
17
|
+
import * as sns from 'aws-cdk-lib/aws-sns';
|
|
18
|
+
export interface TextractProps {
|
|
19
|
+
readonly asyncJobs?: boolean;
|
|
20
|
+
readonly existingSourceBucketObj?: s3.IBucket;
|
|
21
|
+
readonly sourceBucketProps?: s3.BucketProps;
|
|
22
|
+
readonly existingDestinationBucketObj?: s3.IBucket;
|
|
23
|
+
readonly destinationBucketProps?: s3.BucketProps;
|
|
24
|
+
readonly useSameBucket?: boolean;
|
|
25
|
+
readonly createCustomerManagedOutputBucket?: boolean;
|
|
26
|
+
readonly sourceLoggingBucketProps?: s3.BucketProps;
|
|
27
|
+
readonly destinationLoggingBucketProps?: s3.BucketProps;
|
|
28
|
+
readonly logSourceS3AccessLogs?: boolean;
|
|
29
|
+
readonly logDestinationS3AccessLogs?: boolean;
|
|
30
|
+
readonly sourceBucketEnvironmentVariableName?: string;
|
|
31
|
+
readonly destinationBucketEnvironmentVariableName?: string;
|
|
32
|
+
readonly dataAccessRoleArnEnvironmentVariableName?: string;
|
|
33
|
+
readonly snsNotificationTopicArnEnvironmentVariableName?: string;
|
|
34
|
+
readonly existingNotificationTopicObj?: sns.Topic;
|
|
35
|
+
readonly existingNotificationTopicEncryptionKey?: kms.Key;
|
|
36
|
+
readonly notificationTopicProps?: sns.TopicProps;
|
|
37
|
+
readonly enableNotificationTopicEncryptionWithCustomerManagedKey?: boolean;
|
|
38
|
+
readonly notificationTopicEncryptionKey?: kms.Key;
|
|
39
|
+
readonly notificationTopicEncryptionKeyProps?: kms.KeyProps;
|
|
40
|
+
}
|
|
41
|
+
export interface TextractBucketDetails {
|
|
42
|
+
readonly bucket?: s3.Bucket;
|
|
43
|
+
readonly bucketInterface: s3.IBucket;
|
|
44
|
+
readonly loggingBucket?: s3.Bucket;
|
|
45
|
+
}
|
|
46
|
+
export interface TextractConfiguration {
|
|
47
|
+
readonly textractRole?: iam.Role;
|
|
48
|
+
readonly lambdaIamActionsRequired: string[];
|
|
49
|
+
readonly sourceBucket?: TextractBucketDetails;
|
|
50
|
+
readonly destinationBucket?: TextractBucketDetails;
|
|
51
|
+
readonly snsNotificationTopic?: sns.Topic;
|
|
52
|
+
readonly notificationTopicEncryptionKey?: kms.Key;
|
|
53
|
+
}
|
|
54
|
+
export declare function ConfigureTextractSupport(scope: Construct, id: string, props: TextractProps): TextractConfiguration;
|
|
55
|
+
export declare function CheckTextractProps(props: TextractProps): void;
|
|
56
|
+
export interface TextractSnsProps {
|
|
57
|
+
readonly notificationTopicProps?: sns.TopicProps;
|
|
58
|
+
readonly existingNotificationTopicObj?: sns.Topic;
|
|
59
|
+
readonly existingNotificationTopicObject?: sns.Topic;
|
|
60
|
+
readonly notificationTopicEncryptionKey?: kms.Key;
|
|
61
|
+
readonly notificationTopicEncryptionKeyProps?: kms.KeyProps;
|
|
62
|
+
}
|
|
63
|
+
export declare function CheckTextractSnsProps(propsObject: TextractSnsProps | any): void;
|