@aws-solutions-constructs/core 2.0.0-rc.1 → 2.2.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 +444 -1163
- package/index.d.ts +5 -1
- package/index.js +6 -2
- package/lib/alb-defaults.d.ts +14 -0
- package/lib/alb-defaults.js +24 -0
- package/lib/alb-helper.d.ts +24 -0
- package/lib/alb-helper.js +188 -0
- package/lib/apigateway-defaults.d.ts +1 -1
- package/lib/apigateway-defaults.js +2 -2
- package/lib/apigateway-helper.d.ts +5 -5
- package/lib/apigateway-helper.js +24 -16
- package/lib/cloudfront-distribution-defaults.d.ts +2 -2
- package/lib/cloudfront-distribution-defaults.js +11 -4
- package/lib/cloudfront-distribution-helper.d.ts +3 -3
- package/lib/cloudfront-distribution-helper.js +7 -7
- package/lib/cloudwatch-log-group-defaults.d.ts +1 -1
- package/lib/cloudwatch-log-group-defaults.js +2 -2
- package/lib/cloudwatch-log-group-helper.d.ts +1 -1
- package/lib/cloudwatch-log-group-helper.js +2 -2
- package/lib/cognito-defaults.d.ts +1 -1
- package/lib/cognito-defaults.js +2 -2
- package/lib/cognito-helper.d.ts +1 -1
- package/lib/cognito-helper.js +2 -2
- package/lib/dynamodb-table-defaults.d.ts +1 -1
- package/lib/dynamodb-table-defaults.js +2 -2
- package/lib/dynamodb-table-helper.d.ts +1 -1
- package/lib/dynamodb-table-helper.js +2 -2
- package/lib/elasticsearch-defaults.d.ts +1 -1
- package/lib/elasticsearch-defaults.js +2 -2
- package/lib/elasticsearch-helper.d.ts +1 -1
- package/lib/elasticsearch-helper.js +2 -2
- package/lib/eventbridge-helper.d.ts +1 -1
- package/lib/eventbridge-helper.js +2 -2
- package/lib/events-rule-defaults.d.ts +1 -1
- package/lib/events-rule-defaults.js +2 -2
- package/lib/fargate-defaults.d.ts +26 -0
- package/lib/fargate-defaults.js +57 -0
- package/lib/fargate-helper.d.ts +17 -0
- package/lib/fargate-helper.js +158 -0
- package/lib/glue-database-defaults.d.ts +1 -1
- package/lib/glue-database-defaults.js +2 -2
- package/lib/glue-database-helper.d.ts +2 -2
- package/lib/glue-database-helper.js +2 -2
- package/lib/glue-job-defaults.d.ts +1 -1
- package/lib/glue-job-defaults.js +2 -2
- package/lib/glue-job-helper.d.ts +4 -4
- package/lib/glue-job-helper.js +3 -3
- package/lib/glue-table-defaults.d.ts +1 -1
- package/lib/glue-table-defaults.js +2 -2
- package/lib/glue-table-helper.d.ts +2 -2
- package/lib/glue-table-helper.js +2 -2
- package/lib/input-validation.d.ts +9 -1
- package/lib/input-validation.js +22 -3
- package/lib/iot-topic-rule-defaults.d.ts +1 -1
- package/lib/iot-topic-rule-defaults.js +2 -2
- package/lib/kinesis-analytics-defaults.d.ts +1 -1
- package/lib/kinesis-analytics-defaults.js +2 -2
- package/lib/kinesis-analytics-helper.d.ts +1 -1
- package/lib/kinesis-analytics-helper.js +2 -2
- package/lib/kinesis-firehose-s3-defaults.d.ts +1 -1
- package/lib/kinesis-firehose-s3-defaults.js +2 -2
- package/lib/kinesis-streams-defaults.d.ts +1 -1
- package/lib/kinesis-streams-defaults.js +2 -2
- package/lib/kinesis-streams-helper.d.ts +1 -1
- package/lib/kinesis-streams-helper.js +2 -2
- package/lib/kms-defaults.d.ts +1 -1
- package/lib/kms-defaults.js +2 -2
- package/lib/kms-helper.d.ts +1 -1
- package/lib/kms-helper.js +2 -2
- package/lib/lambda-defaults.d.ts +1 -1
- package/lib/lambda-defaults.js +2 -2
- package/lib/lambda-event-source-mapping-defaults.d.ts +2 -2
- package/lib/lambda-event-source-mapping-defaults.js +2 -2
- package/lib/lambda-helper.d.ts +1 -1
- package/lib/lambda-helper.js +4 -4
- package/lib/mediastore-defaults.d.ts +1 -1
- package/lib/mediastore-defaults.js +2 -2
- package/lib/mediastore-helper.d.ts +1 -1
- package/lib/mediastore-helper.js +2 -2
- package/lib/override-warning-service.d.ts +1 -1
- package/lib/override-warning-service.js +2 -2
- package/lib/s3-bucket-defaults.d.ts +2 -1
- package/lib/s3-bucket-defaults.js +14 -3
- package/lib/s3-bucket-helper.d.ts +12 -3
- package/lib/s3-bucket-helper.js +39 -59
- package/lib/sagemaker-defaults.d.ts +1 -1
- package/lib/sagemaker-defaults.js +2 -2
- package/lib/sagemaker-helper.d.ts +1 -1
- package/lib/sagemaker-helper.js +2 -2
- package/lib/secretsmanager-defaults.d.ts +1 -1
- package/lib/secretsmanager-defaults.js +2 -2
- package/lib/secretsmanager-helper.d.ts +1 -1
- package/lib/secretsmanager-helper.js +2 -2
- package/lib/security-group-helper.d.ts +2 -2
- package/lib/security-group-helper.js +2 -2
- package/lib/sns-defaults.d.ts +1 -1
- package/lib/sns-defaults.js +2 -2
- package/lib/sns-helper.d.ts +1 -1
- package/lib/sns-helper.js +2 -2
- package/lib/sqs-defaults.d.ts +1 -1
- package/lib/sqs-defaults.js +2 -2
- package/lib/sqs-helper.d.ts +1 -1
- package/lib/sqs-helper.js +2 -2
- package/lib/ssm-string-parameter-helper.d.ts +1 -1
- package/lib/ssm-string-parameter-helper.js +2 -2
- package/lib/step-function-defaults.d.ts +1 -1
- package/lib/step-function-defaults.js +2 -2
- package/lib/step-function-helper.d.ts +1 -1
- package/lib/step-function-helper.js +2 -2
- package/lib/utils.d.ts +13 -1
- package/lib/utils.js +25 -3
- package/lib/vpc-defaults.d.ts +5 -1
- package/lib/vpc-defaults.js +19 -3
- package/lib/vpc-helper.d.ts +4 -2
- package/lib/vpc-helper.js +14 -2
- package/lib/waf-defaults.d.ts +1 -1
- package/lib/waf-defaults.js +2 -2
- package/lib/waf-helper.d.ts +2 -2
- package/lib/waf-helper.js +2 -2
- package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/node_modules/emoji-regex/README.md +73 -0
- package/node_modules/emoji-regex/es2015/index.js +6 -0
- package/node_modules/emoji-regex/es2015/text.js +6 -0
- package/node_modules/emoji-regex/index.d.ts +23 -0
- package/node_modules/emoji-regex/index.js +6 -0
- package/node_modules/emoji-regex/package.json +50 -0
- package/node_modules/emoji-regex/text.js +6 -0
- package/node_modules/signal-exit/index.js +30 -8
- package/node_modules/signal-exit/package.json +7 -5
- package/node_modules/wide-align/LICENSE +0 -0
- package/node_modules/wide-align/README.md +0 -0
- package/node_modules/wide-align/align.js +0 -0
- package/node_modules/wide-align/node_modules/ansi-regex/index.d.ts +37 -0
- package/node_modules/wide-align/node_modules/ansi-regex/index.js +4 -4
- package/node_modules/wide-align/node_modules/ansi-regex/package.json +53 -51
- package/node_modules/wide-align/node_modules/ansi-regex/readme.md +35 -3
- package/node_modules/wide-align/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- package/node_modules/wide-align/node_modules/is-fullwidth-code-point/index.js +25 -21
- package/node_modules/wide-align/node_modules/is-fullwidth-code-point/license +4 -16
- package/node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json +40 -43
- package/node_modules/wide-align/node_modules/is-fullwidth-code-point/readme.md +6 -6
- package/node_modules/wide-align/node_modules/string-width/index.d.ts +29 -0
- package/node_modules/wide-align/node_modules/string-width/index.js +16 -5
- package/node_modules/wide-align/node_modules/string-width/package.json +11 -10
- package/node_modules/wide-align/node_modules/string-width/readme.md +15 -7
- package/node_modules/wide-align/node_modules/strip-ansi/index.d.ts +17 -0
- package/node_modules/wide-align/node_modules/strip-ansi/index.js +1 -1
- package/node_modules/wide-align/node_modules/strip-ansi/package.json +52 -50
- package/node_modules/wide-align/node_modules/strip-ansi/readme.md +12 -5
- package/node_modules/wide-align/package.json +5 -5
- package/package.json +8 -10
- package/test/alb-helper.test.d.ts +13 -0
- package/test/alb-helper.test.js +407 -0
- package/test/apigateway-helper.test.d.ts +1 -1
- package/test/apigateway-helper.test.js +16 -9
- package/test/cloudfront-distribution-api-gateway-helper.test.d.ts +1 -1
- package/test/cloudfront-distribution-api-gateway-helper.test.js +5 -5
- package/test/cloudfront-distribution-mediastore-helper.test.d.ts +1 -1
- package/test/cloudfront-distribution-mediastore-helper.test.js +2 -2
- package/test/cloudfront-distribution-s3-helper.test.d.ts +1 -1
- package/test/cloudfront-distribution-s3-helper.test.js +45 -15
- package/test/cloudwatch-log-group-helper.test.d.ts +1 -1
- package/test/cloudwatch-log-group-helper.test.js +2 -2
- package/test/congnito-helper.test.d.ts +1 -1
- package/test/congnito-helper.test.js +2 -2
- package/test/dynamo-table.test.d.ts +1 -1
- package/test/dynamo-table.test.js +2 -2
- package/test/elasticsearch-helper.test.d.ts +1 -1
- package/test/elasticsearch-helper.test.js +2 -2
- package/test/eventbridge-helper.test.d.ts +1 -1
- package/test/eventbridge-helper.test.js +9 -5
- package/test/events-rule.test.d.ts +1 -1
- package/test/events-rule.test.js +2 -2
- package/test/fargate-helper.test.d.ts +13 -0
- package/test/fargate-helper.test.js +316 -0
- package/test/glue-job-helper.test.d.ts +1 -1
- package/test/glue-job-helper.test.js +12 -8
- package/test/glue-table-helper.test.d.ts +1 -1
- package/test/glue-table-helper.test.js +2 -2
- package/test/input-validation.test.d.ts +1 -1
- package/test/input-validation.test.js +55 -2
- package/test/iot-rule.test.d.ts +1 -1
- package/test/iot-rule.test.js +2 -2
- package/test/kinesis-analytics.test.d.ts +1 -1
- package/test/kinesis-analytics.test.js +2 -2
- package/test/kinesis-firehose-s3-defaults.test.d.ts +1 -1
- package/test/kinesis-firehose-s3-defaults.test.js +2 -2
- package/test/kinesis-streams-defaults.test.d.ts +1 -1
- package/test/kinesis-streams-defaults.test.js +2 -2
- package/test/kinesis-streams-helper.test.d.ts +1 -1
- package/test/kinesis-streams-helper.test.js +2 -2
- package/test/kms-helper.test.d.ts +1 -1
- package/test/kms-helper.test.js +2 -2
- package/test/lambda-event-source.test.d.ts +1 -1
- package/test/lambda-event-source.test.js +2 -2
- package/test/lambda-helper.test.d.ts +1 -1
- package/test/lambda-helper.test.js +15 -15
- package/test/mediastore-helper.test.d.ts +1 -1
- package/test/mediastore-helper.test.js +2 -2
- package/test/override-warning-service.test.d.ts +1 -1
- package/test/override-warning-service.test.js +2 -2
- package/test/s3-bucket-helper.test.d.ts +1 -1
- package/test/s3-bucket-helper.test.js +31 -13
- package/test/s3-bucket.test.d.ts +1 -1
- package/test/s3-bucket.test.js +204 -2
- package/test/sagemaker-helper.test.d.ts +1 -1
- package/test/sagemaker-helper.test.js +2 -2
- package/test/secretsmanager-helper.test.d.ts +1 -1
- package/test/secretsmanager-helper.test.js +2 -2
- package/test/security-group-helper.test.d.ts +1 -1
- package/test/security-group-helper.test.js +2 -2
- package/test/sns-helper.test.d.ts +1 -1
- package/test/sns-helper.test.js +2 -2
- package/test/sqs-helper.test.d.ts +1 -1
- package/test/sqs-helper.test.js +2 -2
- package/test/ssm-string-parameter-helper.test.d.ts +1 -1
- package/test/ssm-string-parameter-helper.test.js +2 -2
- package/test/step-function-helper.test.d.ts +1 -1
- package/test/step-function-helper.test.js +2 -2
- package/test/test-helper.d.ts +7 -2
- package/test/test-helper.js +25 -4
- package/test/utils.test.d.ts +1 -1
- package/test/utils.test.js +64 -2
- package/test/vpc-helper.test.d.ts +1 -1
- package/test/vpc-helper.test.js +9 -16
- package/test/waf-helper.test.d.ts +1 -1
- package/test/waf-helper.test.js +2 -2
- package/node_modules/@types/deep-diff/LICENSE +0 -21
- package/node_modules/@types/deep-diff/README.md +0 -16
- package/node_modules/@types/deep-diff/index.d.ts +0 -60
- package/node_modules/@types/deep-diff/package.json +0 -25
- package/node_modules/@types/npmlog/LICENSE +0 -21
- package/node_modules/@types/npmlog/README.md +0 -16
- package/node_modules/@types/npmlog/index.d.ts +0 -78
- package/node_modules/@types/npmlog/package.json +0 -35
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2022 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.CheckFargateProps = exports.CreateFargateService = void 0;
|
|
16
|
+
const ec2 = require("aws-cdk-lib/aws-ec2");
|
|
17
|
+
const ecs = require("aws-cdk-lib/aws-ecs");
|
|
18
|
+
const ecr = require("aws-cdk-lib/aws-ecr");
|
|
19
|
+
const defaults = require("..");
|
|
20
|
+
const __1 = require("..");
|
|
21
|
+
function CreateFargateService(scope, id, constructVpc, clientClusterProps, ecrRepositoryArn, ecrImageVersion, clientFargateTaskDefinitionProps, clientContainerDefinitionProps, clientFargateServiceProps) {
|
|
22
|
+
defaults.AddAwsServiceEndpoint(scope, constructVpc, defaults.ServiceEndpointTypes.ECR_API);
|
|
23
|
+
defaults.AddAwsServiceEndpoint(scope, constructVpc, defaults.ServiceEndpointTypes.ECR_DKR);
|
|
24
|
+
defaults.AddAwsServiceEndpoint(scope, constructVpc, defaults.ServiceEndpointTypes.S3);
|
|
25
|
+
const constructContainerDefintionProps = {};
|
|
26
|
+
const constructFargateServiceDefinitionProps = {};
|
|
27
|
+
if (!(clientFargateServiceProps === null || clientFargateServiceProps === void 0 ? void 0 : clientFargateServiceProps.cluster)) {
|
|
28
|
+
// Construct Fargate Service
|
|
29
|
+
constructFargateServiceDefinitionProps.cluster = CreateCluster(scope, `${id}-cluster`, constructVpc, clientClusterProps);
|
|
30
|
+
}
|
|
31
|
+
// Set up the Fargate service
|
|
32
|
+
if (!(clientContainerDefinitionProps === null || clientContainerDefinitionProps === void 0 ? void 0 : clientContainerDefinitionProps.image)) {
|
|
33
|
+
constructContainerDefintionProps.image = CreateImage(scope, id, ecrRepositoryArn, ecrImageVersion);
|
|
34
|
+
}
|
|
35
|
+
// Create the Fargate Service
|
|
36
|
+
let newContainerDefinition;
|
|
37
|
+
[constructFargateServiceDefinitionProps.taskDefinition, newContainerDefinition] = CreateTaskDefinition(scope, id, clientFargateTaskDefinitionProps, clientContainerDefinitionProps, constructContainerDefintionProps);
|
|
38
|
+
if (!(clientFargateServiceProps === null || clientFargateServiceProps === void 0 ? void 0 : clientFargateServiceProps.vpcSubnets)) {
|
|
39
|
+
if (constructVpc.isolatedSubnets.length) {
|
|
40
|
+
constructFargateServiceDefinitionProps.vpcSubnets = {
|
|
41
|
+
subnets: constructVpc.isolatedSubnets,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
constructFargateServiceDefinitionProps.vpcSubnets = {
|
|
46
|
+
subnets: constructVpc.privateSubnets,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
let defaultFargateServiceProps;
|
|
51
|
+
if (!(clientFargateServiceProps === null || clientFargateServiceProps === void 0 ? void 0 : clientFargateServiceProps.securityGroups)) {
|
|
52
|
+
const serviceSecurityGroup = new ec2.SecurityGroup(scope, `${id}-sg`, {
|
|
53
|
+
allowAllOutbound: true,
|
|
54
|
+
disableInlineRules: false,
|
|
55
|
+
vpc: constructVpc,
|
|
56
|
+
// We add a description here so that this SG can be easily identified in tests
|
|
57
|
+
description: 'Construct created security group'
|
|
58
|
+
});
|
|
59
|
+
defaultFargateServiceProps = __1.overrideProps(defaults.DefaultFargateServiceProps(), { securityGroups: [serviceSecurityGroup] });
|
|
60
|
+
defaults.addCfnSuppressRules(serviceSecurityGroup, [
|
|
61
|
+
{
|
|
62
|
+
id: 'W5',
|
|
63
|
+
reason: 'Egress of 0.0.0.0/0 is default and generally considered OK',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: 'W40',
|
|
67
|
+
reason: 'Egress IPProtocol of -1 is default and generally considered OK',
|
|
68
|
+
}
|
|
69
|
+
]);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
defaultFargateServiceProps = defaults.DefaultFargateServiceProps();
|
|
73
|
+
}
|
|
74
|
+
const fargateServiceProps = defaults.consolidateProps(defaultFargateServiceProps, clientFargateServiceProps, constructFargateServiceDefinitionProps);
|
|
75
|
+
const newService = new ecs.FargateService(scope, `${id}-service`, fargateServiceProps);
|
|
76
|
+
return [newService, newContainerDefinition];
|
|
77
|
+
}
|
|
78
|
+
exports.CreateFargateService = CreateFargateService;
|
|
79
|
+
function CreateCluster(scope, id, constructVpc, clientClusterProps) {
|
|
80
|
+
const constructProps = { vpc: constructVpc };
|
|
81
|
+
return new ecs.Cluster(scope, id, defaults.consolidateProps(defaults.DefaultClusterProps(), clientClusterProps, constructProps));
|
|
82
|
+
}
|
|
83
|
+
function CreateImage(scope, id, repositoryArn, imageVersion) {
|
|
84
|
+
if (repositoryArn) {
|
|
85
|
+
return ecs.ContainerImage.fromEcrRepository(ecr.Repository.fromRepositoryArn(scope, `${id}-container`, repositoryArn), imageVersion || "latest");
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
throw new Error("Not Implemented - image without repo name and version");
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function CreateTaskDefinition(scope, id, clientFargateTaskDefinitionProps, clientContainerDefinitionProps, constructContainerDefinitionProps) {
|
|
92
|
+
const taskDefinitionProps = defaults.consolidateProps(defaults.DefaultFargateTaskDefinitionProps(), clientFargateTaskDefinitionProps);
|
|
93
|
+
const taskDefinition = new ecs.FargateTaskDefinition(scope, `${id}-taskdef`, taskDefinitionProps);
|
|
94
|
+
const defaultContainerDefinitionProps = defaults.consolidateProps(defaults.DefaultContainerDefinitionProps(), {
|
|
95
|
+
containerName: `${id}-container`,
|
|
96
|
+
});
|
|
97
|
+
const containerDefinitionProps = defaults.consolidateProps(defaultContainerDefinitionProps, clientContainerDefinitionProps, constructContainerDefinitionProps);
|
|
98
|
+
const containerDefinition = taskDefinition.addContainer(`${id}-container`, containerDefinitionProps);
|
|
99
|
+
return [taskDefinition, containerDefinition];
|
|
100
|
+
}
|
|
101
|
+
function CheckFargateProps(props) {
|
|
102
|
+
var _a, _b, _c, _d;
|
|
103
|
+
let errorMessages = "";
|
|
104
|
+
let errorFound = false;
|
|
105
|
+
if (props.existingFargateServiceObject &&
|
|
106
|
+
(props.existingImageObject ||
|
|
107
|
+
props.ecrImageVersion ||
|
|
108
|
+
props.containerDefinitionProps ||
|
|
109
|
+
props.fargateTaskDefinitionProps ||
|
|
110
|
+
props.ecrRepositoryArn ||
|
|
111
|
+
props.fargateServiceProps ||
|
|
112
|
+
props.clusterProps)) {
|
|
113
|
+
errorFound = true;
|
|
114
|
+
errorMessages +=
|
|
115
|
+
"If you provide an existingFargateServiceObject, you cannot provide any props defining a new service\n";
|
|
116
|
+
}
|
|
117
|
+
if (props.existingImageObject &&
|
|
118
|
+
(props.ecrImageVersion || props.ecrRepositoryArn)) {
|
|
119
|
+
errorFound = true;
|
|
120
|
+
errorMessages +=
|
|
121
|
+
"If you provide an existingImageObject then you cannot provide an ecrRepositoryArn nor ecrImageVersion\n";
|
|
122
|
+
}
|
|
123
|
+
// Confirm no network information in Target Group Props
|
|
124
|
+
if ((_a = props.targetGroupProps) === null || _a === void 0 ? void 0 : _a.vpc) {
|
|
125
|
+
errorFound = true;
|
|
126
|
+
errorMessages +=
|
|
127
|
+
"Provide all VPC info at Construct level, not within targetGroupProps\n";
|
|
128
|
+
}
|
|
129
|
+
if ((_b = props.fargateServiceProps) === null || _b === void 0 ? void 0 : _b.taskDefinition) {
|
|
130
|
+
errorFound = true;
|
|
131
|
+
errorMessages +=
|
|
132
|
+
"The construct cannot accept an existing task definition in fargateServiceProps\n";
|
|
133
|
+
}
|
|
134
|
+
if (((_c = props.fargateServiceProps) === null || _c === void 0 ? void 0 : _c.cluster) && props.clusterProps) {
|
|
135
|
+
errorFound = true;
|
|
136
|
+
errorMessages +=
|
|
137
|
+
"If you provide a cluster in fargateServiceProps then you cannot provide clusterProps\n";
|
|
138
|
+
}
|
|
139
|
+
if ((_d = props.clusterProps) === null || _d === void 0 ? void 0 : _d.vpc) {
|
|
140
|
+
errorFound = true;
|
|
141
|
+
errorMessages +=
|
|
142
|
+
"All services in the construct use the construct VPC, you cannot specify a VPC in clusterProps\n";
|
|
143
|
+
}
|
|
144
|
+
if ((props.existingFargateServiceObject ||
|
|
145
|
+
props.existingContainerDefinitionObject) &&
|
|
146
|
+
(!props.existingFargateServiceObject ||
|
|
147
|
+
!props.existingContainerDefinitionObject ||
|
|
148
|
+
!props.existingVpc)) {
|
|
149
|
+
errorFound = true;
|
|
150
|
+
errorMessages +=
|
|
151
|
+
"If an existing Service is indicated by supplying either existingFargateServiceObject or existingContainerDefinitionObject, then existingFargateServiceObject, existingContainerDefinitionObject, and existingVpc must all be provided\n";
|
|
152
|
+
}
|
|
153
|
+
if (errorFound) {
|
|
154
|
+
throw new Error(errorMessages);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
exports.CheckFargateProps = CheckFargateProps;
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFyZ2F0ZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmYXJnYXRlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUdILDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLCtCQUErQjtBQUMvQiwwQkFBbUM7QUFFbkMsU0FBZ0Isb0JBQW9CLENBQ2xDLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixZQUFzQixFQUN0QixrQkFBcUMsRUFDckMsZ0JBQXlCLEVBQ3pCLGVBQXdCLEVBQ3hCLGdDQUF1RSxFQUN2RSw4QkFBbUUsRUFDbkUseUJBQXlEO0lBRXpELFFBQVEsQ0FBQyxxQkFBcUIsQ0FDNUIsS0FBSyxFQUNMLFlBQVksRUFDWixRQUFRLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUN0QyxDQUFDO0lBQ0YsUUFBUSxDQUFDLHFCQUFxQixDQUM1QixLQUFLLEVBQ0wsWUFBWSxFQUNaLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQ3RDLENBQUM7SUFDRixRQUFRLENBQUMscUJBQXFCLENBQzVCLEtBQUssRUFDTCxZQUFZLEVBQ1osUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FDakMsQ0FBQztJQUVGLE1BQU0sZ0NBQWdDLEdBQVEsRUFBRSxDQUFDO0lBQ2pELE1BQU0sc0NBQXNDLEdBQVEsRUFBRSxDQUFDO0lBRXZELElBQUksRUFBQyx5QkFBeUIsYUFBekIseUJBQXlCLHVCQUF6Qix5QkFBeUIsQ0FBRSxPQUFPLENBQUEsRUFBRTtRQUN2Qyw0QkFBNEI7UUFDNUIsc0NBQXNDLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FDNUQsS0FBSyxFQUNMLEdBQUcsRUFBRSxVQUFVLEVBQ2YsWUFBWSxFQUNaLGtCQUFrQixDQUNuQixDQUFDO0tBQ0g7SUFFRCw2QkFBNkI7SUFDN0IsSUFBSSxFQUFDLDhCQUE4QixhQUE5Qiw4QkFBOEIsdUJBQTlCLDhCQUE4QixD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QUFLLENBQUMsNEJBQTRCO1lBQ2xDLENBQUMsS0FBSyxDQUFDLGlDQUFpQztZQUN4QyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFDckI7UUFDQSxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGFBQWE7WUFDWCx5T0FBeU8sQ0FBQztLQUM3TztJQUVELElBQUksVUFBVSxFQUFFO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUNoQztBQUNILENBQUM7QUFwRUQsOENBb0VDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzIH0gZnJvbSBcIi4uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGVGYXJnYXRlU2VydmljZShcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IHN0cmluZyxcbiAgY29uc3RydWN0VnBjOiBlYzIuSVZwYyxcbiAgY2xpZW50Q2x1c3RlclByb3BzPzogZWNzLkNsdXN0ZXJQcm9wcyxcbiAgZWNyUmVwb3NpdG9yeUFybj86IHN0cmluZyxcbiAgZWNySW1hZ2VWZXJzaW9uPzogc3RyaW5nLFxuICBjbGllbnRGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcz86IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyB8IGFueSxcbiAgY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzPzogZWNzLkNvbnRhaW5lckRlZmluaXRpb25Qcm9wcyB8IGFueSxcbiAgY2xpZW50RmFyZ2F0ZVNlcnZpY2VQcm9wcz86IGVjcy5GYXJnYXRlU2VydmljZVByb3BzIHwgYW55XG4pOiBbZWNzLkZhcmdhdGVTZXJ2aWNlLCBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbl0ge1xuICBkZWZhdWx0cy5BZGRBd3NTZXJ2aWNlRW5kcG9pbnQoXG4gICAgc2NvcGUsXG4gICAgY29uc3RydWN0VnBjLFxuICAgIGRlZmF1bHRzLlNlcnZpY2VFbmRwb2ludFR5cGVzLkVDUl9BUElcbiAgKTtcbiAgZGVmYXVsdHMuQWRkQXdzU2VydmljZUVuZHBvaW50KFxuICAgIHNjb3BlLFxuICAgIGNvbnN0cnVjdFZwYyxcbiAgICBkZWZhdWx0cy5TZXJ2aWNlRW5kcG9pbnRUeXBlcy5FQ1JfREtSXG4gICk7XG4gIGRlZmF1bHRzLkFkZEF3c1NlcnZpY2VFbmRwb2ludChcbiAgICBzY29wZSxcbiAgICBjb25zdHJ1Y3RWcGMsXG4gICAgZGVmYXVsdHMuU2VydmljZUVuZHBvaW50VHlwZXMuUzNcbiAgKTtcblxuICBjb25zdCBjb25zdHJ1Y3RDb250YWluZXJEZWZpbnRpb25Qcm9wczogYW55ID0ge307XG4gIGNvbnN0IGNvbnN0cnVjdEZhcmdhdGVTZXJ2aWNlRGVmaW5pdGlvblByb3BzOiBhbnkgPSB7fTtcblxuICBpZiAoIWNsaWVudEZhcmdhdGVTZXJ2aWNlUHJvcHM/LmNsdXN0ZXIpIHtcbiAgICAvLyBDb25zdHJ1Y3QgRmFyZ2F0ZSBTZXJ2aWNlXG4gICAgY29uc3RydWN0RmFyZ2F0ZVNlcnZpY2VEZWZpbml0aW9uUHJvcHMuY2x1c3RlciA9IENyZWF0ZUNsdXN0ZXIoXG4gICAgICBzY29wZSxcbiAgICAgIGAke2lkfS1jbHVzdGVyYCxcbiAgICAgIGNvbnN0cnVjdFZwYyxcbiAgICAgIGNsaWVudENsdXN0ZXJQcm9wc1xuICAgICk7XG4gIH1cblxuICAvLyBTZXQgdXAgdGhlIEZhcmdhdGUgc2VydmljZVxuICBpZiAoIWNsaWVudENvbnRhaW5lckRlZmluaXRpb25Qcm9wcz8uaW1hZ2UpIHtcbiAgICBjb25zdHJ1Y3RDb250YWluZXJEZWZpbnRpb25Qcm9wcy5pbWFnZSA9IENyZWF0ZUltYWdlKFxuICAgICAgc2NvcGUsXG4gICAgICBpZCxcbiAgICAgIGVjclJlcG9zaXRvcnlBcm4sXG4gICAgICBlY3JJbWFnZVZlcnNpb25cbiAgICApO1xuICB9XG5cbiAgLy8gQ3JlYXRlIHRoZSBGYXJnYXRlIFNlcnZpY2VcbiAgbGV0IG5ld0NvbnRhaW5lckRlZmluaXRpb247XG4gIFtjb25zdHJ1Y3RGYXJnYXRlU2VydmljZURlZmluaXRpb25Qcm9wcy50YXNrRGVmaW5pdGlvbiwgbmV3Q29udGFpbmVyRGVmaW5pdGlvbl0gPSBDcmVhdGVUYXNrRGVmaW5pdGlvbihcbiAgICBzY29wZSxcbiAgICBpZCxcbiAgICBjbGllbnRGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyxcbiAgICBjbGllbnRDb250YWluZXJEZWZpbml0aW9uUHJvcHMsXG4gICAgY29uc3RydWN0Q29udGFpbmVyRGVmaW50aW9uUHJvcHNcbiAgKTtcblxuICBpZiAoIWNsaWVudEZhcmdhdGVTZXJ2aWNlUHJvcHM/LnZwY1N1Ym5ldHMpIHtcbiAgICBpZiAoY29uc3RydWN0VnBjLmlzb2xhdGVkU3VibmV0cy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0cnVjdEZhcmdhdGVTZXJ2aWNlRGVmaW5pdGlvblByb3BzLnZwY1N1Ym5ldHMgPSB7XG4gICAgICAgIHN1Ym5ldHM6IGNvbnN0cnVjdFZwYy5pc29sYXRlZFN1Ym5ldHMsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdHJ1Y3RGYXJnYXRlU2VydmljZURlZmluaXRpb25Qcm9wcy52cGNTdWJuZXRzID0ge1xuICAgICAgICBzdWJuZXRzOiBjb25zdHJ1Y3RWcGMucHJpdmF0ZVN1Ym5ldHMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGxldCBkZWZhdWx0RmFyZ2F0ZVNlcnZpY2VQcm9wcztcblxuICBpZiAoIWNsaWVudEZhcmdhdGVTZXJ2aWNlUHJvcHM/LnNlY3VyaXR5R3JvdXBzKSB7XG4gICAgY29uc3Qgc2VydmljZVNlY3VyaXR5R3JvdXAgPSBuZXcgZWMyLlNlY3VyaXR5R3JvdXAoc2NvcGUsIGAke2lkfS1zZ2AsIHtcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgICBkaXNhYmxlSW5saW5lUnVsZXM6IGZhbHNlLFxuICAgICAgdnBjOiBjb25zdHJ1Y3RWcGMsXG4gICAgICAvLyBXZSBhZGQgYSBkZXNjcmlwdGlvbiBoZXJlIHNvIHRoYXQgdGhpcyBTRyBjYW4gYmUgZWFzaWx5IGlkZW50aWZpZWQgaW4gdGVzdHNcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ29uc3RydWN0IGNyZWF0ZWQgc2VjdXJpdHkgZ3JvdXAnXG4gICAgfSk7XG4gICAgZGVmYXVsdEZhcmdhdGVTZXJ2aWNlUHJvcHMgPSBvdmVycmlkZVByb3BzKGRlZmF1bHRzLkRlZmF1bHRGYXJnYXRlU2VydmljZVByb3BzKCksIHsgc2VjdXJpdHlHcm91cHM6IFsgc2VydmljZVNlY3VyaXR5R3JvdXAgXX0pO1xuICAgIGRlZmF1bHRzLmFkZENmblN1cHByZXNzUnVsZXMoc2VydmljZVNlY3VyaXR5R3JvdXAsIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdXNScsXG4gICAgICAgIHJlYXNvbjogJ0VncmVzcyBvZiAwLjAuMC4wLzAgaXMgZGVmYXVsdCBhbmQgZ2VuZXJhbGx5IGNvbnNpZGVyZWQgT0snLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdXNDAnLFxuICAgICAgICByZWFzb246ICdFZ3Jlc3MgSVBQcm90b2NvbCBvZiAtMSBpcyBkZWZhdWx0IGFuZCBnZW5lcmFsbHkgY29uc2lkZXJlZCBPSycsXG4gICAgICB9XG4gICAgXSk7XG4gIH0gZWxzZSB7XG4gICAgZGVmYXVsdEZhcmdhdGVTZXJ2aWNlUHJvcHMgPSBkZWZhdWx0cy5EZWZhdWx0RmFyZ2F0ZVNlcnZpY2VQcm9wcygpO1xuICB9XG5cbiAgY29uc3QgZmFyZ2F0ZVNlcnZpY2VQcm9wcyA9IGRlZmF1bHRzLmNvbnNvbGlkYXRlUHJvcHMoXG4gICAgZGVmYXVsdEZhcmdhdGVTZXJ2aWNlUHJvcHMsXG4gICAgY2xpZW50RmFyZ2F0ZVNlcnZpY2VQcm9wcyxcbiAgICBjb25zdHJ1Y3RGYXJnYXRlU2VydmljZURlZmluaXRpb25Qcm9wc1xuICApO1xuXG4gIGNvbnN0IG5ld1NlcnZpY2UgPSBuZXcgZWNzLkZhcmdhdGVTZXJ2aWNlKFxuICAgIHNjb3BlLFxuICAgIGAke2lkfS1zZXJ2aWNlYCxcbiAgICBmYXJnYXRlU2VydmljZVByb3BzLFxuICApO1xuXG4gIHJldHVybiBbbmV3U2VydmljZSwgbmV3Q29udGFpbmVyRGVmaW5pdGlvbl07XG59XG5cbmZ1bmN0aW9uIENyZWF0ZUNsdXN0ZXIoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIGNvbnN0cnVjdFZwYzogZWMyLklWcGMsXG4gIGNsaWVudENsdXN0ZXJQcm9wcz86IGVjcy5DbHVzdGVyUHJvcHNcbik6IGVjcy5JQ2x1c3RlciB7XG4gIGNvbnN0IGNvbnN0cnVjdFByb3BzID0geyB2cGM6IGNvbnN0cnVjdFZwYyB9O1xuICByZXR1cm4gbmV3IGVjcy5DbHVzdGVyKFxuICAgIHNjb3BlLFxuICAgIGlkLFxuICAgIGRlZmF1bHRzLmNvbnNvbGlkYXRlUHJvcHMoXG4gICAgICBkZWZhdWx0cy5EZWZhdWx0Q2x1c3RlclByb3BzKCksXG4gICAgICBjbGllbnRDbHVzdGVyUHJvcHMsXG4gICAgICBjb25zdHJ1Y3RQcm9wc1xuICAgIClcbiAgKTtcbn1cblxuZnVuY3Rpb24gQ3JlYXRlSW1hZ2UoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIHJlcG9zaXRvcnlBcm4/OiBzdHJpbmcsXG4gIGltYWdlVmVyc2lvbj86IHN0cmluZ1xuKTogZWNzLkNvbnRhaW5lckltYWdlIHtcbiAgaWYgKHJlcG9zaXRvcnlBcm4pIHtcbiAgICByZXR1cm4gZWNzLkNvbnRhaW5lckltYWdlLmZyb21FY3JSZXBvc2l0b3J5KFxuICAgICAgZWNyLlJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4oc2NvcGUsIGAke2lkfS1jb250YWluZXJgLCByZXBvc2l0b3J5QXJuKSxcbiAgICAgIGltYWdlVmVyc2lvbiB8fCBcImxhdGVzdFwiXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgSW1wbGVtZW50ZWQgLSBpbWFnZSB3aXRob3V0IHJlcG8gbmFtZSBhbmQgdmVyc2lvblwiKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBDcmVhdGVUYXNrRGVmaW5pdGlvbihcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IHN0cmluZyxcbiAgY2xpZW50RmFyZ2F0ZVRhc2tEZWZpbml0aW9uUHJvcHM/OiBlY3MuRmFyZ2F0ZVRhc2tEZWZpbml0aW9uUHJvcHMsXG4gIGNsaWVudENvbnRhaW5lckRlZmluaXRpb25Qcm9wcz86IGVjcy5Db250YWluZXJEZWZpbml0aW9uUHJvcHMsXG4gIGNvbnN0cnVjdENvbnRhaW5lckRlZmluaXRpb25Qcm9wcz86IGVjcy5Db250YWluZXJEZWZpbml0aW9uUHJvcHNcbik6IFtlY3MuRmFyZ2F0ZVRhc2tEZWZpbml0aW9uLCBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbl0ge1xuICBjb25zdCB0YXNrRGVmaW5pdGlvblByb3BzID0gZGVmYXVsdHMuY29uc29saWRhdGVQcm9wcyhcbiAgICBkZWZhdWx0cy5EZWZhdWx0RmFyZ2F0ZVRhc2tEZWZpbml0aW9uUHJvcHMoKSxcbiAgICBjbGllbnRGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wc1xuICApO1xuICBjb25zdCB0YXNrRGVmaW5pdGlvbiA9IG5ldyBlY3MuRmFyZ2F0ZVRhc2tEZWZpbml0aW9uKFxuICAgIHNjb3BlLFxuICAgIGAke2lkfS10YXNrZGVmYCxcbiAgICB0YXNrRGVmaW5pdGlvblByb3BzXG4gICk7XG5cbiAgY29uc3QgZGVmYXVsdENvbnRhaW5lckRlZmluaXRpb25Qcm9wcyA9IGRlZmF1bHRzLmNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdHMuRGVmYXVsdENvbnRhaW5lckRlZmluaXRpb25Qcm9wcygpLCB7XG4gICAgY29udGFpbmVyTmFtZTogYCR7aWR9LWNvbnRhaW5lcmAsXG4gIH0pO1xuICBjb25zdCBjb250YWluZXJEZWZpbml0aW9uUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKFxuICAgIGRlZmF1bHRDb250YWluZXJEZWZpbml0aW9uUHJvcHMsXG4gICAgY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzLFxuICAgIGNvbnN0cnVjdENvbnRhaW5lckRlZmluaXRpb25Qcm9wcyxcbiAgKTtcbiAgY29uc3QgY29udGFpbmVyRGVmaW5pdGlvbiA9IHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcihgJHtpZH0tY29udGFpbmVyYCwgY29udGFpbmVyRGVmaW5pdGlvblByb3BzKTtcbiAgcmV0dXJuIFt0YXNrRGVmaW5pdGlvbiwgY29udGFpbmVyRGVmaW5pdGlvbl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0ZhcmdhdGVQcm9wcyhwcm9wczogYW55KSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gXCJcIjtcbiAgbGV0IGVycm9yRm91bmQgPSBmYWxzZTtcblxuICBpZiAoXG4gICAgcHJvcHMuZXhpc3RpbmdGYXJnYXRlU2VydmljZU9iamVjdCAmJlxuICAgIChwcm9wcy5leGlzdGluZ0ltYWdlT2JqZWN0IHx8XG4gICAgICBwcm9wcy5lY3JJbWFnZVZlcnNpb24gfHxcbiAgICAgIHByb3BzLmNvbnRhaW5lckRlZmluaXRpb25Qcm9wcyB8fFxuICAgICAgcHJvcHMuZmFyZ2F0ZVRhc2tEZWZpbml0aW9uUHJvcHMgfHxcbiAgICAgIHByb3BzLmVjclJlcG9zaXRvcnlBcm4gfHxcbiAgICAgIHByb3BzLmZhcmdhdGVTZXJ2aWNlUHJvcHMgfHxcbiAgICAgIHByb3BzLmNsdXN0ZXJQcm9wcylcbiAgKSB7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gICAgZXJyb3JNZXNzYWdlcyArPVxuICAgICAgXCJJZiB5b3UgcHJvdmlkZSBhbiBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0LCB5b3UgY2Fubm90IHByb3ZpZGUgYW55IHByb3BzIGRlZmluaW5nIGEgbmV3IHNlcnZpY2VcXG5cIjtcbiAgfVxuXG4gIGlmIChcbiAgICBwcm9wcy5leGlzdGluZ0ltYWdlT2JqZWN0ICYmXG4gICAgKHByb3BzLmVjckltYWdlVmVyc2lvbiB8fCBwcm9wcy5lY3JSZXBvc2l0b3J5QXJuKVxuICApIHtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICBlcnJvck1lc3NhZ2VzICs9XG4gICAgICBcIklmIHlvdSBwcm92aWRlIGFuIGV4aXN0aW5nSW1hZ2VPYmplY3QgdGhlbiB5b3UgY2Fubm90IHByb3ZpZGUgYW4gZWNyUmVwb3NpdG9yeUFybiBub3IgZWNySW1hZ2VWZXJzaW9uXFxuXCI7XG4gIH1cblxuICAvLyBDb25maXJtIG5vIG5ldHdvcmsgaW5mb3JtYXRpb24gaW4gVGFyZ2V0IEdyb3VwIFByb3BzXG4gIGlmIChwcm9wcy50YXJnZXRHcm91cFByb3BzPy52cGMpIHtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICBlcnJvck1lc3NhZ2VzICs9XG4gICAgICBcIlByb3ZpZGUgYWxsIFZQQyBpbmZvIGF0IENvbnN0cnVjdCBsZXZlbCwgbm90IHdpdGhpbiB0YXJnZXRHcm91cFByb3BzXFxuXCI7XG4gIH1cblxuICBpZiAocHJvcHMuZmFyZ2F0ZVNlcnZpY2VQcm9wcz8udGFza0RlZmluaXRpb24pIHtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICBlcnJvck1lc3NhZ2VzICs9XG4gICAgICBcIlRoZSBjb25zdHJ1Y3QgY2Fubm90IGFjY2VwdCBhbiBleGlzdGluZyB0YXNrIGRlZmluaXRpb24gaW4gZmFyZ2F0ZVNlcnZpY2VQcm9wc1xcblwiO1xuICB9XG5cbiAgaWYgKHByb3BzLmZhcmdhdGVTZXJ2aWNlUHJvcHM/LmNsdXN0ZXIgJiYgcHJvcHMuY2x1c3RlclByb3BzKSB7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gICAgZXJyb3JNZXNzYWdlcyArPVxuICAgICAgXCJJZiB5b3UgcHJvdmlkZSBhIGNsdXN0ZXIgaW4gZmFyZ2F0ZVNlcnZpY2VQcm9wcyB0aGVuIHlvdSBjYW5ub3QgcHJvdmlkZSBjbHVzdGVyUHJvcHNcXG5cIjtcbiAgfVxuXG4gIGlmIChwcm9wcy5jbHVzdGVyUHJvcHM/LnZwYykge1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICAgIGVycm9yTWVzc2FnZXMgKz1cbiAgICAgIFwiQWxsIHNlcnZpY2VzIGluIHRoZSBjb25zdHJ1Y3QgdXNlIHRoZSBjb25zdHJ1Y3QgVlBDLCB5b3UgY2Fubm90IHNwZWNpZnkgYSBWUEMgaW4gY2x1c3RlclByb3BzXFxuXCI7XG4gIH1cblxuICBpZiAoXG4gICAgKHByb3BzLmV4aXN0aW5nRmFyZ2F0ZVNlcnZpY2VPYmplY3QgfHxcbiAgICAgIHByb3BzLmV4aXN0aW5nQ29udGFpbmVyRGVmaW5pdGlvbk9iamVjdCkgJiZcbiAgICAoIXByb3BzLmV4aXN0aW5nRmFyZ2F0ZVNlcnZpY2VPYmplY3QgfHxcbiAgICAgICFwcm9wcy5leGlzdGluZ0NvbnRhaW5lckRlZmluaXRpb25PYmplY3QgfHxcbiAgICAgICFwcm9wcy5leGlzdGluZ1ZwYylcbiAgKSB7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gICAgZXJyb3JNZXNzYWdlcyArPVxuICAgICAgXCJJZiBhbiBleGlzdGluZyBTZXJ2aWNlIGlzIGluZGljYXRlZCBieSBzdXBwbHlpbmcgZWl0aGVyIGV4aXN0aW5nRmFyZ2F0ZVNlcnZpY2VPYmplY3Qgb3IgZXhpc3RpbmdDb250YWluZXJEZWZpbml0aW9uT2JqZWN0LCB0aGVuIGV4aXN0aW5nRmFyZ2F0ZVNlcnZpY2VPYmplY3QsIGV4aXN0aW5nQ29udGFpbmVyRGVmaW5pdGlvbk9iamVjdCwgYW5kIGV4aXN0aW5nVnBjIG11c3QgYWxsIGJlIHByb3ZpZGVkXFxuXCI7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
6
|
* with the License. A copy of the License is located at
|
|
@@ -27,4 +27,4 @@ function DefaultGlueDatabaseProps() {
|
|
|
27
27
|
return _databaseProps;
|
|
28
28
|
}
|
|
29
29
|
exports.DefaultGlueDatabaseProps = DefaultGlueDatabaseProps;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS1kYXRhYmFzZS1kZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdsdWUtZGF0YWJhc2UtZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFHSCw2Q0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxTQUFnQix3QkFBd0I7SUFDdEMsTUFBTSxjQUFjLEdBQXFCO1FBQ3ZDLFNBQVMsRUFBRSxpQkFBRyxDQUFDLFVBQVU7UUFDekIsYUFBYSxFQUFFO1lBQ2IsV0FBVyxFQUFFLDJEQUEyRDtTQUN6RTtLQUNGLENBQUM7SUFFRixPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBVEQsNERBU0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMiBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENmbkRhdGFiYXNlUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWdsdWVcIjtcbmltcG9ydCB7IEF3cyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIERlZmF1bHQgZGF0YWJhc2UgcHJvcHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRHbHVlRGF0YWJhc2VQcm9wcygpOiBDZm5EYXRhYmFzZVByb3BzIHtcbiAgY29uc3QgX2RhdGFiYXNlUHJvcHM6IENmbkRhdGFiYXNlUHJvcHMgPSB7XG4gICAgY2F0YWxvZ0lkOiBBd3MuQUNDT1VOVF9JRCxcbiAgICBkYXRhYmFzZUlucHV0OiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0FuIEFXUyBHbHVlIGRhdGFiYXNlIGdlbmVyYXRlZCBieSBBV1MgU29sdXRpb25zIENvbnN0cnVjdCdcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIF9kYXRhYmFzZVByb3BzO1xufSJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* and limitations under the License.
|
|
12
12
|
*/
|
|
13
13
|
import { CfnDatabase, CfnDatabaseProps } from "aws-cdk-lib/aws-glue";
|
|
14
|
-
import { Construct } from
|
|
14
|
+
import { Construct } from "constructs";
|
|
15
15
|
/**
|
|
16
16
|
* Create an AWS Glue database with the properties provided
|
|
17
17
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
6
|
* with the License. A copy of the License is located at
|
|
@@ -24,4 +24,4 @@ function DefaultGlueDatabase(scope, databaseProps) {
|
|
|
24
24
|
return new aws_glue_1.CfnDatabase(scope, 'GlueDatabase', databaseProps);
|
|
25
25
|
}
|
|
26
26
|
exports.DefaultGlueDatabase = DefaultGlueDatabase;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS1kYXRhYmFzZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnbHVlLWRhdGFiYXNlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVILG1EQUFxRTtBQUdyRTs7Ozs7R0FLRztBQUNILFNBQWdCLG1CQUFtQixDQUFDLEtBQWdCLEVBQUUsYUFBK0I7SUFDbkYsT0FBTyxJQUFJLHNCQUFXLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRkQsa0RBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMiBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENmbkRhdGFiYXNlLCBDZm5EYXRhYmFzZVByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1nbHVlXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBBV1MgR2x1ZSBkYXRhYmFzZSB3aXRoIHRoZSBwcm9wZXJ0aWVzIHByb3ZpZGVkXG4gKlxuICogQHBhcmFtIHNjb3BlXG4gKiBAcGFyYW0gZGF0YWJhc2VQcm9wc1xuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdEdsdWVEYXRhYmFzZShzY29wZTogQ29uc3RydWN0LCBkYXRhYmFzZVByb3BzOiBDZm5EYXRhYmFzZVByb3BzKTogQ2ZuRGF0YWJhc2Uge1xuICByZXR1cm4gbmV3IENmbkRhdGFiYXNlKHNjb3BlLCAnR2x1ZURhdGFiYXNlJywgZGF0YWJhc2VQcm9wcyk7XG59Il19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
package/lib/glue-job-defaults.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
6
|
* with the License. A copy of the License is located at
|
|
@@ -32,4 +32,4 @@ function DefaultGlueJobProps(jobRole, userProvidedGlueJobProps, glueSecurityConf
|
|
|
32
32
|
return defaultGlueJobProps;
|
|
33
33
|
}
|
|
34
34
|
exports.DefaultGlueJobProps = DefaultGlueJobProps;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS1qb2ItZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnbHVlLWpvYi1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUtILFNBQWdCLG1CQUFtQixDQUFDLE9BQWMsRUFBRSx3QkFBcUMsRUFDdkYsc0JBQThCLEVBQUUsZ0JBQW9CO0lBQ3BELE1BQU0sV0FBVyxHQUF1Qix3QkFBd0IsQ0FBQyxXQUFXLENBQUM7SUFFN0Usc0NBQXNDO0lBQ3RDLE1BQU0sV0FBVyxHQUFHLFdBQVcsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFVBQVU7V0FDN0Usd0JBQXdCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRS9ELE1BQU0sbUJBQW1CLEdBQWdCO1FBQ3ZDLE9BQU8sRUFBRSx3QkFBd0IsQ0FBQyxPQUFRO1FBQzFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTztRQUNyQixxQkFBcUIsRUFBRSxzQkFBc0I7UUFDN0MsZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxlQUFlLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxXQUFXLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUN4RSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxXQUFXLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUztRQUN4RSx3SEFBd0g7UUFDeEgsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLO0tBQy9DLENBQUM7SUFFRixPQUFPLG1CQUFtQixDQUFDO0FBQzdCLENBQUM7QUFyQkQsa0RBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDZm5Kb2JQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB7IElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBEZWZhdWx0R2x1ZUpvYlByb3BzKGpvYlJvbGU6IElSb2xlLCB1c2VyUHJvdmlkZWRHbHVlSm9iUHJvcHM6IENmbkpvYlByb3BzLFxuICBnbHVlU2VjdXJpdHlDb25maWdOYW1lOiBzdHJpbmcsIGRlZmF1bHRBcmd1bWVudHM6IHt9KTogQ2ZuSm9iUHJvcHMge1xuICBjb25zdCBnbHVlVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gdXNlclByb3ZpZGVkR2x1ZUpvYlByb3BzLmdsdWVWZXJzaW9uO1xuXG4gIC8vIHNldHRpbmcgZGVmYXVsdCB0byAyIHRvIHJlZHVjZSBjb3N0XG4gIGNvbnN0IG1heENhcGFjaXR5ID0gZ2x1ZVZlcnNpb24gPT09IFwiMS4wXCIgJiYgISh1c2VyUHJvdmlkZWRHbHVlSm9iUHJvcHMud29ya2VyVHlwZVxuICAgIHx8IHVzZXJQcm92aWRlZEdsdWVKb2JQcm9wcy5udW1iZXJPZldvcmtlcnMpID8gMiA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBkZWZhdWx0R2x1ZUpvYlByb3BzOiBDZm5Kb2JQcm9wcyA9IHtcbiAgICBjb21tYW5kOiB1c2VyUHJvdmlkZWRHbHVlSm9iUHJvcHMuY29tbWFuZCEsXG4gICAgcm9sZTogam9iUm9sZS5yb2xlQXJuLFxuICAgIHNlY3VyaXR5Q29uZmlndXJhdGlvbjogZ2x1ZVNlY3VyaXR5Q29uZmlnTmFtZSxcbiAgICBkZWZhdWx0QXJndW1lbnRzLFxuICAgIG1heENhcGFjaXR5LFxuICAgIG51bWJlck9mV29ya2VyczogKCFnbHVlVmVyc2lvbiB8fCBnbHVlVmVyc2lvbiA9PT0gXCIyLjBcIikgPyAyIDogdW5kZWZpbmVkLCAvLyBkZWZhdWx0aW5nIHRvIDIgd29ya2VycyxcbiAgICB3b3JrZXJUeXBlOiAoIWdsdWVWZXJzaW9uIHx8IGdsdWVWZXJzaW9uID09PSBcIjIuMFwiKSA/ICdHLjFYJyA6IHVuZGVmaW5lZCwgLy8gZGVmYXVsdGluZyB0byBHLjFYIGFzIGl0IGlzIHByZWZlcnJlZCB3aXRoIGdsdWUgdmVyc2lvbiAyLjBcbiAgICAvLyBnbHVlIHZlcnNpb24gdGhvdWdoIG9wdGlvbmFsIGlzIHJlcXVpcmVkIGZvciBzdHJlYW1pbmcgZXRsIGpvYnMgb3RoZXJ3aXNlIGl0IHRocm93cyBhbiBlcnJvciB0aGF0ICdjb21tYW5kIG5vdCBmb3VuZCdcbiAgICBnbHVlVmVyc2lvbjogZ2x1ZVZlcnNpb24gPyBnbHVlVmVyc2lvbiA6ICcyLjAnXG4gIH07XG5cbiAgcmV0dXJuIGRlZmF1bHRHbHVlSm9iUHJvcHM7XG59Il19
|
package/lib/glue-job-helper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
11
|
* and limitations under the License.
|
|
12
12
|
*/
|
|
13
|
+
import { Construct } from 'constructs';
|
|
13
14
|
import * as glue from 'aws-cdk-lib/aws-glue';
|
|
14
15
|
import { IRole, Role } from 'aws-cdk-lib/aws-iam';
|
|
15
16
|
import { Bucket, BucketProps } from 'aws-cdk-lib/aws-s3';
|
|
16
|
-
import { Construct } from 'constructs';
|
|
17
17
|
/**
|
|
18
18
|
* Enumeration of data store types that could include S3, DynamoDB, DocumentDB, RDS or Redshift. Current
|
|
19
19
|
* construct implementation only supports S3, but potential to add other output types in the future
|
|
@@ -80,8 +80,8 @@ export interface BuildGlueJobProps {
|
|
|
80
80
|
*/
|
|
81
81
|
readonly outputDataStore?: SinkDataStoreProps;
|
|
82
82
|
}
|
|
83
|
-
export declare function buildGlueJob(scope: Construct, props: BuildGlueJobProps): [glue.CfnJob, IRole];
|
|
84
|
-
export declare function deployGlueJob(scope: Construct, glueJobProps: glue.CfnJobProps, database: glue.CfnDatabase, table: glue.CfnTable, outputDataStore: SinkDataStoreProps): [glue.CfnJob, IRole];
|
|
83
|
+
export declare function buildGlueJob(scope: Construct, props: BuildGlueJobProps): [glue.CfnJob, IRole, [Bucket, (Bucket | undefined)?]?];
|
|
84
|
+
export declare function deployGlueJob(scope: Construct, glueJobProps: glue.CfnJobProps, database: glue.CfnDatabase, table: glue.CfnTable, outputDataStore: SinkDataStoreProps): [glue.CfnJob, IRole, [Bucket, (Bucket | undefined)?]];
|
|
85
85
|
/**
|
|
86
86
|
* This is a helper method to create the Role required for the Glue Job. If a role is already created then this
|
|
87
87
|
* method is not required to be called.
|
package/lib/glue-job-helper.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
6
|
* with the License. A copy of the License is located at
|
|
@@ -122,7 +122,7 @@ function deployGlueJob(scope, glueJobProps, database, table, outputDataStore) {
|
|
|
122
122
|
const _scriptBucketLocation = aws_s3_1.Bucket.fromBucketArn(scope, 'ScriptLocaiton', getS3ArnfromS3Url(_scriptLocation));
|
|
123
123
|
_scriptBucketLocation.grantRead(_jobRole);
|
|
124
124
|
const _glueJob = new glue.CfnJob(scope, 'KinesisETLJob', _newGlueJobProps);
|
|
125
|
-
return [_glueJob, _jobRole];
|
|
125
|
+
return [_glueJob, _jobRole, _outputLocation];
|
|
126
126
|
}
|
|
127
127
|
exports.deployGlueJob = deployGlueJob;
|
|
128
128
|
/**
|
|
@@ -184,4 +184,4 @@ function isJobCommandProperty(command) {
|
|
|
184
184
|
return false;
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS1qb2ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2x1ZS1qb2ItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBRUgsNkNBQTZDO0FBQzdDLGlEQUFxRztBQUNyRywrQ0FBa0U7QUFDbEUsNkNBQStDO0FBRS9DLGdDQUFnQztBQUNoQyxtQ0FBd0M7QUFFeEM7OztHQUdHO0FBQ0gsSUFBWSxhQUVYO0FBRkQsV0FBWSxhQUFhO0lBQ3ZCLDBCQUFTLENBQUE7QUFDWCxDQUFDLEVBRlcsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUFFeEI7QUF5QkQsU0FBZ0IsWUFBWSxDQUFDLEtBQWdCLEVBQUUsS0FBd0I7SUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUU7UUFDekIsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO2dCQUM5RSxNQUFNLEtBQUssQ0FBQyxtR0FBbUc7b0JBQy9HLDBHQUEwRyxDQUFDLENBQUM7YUFDN0c7WUFFRCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDM0csTUFBTSxLQUFLLENBQUMscUdBQXFHO29CQUNqSCw2REFBNkQsQ0FBQyxDQUFDO2FBQ2hFO1lBRUQsT0FBTyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVMsRUFBRSxLQUFLLENBQUMsS0FBTSxFQUFFLEtBQUssQ0FBQyxlQUFnQixDQUFDLENBQUM7U0FDeEc7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7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QUUsQ0FBQztBQUNwRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsb0JBQW9CLENBQUMsT0FBcUQ7SUFDakYsSUFBSyxPQUEwQyxDQUFDLElBQUk7UUFDakQsT0FBMEMsQ0FBQyxhQUFhO1FBQ3hELE9BQTBDLENBQUMsY0FBYyxFQUFFO1FBQzVELE9BQU8sSUFBSSxDQUFDO0tBQ2I7U0FBTTtRQUNMLFFBQVEsQ0FBQyxZQUFZLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUNyRSxPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCAyMDIxIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgZ2x1ZSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQgeyBFZmZlY3QsIElSb2xlLCBQb2xpY3ksIFBvbGljeVN0YXRlbWVudCwgUm9sZSwgU2VydmljZVByaW5jaXBhbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQnVja2V0LCBCdWNrZXRQcm9wcywgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBBd3MsIElSZXNvbHZhYmxlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICcuLi8nO1xuaW1wb3J0IHsgb3ZlcnJpZGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIG9mIGRhdGEgc3RvcmUgdHlwZXMgdGhhdCBjb3VsZCBpbmNsdWRlIFMzLCBEeW5hbW9EQiwgRG9jdW1lbnREQiwgUkRTIG9yIFJlZHNoaWZ0LiBDdXJyZW50XG4gKiBjb25zdHJ1Y3QgaW1wbGVtZW50YXRpb24gb25seSBzdXBwb3J0cyBTMywgYnV0IHBvdGVudGlhbCB0byBhZGQgb3RoZXIgb3V0cHV0IHR5cGVzIGluIHRoZSBmdXR1cmVcbiAqL1xuZXhwb3J0IGVudW0gU2lua1N0b3JlVHlwZSB7XG4gIFMzID0gJ1MzJ1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgU2lua0RhdGFTdG9yZVByb3BzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGF0YXN0b3JlVHlwZTogU2lua1N0b3JlVHlwZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ1MzT3V0cHV0QnVja2V0PzogQnVja2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBvdXRwdXRCdWNrZXRQcm9wcz86IEJ1Y2tldFByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkR2x1ZUpvYlByb3BzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGdsdWVKb2JQcm9wcz86IGdsdWUuQ2ZuSm9iUHJvcHMgfCBhbnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ0NmbkpvYj86IGdsdWUuQ2ZuSm9iO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0YWJsZTogZ2x1ZS5DZm5UYWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGF0YWJhc2U6IGdsdWUuQ2ZuRGF0YWJhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgb3V0cHV0RGF0YVN0b3JlPzogU2lua0RhdGFTdG9yZVByb3BzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEdsdWVKb2Ioc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEJ1aWxkR2x1ZUpvYlByb3BzKTogW2dsdWUuQ2ZuSm9iLCBJUm9sZV0ge1xuICBpZiAoIXByb3BzLmV4aXN0aW5nQ2ZuSm9iKSB7XG4gICAgaWYgKHByb3BzLmdsdWVKb2JQcm9wcykge1xuICAgICAgaWYgKHByb3BzLmdsdWVKb2JQcm9wcy5nbHVlVmVyc2lvbiA9PT0gJzIuMCcgJiYgcHJvcHMuZ2x1ZUpvYlByb3BzLm1heENhcGFjaXR5KSB7XG4gICAgICAgIHRocm93IEVycm9yKCdDYW5ub3Qgc2V0IFwiTWF4Q2FwYWNpdHlcIiB3aXRoIEdsdWVWZXJzaW9uIDIuMCBvciBoaWdoZXIuIFVzZSBcIk51bWJlck9mV29ya2Vyc1wiIGFuZCBcIldvcmtlclR5cGVcIi4gJyArXG4gICAgICAgICdSZWZlciB0aGUgQVBJIGRvY3VtZW50YXRpb24gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L3dlYmFwaS9BUElfSm9iLmh0bWwgZm9yIG1vcmUgZGV0YWlscycpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMuZ2x1ZUpvYlByb3BzLm1heENhcGFjaXR5ICYmIChwcm9wcy5nbHVlSm9iUHJvcHMubnVtYmVyT2ZXb3JrZXJzIHx8IHByb3BzLmdsdWVKb2JQcm9wcy53b3JrZXJUeXBlKSkge1xuICAgICAgICB0aHJvdyBFcnJvcignQ2Fubm90IHNldCBNYXhDYXBhY2l0eSBhbmQgXCJXb3JrZXJUeXBlXCIgb3IgIFwiTnVtYmVyT2ZXb3JrZXJzXCIuIElmIHVzaW5nIGdsdWVWZXJzaW9uIDIuMCBvciBiZXlvbmQsICcgK1xuICAgICAgICAnaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIFwiV29ya2VyVHlwZVwiIG9yICBcIk51bWJlck9mV29ya2Vyc1wiJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZXBsb3lHbHVlSm9iKHNjb3BlLCBwcm9wcy5nbHVlSm9iUHJvcHMsIHByb3BzLmRhdGFiYXNlISwgcHJvcHMudGFibGUhLCBwcm9wcy5vdXRwdXREYXRhU3RvcmUhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoJ0VpdGhlciBnbHVlSm9iUHJvcHMgb3IgZXhpc3RpbmdDZm5Kb2IgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFtwcm9wcy5leGlzdGluZ0NmbkpvYiwgUm9sZS5mcm9tUm9sZUFybihzY29wZSwgJ0V4aXN0aW5nUm9sZScsIHByb3BzLmV4aXN0aW5nQ2ZuSm9iLnJvbGUpXTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwbG95R2x1ZUpvYihzY29wZTogQ29uc3RydWN0LCBnbHVlSm9iUHJvcHM6IGdsdWUuQ2ZuSm9iUHJvcHMsIGRhdGFiYXNlOiBnbHVlLkNmbkRhdGFiYXNlLCB0YWJsZTogZ2x1ZS5DZm5UYWJsZSxcbiAgb3V0cHV0RGF0YVN0b3JlOiBTaW5rRGF0YVN0b3JlUHJvcHMpOiBbZ2x1ZS5DZm5Kb2IsIElSb2xlXSB7XG5cbiAgbGV0IF9nbHVlU2VjdXJpdHlDb25maWdOYW1lOiBzdHJpbmc7XG5cbiAgaWYgKGdsdWVKb2JQcm9wcy5zZWN1cml0eUNvbmZpZ3VyYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgIF9nbHVlU2VjdXJpdHlDb25maWdOYW1lID0gJ0VUTEpvYlNlY3VyaXR5Q29uZmlnJztcbiAgICBjb25zdCBfZ2x1ZUtNU0tleSA9IGBhcm46JHtBd3MuUEFSVElUSU9OfTprbXM6JHtBd3MuUkVHSU9OfToke0F3cy5BQ0NPVU5UX0lEfTphbGlhcy9hd3MvZ2x1ZWA7XG5cbiAgICBuZXcgZ2x1ZS5DZm5TZWN1cml0eUNvbmZpZ3VyYXRpb24oc2NvcGUsICdHbHVlU2VjdXJpdHlDb25maWcnLCB7XG4gICAgICBuYW1lOiBfZ2x1ZVNlY3VyaXR5Q29uZmlnTmFtZSxcbiAgICAgIGVuY3J5cHRpb25Db25maWd1cmF0aW9uOiB7XG4gICAgICAgIGpvYkJvb2ttYXJrc0VuY3J5cHRpb246IHtcbiAgICAgICAgICBqb2JCb29rbWFya3NFbmNyeXB0aW9uTW9kZTogJ0NTRS1LTVMnLFxuICAgICAgICAgIGttc0tleUFybjogX2dsdWVLTVNLZXlcbiAgICAgICAgfSxcbiAgICAgICAgczNFbmNyeXB0aW9uczogW3tcbiAgICAgICAgICBzM0VuY3J5cHRpb25Nb2RlOiAnU1NFLVMzJ1xuICAgICAgICB9XVxuICAgICAgfVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIF9nbHVlU2VjdXJpdHlDb25maWdOYW1lID0gZ2x1ZUpvYlByb3BzLnNlY3VyaXR5Q29uZmlndXJhdGlvbjtcbiAgfVxuXG4gIGNvbnN0IF9nbHVlSm9iUG9saWN5ID0gbmV3IFBvbGljeShzY29wZSwgJ0xvZ1BvbGljeScsIHtcbiAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgIGFjdGlvbnM6IFsgJ2xvZ3M6Q3JlYXRlTG9nR3JvdXAnLCAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLCAnbG9nczpQdXRMb2dFdmVudHMnIF0sXG4gICAgICAgIHJlc291cmNlczogWyBgYXJuOiR7QXdzLlBBUlRJVElPTn06bG9nczoke0F3cy5SRUdJT059OiR7QXdzLkFDQ09VTlRfSUR9OmxvZy1ncm91cDovYXdzLWdsdWUvKmAgXVxuICAgICAgfSlcbiAgICBdXG4gIH0pO1xuXG4gIGxldCBfam9iUm9sZTogSVJvbGU7XG4gIGlmIChnbHVlSm9iUHJvcHMucm9sZSkge1xuICAgIF9qb2JSb2xlID0gUm9sZS5mcm9tUm9sZUFybihzY29wZSwgJ0pvYlJvbGUnLCBnbHVlSm9iUHJvcHMucm9sZSk7XG4gIH0gZWxzZSB7XG4gICAgX2pvYlJvbGUgPSBkZWZhdWx0cy5jcmVhdGVHbHVlSm9iUm9sZShzY29wZSk7XG4gIH1cblxuICBfZ2x1ZUpvYlBvbGljeS5hdHRhY2hUb1JvbGUoX2pvYlJvbGUpO1xuXG4gIGxldCBfb3V0cHV0TG9jYXRpb246IFsgQnVja2V0LCBCdWNrZXQ/IF07XG4gIGlmIChvdXRwdXREYXRhU3RvcmUgIT09IHVuZGVmaW5lZCAmJiBvdXRwdXREYXRhU3RvcmUuZGF0YXN0b3JlVHlwZSA9PT0gU2lua1N0b3JlVHlwZS5TMykge1xuICAgIGlmIChvdXRwdXREYXRhU3RvcmUuZXhpc3RpbmdTM091dHB1dEJ1Y2tldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBfb3V0cHV0TG9jYXRpb24gPSBbIG91dHB1dERhdGFTdG9yZS5leGlzdGluZ1MzT3V0cHV0QnVja2V0LCB1bmRlZmluZWQgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgX291dHB1dExvY2F0aW9uID0gZGVmYXVsdHMuYnVpbGRTM0J1Y2tldChzY29wZSwgeyBidWNrZXRQcm9wczogb3V0cHV0RGF0YVN0b3JlLm91dHB1dEJ1Y2tldFByb3BzIH0gKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgX291dHB1dExvY2F0aW9uID0gZGVmYXVsdHMuYnVpbGRTM0J1Y2tldChzY29wZSwge30pO1xuICB9XG5cbiAgX291dHB1dExvY2F0aW9uWzBdLmdyYW50UmVhZFdyaXRlKF9qb2JSb2xlKTtcblxuICBjb25zdCBfam9iQXJndW1lbnRzTGlzdCA9IHtcbiAgICBcIi0tZW5hYmxlLW1ldHJpY3NcIiA6IHRydWUsXG4gICAgXCItLWVuYWJsZS1jb250aW51b3VzLWNsb3Vkd2F0Y2gtbG9nXCIgOiB0cnVlLFxuICAgIFwiLS1kYXRhYmFzZV9uYW1lXCI6IGRhdGFiYXNlLnJlZixcbiAgICBcIi0tdGFibGVfbmFtZVwiOiB0YWJsZS5yZWYsXG4gICAgLi4uKChvdXRwdXREYXRhU3RvcmUgPT09IHVuZGVmaW5lZCB8fCAob3V0cHV0RGF0YVN0b3JlICYmIG91dHB1dERhdGFTdG9yZS5kYXRhc3RvcmVUeXBlID09PSBTaW5rU3RvcmVUeXBlLlMzKSkgJiZcbiAgICAgIHsgJy0tb3V0cHV0X3BhdGgnIDogYHMzYTovLyR7X291dHB1dExvY2F0aW9uWzBdLmJ1Y2tldE5hbWV9L291dHB1dC9gIH0pLFxuICAgIC4uLmdsdWVKb2JQcm9wcy5kZWZhdWx0QXJndW1lbnRzXG4gIH07XG5cbiAgY29uc3QgX25ld0dsdWVKb2JQcm9wczogZ2x1ZS5DZm5Kb2JQcm9wcyA9IG92ZXJyaWRlUHJvcHMoZGVmYXVsdHMuRGVmYXVsdEdsdWVKb2JQcm9wcyhfam9iUm9sZSEsIGdsdWVKb2JQcm9wcyxcbiAgICBfZ2x1ZVNlY3VyaXR5Q29uZmlnTmFtZSwgX2pvYkFyZ3VtZW50c0xpc3QpLCBnbHVlSm9iUHJvcHMpO1xuXG4gIGxldCBfc2NyaXB0TG9jYXRpb246IHN0cmluZztcbiAgaWYgKGlzSm9iQ29tbWFuZFByb3BlcnR5KF9uZXdHbHVlSm9iUHJvcHMuY29tbWFuZCkpIHtcbiAgICBpZiAoX25ld0dsdWVKb2JQcm9wcy5jb21tYW5kLnNjcmlwdExvY2F0aW9uKSB7XG4gICAgICBfc2NyaXB0TG9jYXRpb24gPSBfbmV3R2x1ZUpvYlByb3BzLmNvbW1hbmQuc2NyaXB0TG9jYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKCdTY3JpcHQgbG9jYXRpb24gaGFzIHRvIGJlIHByb3ZpZGVkIGFzIGFuIHMzIFVybCBsb2NhdGlvbi4gU2NyaXB0IGxvY2F0aW9uIGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IF9zY3JpcHRCdWNrZXRMb2NhdGlvbjogSUJ1Y2tldCA9IEJ1Y2tldC5mcm9tQnVja2V0QXJuKHNjb3BlLCAnU2NyaXB0TG9jYWl0b24nLCBnZXRTM0FybmZyb21TM1VybChfc2NyaXB0TG9jYXRpb24hKSk7XG4gIF9zY3JpcHRCdWNrZXRMb2NhdGlvbi5ncmFudFJlYWQoX2pvYlJvbGUpO1xuXG4gIGNvbnN0IF9nbHVlSm9iOiBnbHVlLkNmbkpvYiA9IG5ldyBnbHVlLkNmbkpvYihzY29wZSwgJ0tpbmVzaXNFVExKb2InLCBfbmV3R2x1ZUpvYlByb3BzKTtcbiAgcmV0dXJuIFtfZ2x1ZUpvYiwgX2pvYlJvbGVdO1xufVxuXG4vKipcbiAqIFRoaXMgaXMgYSBoZWxwZXIgbWV0aG9kIHRvIGNyZWF0ZSB0aGUgUm9sZSByZXF1aXJlZCBmb3IgdGhlIEdsdWUgSm9iLiBJZiBhIHJvbGUgaXMgYWxyZWFkeSBjcmVhdGVkIHRoZW4gdGhpc1xuICogbWV0aG9kIGlzIG5vdCByZXF1aXJlZCB0byBiZSBjYWxsZWQuXG4gKlxuICogQHBhcmFtIHNjb3BlIC0gVGhlIEFXUyBDb25zdHJ1Y3QgdW5kZXIgd2hpY2ggdGhlIHJvbGUgaXMgdG8gYmUgY3JlYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2x1ZUpvYlJvbGUoc2NvcGU6IENvbnN0cnVjdCk6IFJvbGUge1xuICByZXR1cm4gbmV3IFJvbGUoc2NvcGUsICdKb2JSb2xlJywge1xuICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2dsdWUuYW1hem9uYXdzLmNvbScpLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VydmljZSByb2xlIHRoYXQgR2x1ZSBjdXN0b20gRVRMIGpvYnMgd2lsbCBhc3N1bWUgZm9yIGV4ZXVjdGlvbicsXG4gIH0pO1xufVxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gQVdTIEdsdWUgdGFibGUuIFRoZSBtZXRob2QgaXMgY2FsbGVkIHdoZW4gYW4gZXhpc3RpbmcgR2x1ZSB0YWJsZSBpcyBub3QgcHJvdmlkZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdsdWVUYWJsZShzY29wZTogQ29uc3RydWN0LCBkYXRhYmFzZTogZ2x1ZS5DZm5EYXRhYmFzZSwgdGFibGVQcm9wcz86IGdsdWUuQ2ZuVGFibGVQcm9wcyxcbiAgZmllbGRTY2hlbWE/OiBnbHVlLkNmblRhYmxlLkNvbHVtblByb3BlcnR5IFtdLCBzb3VyY2VUeXBlPzogc3RyaW5nLCBwYXJhbWV0ZXJzPzogYW55KTogZ2x1ZS5DZm5UYWJsZSB7XG4gIHJldHVybiBkZWZhdWx0cy5EZWZhdWx0R2x1ZVRhYmxlKHNjb3BlLCB0YWJsZVByb3BzICE9PSB1bmRlZmluZWQgPyB0YWJsZVByb3BzIDpcbiAgICBkZWZhdWx0cy5EZWZhdWx0R2x1ZVRhYmxlUHJvcHMoZGF0YWJhc2UsIGZpZWxkU2NoZW1hISwgc291cmNlVHlwZSwgcGFyYW1ldGVycykpO1xufVxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gQVdTIEdsdWUgZGF0YWJhc2UuIFRoZSBtZXRob2QgaXMgb25seSBjYWxsZWQgd2l0aCBhbiBleGlzdGluZyBHbHVlIGRhdGFiYXNlIHR5cGUgaXMgbm90IHByb3ZpZGVkLlxuICogVGhlIG1ldGhvZCB1c2VzIHRoZSB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWwgcHJvcHMgZm9yIHRoZSBHbHVlIGRhdGFiYXNlXG4gKlxuICogQHBhcmFtIHNjb3BlXG4gKiBAcGFyYW0gZGF0YWJhc2VQcm9wc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2x1ZURhdGFiYXNlKHNjb3BlOiBDb25zdHJ1Y3QsICBkYXRhYmFzZVByb3BzPzogZ2x1ZS5DZm5EYXRhYmFzZVByb3BzKTogZ2x1ZS5DZm5EYXRhYmFzZSB7XG4gIGNvbnN0IF9tZXJnZWREQlByb3BzOiBnbHVlLkNmbkRhdGFiYXNlUHJvcHMgPSAoZGF0YWJhc2VQcm9wcyAhPT0gdW5kZWZpbmVkKSA/IG92ZXJyaWRlUHJvcHMoZGVmYXVsdHMuRGVmYXVsdEdsdWVEYXRhYmFzZVByb3BzKCksIGRhdGFiYXNlUHJvcHMpIDpcbiAgICBkZWZhdWx0cy5EZWZhdWx0R2x1ZURhdGFiYXNlUHJvcHMoKTtcbiAgcmV0dXJuIGRlZmF1bHRzLkRlZmF1bHRHbHVlRGF0YWJhc2Uoc2NvcGUsIF9tZXJnZWREQlByb3BzKTtcbn1cblxuLyoqXG4gKiBBIHV0aWxpdHkgbWV0aG9kIHRvIGdlbmVyYXRlIHRoZSBTMyBBcm4gZnJvbSBhbiBTMyBVcmwuXG4gKlxuICogQHBhcmFtIHMzVXJsXG4gKi9cbmZ1bmN0aW9uIGdldFMzQXJuZnJvbVMzVXJsKHMzVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBzcGxpdFN0cmluZzogc3RyaW5nID0gczNVcmwuc2xpY2UoJ3MzOi8vJy5sZW5ndGgpO1xuICByZXR1cm4gYGFybjoke0F3cy5QQVJUSVRJT059OnMzOjo6JHtzcGxpdFN0cmluZ31gO1xufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBtZXRob2QgdG8gdHlwZSBjaGVjayBDZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5IHR5cGUuXG4gKlxuICogQHBhcmFtIGNvbW1hbmRcbiAqL1xuZnVuY3Rpb24gaXNKb2JDb21tYW5kUHJvcGVydHkoY29tbWFuZDogZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5IHwgSVJlc29sdmFibGUpOiBjb21tYW5kIGlzIGdsdWUuQ2ZuSm9iLkpvYkNvbW1hbmRQcm9wZXJ0eSB7XG4gIGlmICgoY29tbWFuZCBhcyBnbHVlLkNmbkpvYi5Kb2JDb21tYW5kUHJvcGVydHkpLm5hbWUgfHxcbiAgICAoY29tbWFuZCBhcyBnbHVlLkNmbkpvYi5Kb2JDb21tYW5kUHJvcGVydHkpLnB5dGhvblZlcnNpb24gfHxcbiAgICAoY29tbWFuZCBhcyBnbHVlLkNmbkpvYi5Kb2JDb21tYW5kUHJvcGVydHkpLnNjcmlwdExvY2F0aW9uKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgZGVmYXVsdHMucHJpbnRXYXJuaW5nKCdjb21tYW5kIG5vdCBvZiB0eXBlIEpvYkNvbW1hbmRQcm9wZXJ0eSB0eXBlJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59Il19
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS1qb2ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2x1ZS1qb2ItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBR0gsNkNBQTZDO0FBQzdDLGlEQUFxRztBQUNyRywrQ0FBa0U7QUFDbEUsNkNBQStDO0FBQy9DLGdDQUFnQztBQUNoQyxtQ0FBd0M7QUFFeEM7OztHQUdHO0FBQ0gsSUFBWSxhQUVYO0FBRkQsV0FBWSxhQUFhO0lBQ3ZCLDBCQUFTLENBQUE7QUFDWCxDQUFDLEVBRlcsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUFFeEI7QUF5QkQsU0FBZ0IsWUFBWSxDQUFDLEtBQWdCLEVBQUUsS0FBd0I7SUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUU7UUFDekIsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO2dCQUM5RSxNQUFNLEtBQUssQ0FBQyxtR0FBbUc7b0JBQy9HLDBHQUEwRyxDQUFDLENBQUM7YUFDN0c7WUFFRCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDM0csTUFBTSxLQUFLLENBQUMscUdBQXFHO29CQUNqSCw2REFBNkQsQ0FBQyxDQUFDO2FBQ2hFO1lBRUQsT0FBTyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVMsRUFBRSxLQUFLLENBQUMsS0FBTSxFQUFFLEtBQUssQ0FBQyxlQUFnQixDQUFDLENBQUM7U0FDeEc7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7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QVMsV0FBVyxFQUFFLENBQUM7QUFDcEQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLG9CQUFvQixDQUFDLE9BQXFEO0lBQ2pGLElBQUssT0FBMEMsQ0FBQyxJQUFJO1FBQ2pELE9BQTBDLENBQUMsYUFBYTtRQUN4RCxPQUEwQyxDQUFDLGNBQWMsRUFBRTtRQUM1RCxPQUFPLElBQUksQ0FBQztLQUNiO1NBQU07UUFDTCxRQUFRLENBQUMsWUFBWSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7UUFDckUsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMiBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgZ2x1ZSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQgeyBFZmZlY3QsIElSb2xlLCBQb2xpY3ksIFBvbGljeVN0YXRlbWVudCwgUm9sZSwgU2VydmljZVByaW5jaXBhbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQnVja2V0LCBCdWNrZXRQcm9wcywgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBBd3MsIElSZXNvbHZhYmxlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnLi4vJztcbmltcG9ydCB7IG92ZXJyaWRlUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBFbnVtZXJhdGlvbiBvZiBkYXRhIHN0b3JlIHR5cGVzIHRoYXQgY291bGQgaW5jbHVkZSBTMywgRHluYW1vREIsIERvY3VtZW50REIsIFJEUyBvciBSZWRzaGlmdC4gQ3VycmVudFxuICogY29uc3RydWN0IGltcGxlbWVudGF0aW9uIG9ubHkgc3VwcG9ydHMgUzMsIGJ1dCBwb3RlbnRpYWwgdG8gYWRkIG90aGVyIG91dHB1dCB0eXBlcyBpbiB0aGUgZnV0dXJlXG4gKi9cbmV4cG9ydCBlbnVtIFNpbmtTdG9yZVR5cGUge1xuICBTMyA9ICdTMydcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFNpbmtEYXRhU3RvcmVQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRhdGFzdG9yZVR5cGU6IFNpbmtTdG9yZVR5cGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZXhpc3RpbmdTM091dHB1dEJ1Y2tldD86IEJ1Y2tldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgb3V0cHV0QnVja2V0UHJvcHM/OiBCdWNrZXRQcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEdsdWVKb2JQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBnbHVlSm9iUHJvcHM/OiBnbHVlLkNmbkpvYlByb3BzIHwgYW55XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZXhpc3RpbmdDZm5Kb2I/OiBnbHVlLkNmbkpvYjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFibGU6IGdsdWUuQ2ZuVGFibGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRhdGFiYXNlOiBnbHVlLkNmbkRhdGFiYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG91dHB1dERhdGFTdG9yZT86IFNpbmtEYXRhU3RvcmVQcm9wc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRHbHVlSm9iKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBCdWlsZEdsdWVKb2JQcm9wcyk6IFtnbHVlLkNmbkpvYiwgSVJvbGUsIFtCdWNrZXQsIChCdWNrZXQgfCB1bmRlZmluZWQpP10/XSB7XG4gIGlmICghcHJvcHMuZXhpc3RpbmdDZm5Kb2IpIHtcbiAgICBpZiAocHJvcHMuZ2x1ZUpvYlByb3BzKSB7XG4gICAgICBpZiAocHJvcHMuZ2x1ZUpvYlByb3BzLmdsdWVWZXJzaW9uID09PSAnMi4wJyAmJiBwcm9wcy5nbHVlSm9iUHJvcHMubWF4Q2FwYWNpdHkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ0Nhbm5vdCBzZXQgXCJNYXhDYXBhY2l0eVwiIHdpdGggR2x1ZVZlcnNpb24gMi4wIG9yIGhpZ2hlci4gVXNlIFwiTnVtYmVyT2ZXb3JrZXJzXCIgYW5kIFwiV29ya2VyVHlwZVwiLiAnICtcbiAgICAgICAgJ1JlZmVyIHRoZSBBUEkgZG9jdW1lbnRhdGlvbiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3Qvd2ViYXBpL0FQSV9Kb2IuaHRtbCBmb3IgbW9yZSBkZXRhaWxzJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wcy5nbHVlSm9iUHJvcHMubWF4Q2FwYWNpdHkgJiYgKHByb3BzLmdsdWVKb2JQcm9wcy5udW1iZXJPZldvcmtlcnMgfHwgcHJvcHMuZ2x1ZUpvYlByb3BzLndvcmtlclR5cGUpKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdDYW5ub3Qgc2V0IE1heENhcGFjaXR5IGFuZCBcIldvcmtlclR5cGVcIiBvciAgXCJOdW1iZXJPZldvcmtlcnNcIi4gSWYgdXNpbmcgZ2x1ZVZlcnNpb24gMi4wIG9yIGJleW9uZCwgJyArXG4gICAgICAgICdpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgXCJXb3JrZXJUeXBlXCIgb3IgIFwiTnVtYmVyT2ZXb3JrZXJzXCInKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRlcGxveUdsdWVKb2Ioc2NvcGUsIHByb3BzLmdsdWVKb2JQcm9wcywgcHJvcHMuZGF0YWJhc2UhLCBwcm9wcy50YWJsZSEsIHByb3BzLm91dHB1dERhdGFTdG9yZSEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcignRWl0aGVyIGdsdWVKb2JQcm9wcyBvciBleGlzdGluZ0NmbkpvYiBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW3Byb3BzLmV4aXN0aW5nQ2ZuSm9iLCBSb2xlLmZyb21Sb2xlQXJuKHNjb3BlLCAnRXhpc3RpbmdSb2xlJywgcHJvcHMuZXhpc3RpbmdDZm5Kb2Iucm9sZSldO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBsb3lHbHVlSm9iKHNjb3BlOiBDb25zdHJ1Y3QsIGdsdWVKb2JQcm9wczogZ2x1ZS5DZm5Kb2JQcm9wcywgZGF0YWJhc2U6IGdsdWUuQ2ZuRGF0YWJhc2UsIHRhYmxlOiBnbHVlLkNmblRhYmxlLFxuICBvdXRwdXREYXRhU3RvcmU6IFNpbmtEYXRhU3RvcmVQcm9wcyk6IFtnbHVlLkNmbkpvYiwgSVJvbGUsIFtCdWNrZXQsIChCdWNrZXQgfCB1bmRlZmluZWQpP11dIHtcblxuICBsZXQgX2dsdWVTZWN1cml0eUNvbmZpZ05hbWU6IHN0cmluZztcblxuICBpZiAoZ2x1ZUpvYlByb3BzLnNlY3VyaXR5Q29uZmlndXJhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgX2dsdWVTZWN1cml0eUNvbmZpZ05hbWUgPSAnRVRMSm9iU2VjdXJpdHlDb25maWcnO1xuICAgIGNvbnN0IF9nbHVlS01TS2V5ID0gYGFybjoke0F3cy5QQVJUSVRJT059Omttczoke0F3cy5SRUdJT059OiR7QXdzLkFDQ09VTlRfSUR9OmFsaWFzL2F3cy9nbHVlYDtcblxuICAgIG5ldyBnbHVlLkNmblNlY3VyaXR5Q29uZmlndXJhdGlvbihzY29wZSwgJ0dsdWVTZWN1cml0eUNvbmZpZycsIHtcbiAgICAgIG5hbWU6IF9nbHVlU2VjdXJpdHlDb25maWdOYW1lLFxuICAgICAgZW5jcnlwdGlvbkNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgam9iQm9va21hcmtzRW5jcnlwdGlvbjoge1xuICAgICAgICAgIGpvYkJvb2ttYXJrc0VuY3J5cHRpb25Nb2RlOiAnQ1NFLUtNUycsXG4gICAgICAgICAga21zS2V5QXJuOiBfZ2x1ZUtNU0tleVxuICAgICAgICB9LFxuICAgICAgICBzM0VuY3J5cHRpb25zOiBbe1xuICAgICAgICAgIHMzRW5jcnlwdGlvbk1vZGU6ICdTU0UtUzMnXG4gICAgICAgIH1dXG4gICAgICB9XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgX2dsdWVTZWN1cml0eUNvbmZpZ05hbWUgPSBnbHVlSm9iUHJvcHMuc2VjdXJpdHlDb25maWd1cmF0aW9uO1xuICB9XG5cbiAgY29uc3QgX2dsdWVKb2JQb2xpY3kgPSBuZXcgUG9saWN5KHNjb3BlLCAnTG9nUG9saWN5Jywge1xuICAgIHN0YXRlbWVudHM6IFtcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogWyAnbG9nczpDcmVhdGVMb2dHcm91cCcsICdsb2dzOkNyZWF0ZUxvZ1N0cmVhbScsICdsb2dzOlB1dExvZ0V2ZW50cycgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbIGBhcm46JHtBd3MuUEFSVElUSU9OfTpsb2dzOiR7QXdzLlJFR0lPTn06JHtBd3MuQUNDT1VOVF9JRH06bG9nLWdyb3VwOi9hd3MtZ2x1ZS8qYCBdXG4gICAgICB9KVxuICAgIF1cbiAgfSk7XG5cbiAgbGV0IF9qb2JSb2xlOiBJUm9sZTtcbiAgaWYgKGdsdWVKb2JQcm9wcy5yb2xlKSB7XG4gICAgX2pvYlJvbGUgPSBSb2xlLmZyb21Sb2xlQXJuKHNjb3BlLCAnSm9iUm9sZScsIGdsdWVKb2JQcm9wcy5yb2xlKTtcbiAgfSBlbHNlIHtcbiAgICBfam9iUm9sZSA9IGRlZmF1bHRzLmNyZWF0ZUdsdWVKb2JSb2xlKHNjb3BlKTtcbiAgfVxuXG4gIF9nbHVlSm9iUG9saWN5LmF0dGFjaFRvUm9sZShfam9iUm9sZSk7XG5cbiAgbGV0IF9vdXRwdXRMb2NhdGlvbjogWyBCdWNrZXQsIEJ1Y2tldD8gXTtcbiAgaWYgKG91dHB1dERhdGFTdG9yZSAhPT0gdW5kZWZpbmVkICYmIG91dHB1dERhdGFTdG9yZS5kYXRhc3RvcmVUeXBlID09PSBTaW5rU3RvcmVUeXBlLlMzKSB7XG4gICAgaWYgKG91dHB1dERhdGFTdG9yZS5leGlzdGluZ1MzT3V0cHV0QnVja2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIF9vdXRwdXRMb2NhdGlvbiA9IFsgb3V0cHV0RGF0YVN0b3JlLmV4aXN0aW5nUzNPdXRwdXRCdWNrZXQsIHVuZGVmaW5lZCBdO1xuICAgIH0gZWxzZSB7XG4gICAgICBfb3V0cHV0TG9jYXRpb24gPSBkZWZhdWx0cy5idWlsZFMzQnVja2V0KHNjb3BlLCB7IGJ1Y2tldFByb3BzOiBvdXRwdXREYXRhU3RvcmUub3V0cHV0QnVja2V0UHJvcHMgfSApO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBfb3V0cHV0TG9jYXRpb24gPSBkZWZhdWx0cy5idWlsZFMzQnVja2V0KHNjb3BlLCB7fSk7XG4gIH1cblxuICBfb3V0cHV0TG9jYXRpb25bMF0uZ3JhbnRSZWFkV3JpdGUoX2pvYlJvbGUpO1xuXG4gIGNvbnN0IF9qb2JBcmd1bWVudHNMaXN0ID0ge1xuICAgIFwiLS1lbmFibGUtbWV0cmljc1wiIDogdHJ1ZSxcbiAgICBcIi0tZW5hYmxlLWNvbnRpbnVvdXMtY2xvdWR3YXRjaC1sb2dcIiA6IHRydWUsXG4gICAgXCItLWRhdGFiYXNlX25hbWVcIjogZGF0YWJhc2UucmVmLFxuICAgIFwiLS10YWJsZV9uYW1lXCI6IHRhYmxlLnJlZixcbiAgICAuLi4oKG91dHB1dERhdGFTdG9yZSA9PT0gdW5kZWZpbmVkIHx8IChvdXRwdXREYXRhU3RvcmUgJiYgb3V0cHV0RGF0YVN0b3JlLmRhdGFzdG9yZVR5cGUgPT09IFNpbmtTdG9yZVR5cGUuUzMpKSAmJlxuICAgICAgeyAnLS1vdXRwdXRfcGF0aCcgOiBgczNhOi8vJHtfb3V0cHV0TG9jYXRpb25bMF0uYnVja2V0TmFtZX0vb3V0cHV0L2AgfSksXG4gICAgLi4uZ2x1ZUpvYlByb3BzLmRlZmF1bHRBcmd1bWVudHNcbiAgfTtcblxuICBjb25zdCBfbmV3R2x1ZUpvYlByb3BzOiBnbHVlLkNmbkpvYlByb3BzID0gb3ZlcnJpZGVQcm9wcyhkZWZhdWx0cy5EZWZhdWx0R2x1ZUpvYlByb3BzKF9qb2JSb2xlISwgZ2x1ZUpvYlByb3BzLFxuICAgIF9nbHVlU2VjdXJpdHlDb25maWdOYW1lLCBfam9iQXJndW1lbnRzTGlzdCksIGdsdWVKb2JQcm9wcyk7XG5cbiAgbGV0IF9zY3JpcHRMb2NhdGlvbjogc3RyaW5nO1xuICBpZiAoaXNKb2JDb21tYW5kUHJvcGVydHkoX25ld0dsdWVKb2JQcm9wcy5jb21tYW5kKSkge1xuICAgIGlmIChfbmV3R2x1ZUpvYlByb3BzLmNvbW1hbmQuc2NyaXB0TG9jYXRpb24pIHtcbiAgICAgIF9zY3JpcHRMb2NhdGlvbiA9IF9uZXdHbHVlSm9iUHJvcHMuY29tbWFuZC5zY3JpcHRMb2NhdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoJ1NjcmlwdCBsb2NhdGlvbiBoYXMgdG8gYmUgcHJvdmlkZWQgYXMgYW4gczMgVXJsIGxvY2F0aW9uLiBTY3JpcHQgbG9jYXRpb24gY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgX3NjcmlwdEJ1Y2tldExvY2F0aW9uOiBJQnVja2V0ID0gQnVja2V0LmZyb21CdWNrZXRBcm4oc2NvcGUsICdTY3JpcHRMb2NhaXRvbicsIGdldFMzQXJuZnJvbVMzVXJsKF9zY3JpcHRMb2NhdGlvbiEpKTtcbiAgX3NjcmlwdEJ1Y2tldExvY2F0aW9uLmdyYW50UmVhZChfam9iUm9sZSk7XG5cbiAgY29uc3QgX2dsdWVKb2I6IGdsdWUuQ2ZuSm9iID0gbmV3IGdsdWUuQ2ZuSm9iKHNjb3BlLCAnS2luZXNpc0VUTEpvYicsIF9uZXdHbHVlSm9iUHJvcHMpO1xuICByZXR1cm4gW19nbHVlSm9iLCBfam9iUm9sZSwgX291dHB1dExvY2F0aW9uXTtcbn1cblxuLyoqXG4gKiBUaGlzIGlzIGEgaGVscGVyIG1ldGhvZCB0byBjcmVhdGUgdGhlIFJvbGUgcmVxdWlyZWQgZm9yIHRoZSBHbHVlIEpvYi4gSWYgYSByb2xlIGlzIGFscmVhZHkgY3JlYXRlZCB0aGVuIHRoaXNcbiAqIG1ldGhvZCBpcyBub3QgcmVxdWlyZWQgdG8gYmUgY2FsbGVkLlxuICpcbiAqIEBwYXJhbSBzY29wZSAtIFRoZSBBV1MgQ29uc3RydWN0IHVuZGVyIHdoaWNoIHRoZSByb2xlIGlzIHRvIGJlIGNyZWF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdsdWVKb2JSb2xlKHNjb3BlOiBDb25zdHJ1Y3QpOiBSb2xlIHtcbiAgcmV0dXJuIG5ldyBSb2xlKHNjb3BlLCAnSm9iUm9sZScsIHtcbiAgICBhc3N1bWVkQnk6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKCdnbHVlLmFtYXpvbmF3cy5jb20nKSxcbiAgICBkZXNjcmlwdGlvbjogJ1NlcnZpY2Ugcm9sZSB0aGF0IEdsdWUgY3VzdG9tIEVUTCBqb2JzIHdpbGwgYXNzdW1lIGZvciBleGV1Y3Rpb24nLFxuICB9KTtcbn1cblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGFuIEFXUyBHbHVlIHRhYmxlLiBUaGUgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGFuIGV4aXN0aW5nIEdsdWUgdGFibGUgaXMgbm90IHByb3ZpZGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHbHVlVGFibGUoc2NvcGU6IENvbnN0cnVjdCwgZGF0YWJhc2U6IGdsdWUuQ2ZuRGF0YWJhc2UsIHRhYmxlUHJvcHM/OiBnbHVlLkNmblRhYmxlUHJvcHMsXG4gIGZpZWxkU2NoZW1hPzogZ2x1ZS5DZm5UYWJsZS5Db2x1bW5Qcm9wZXJ0eSBbXSwgc291cmNlVHlwZT86IHN0cmluZywgcGFyYW1ldGVycz86IGFueSk6IGdsdWUuQ2ZuVGFibGUge1xuICByZXR1cm4gZGVmYXVsdHMuRGVmYXVsdEdsdWVUYWJsZShzY29wZSwgdGFibGVQcm9wcyAhPT0gdW5kZWZpbmVkID8gdGFibGVQcm9wcyA6XG4gICAgZGVmYXVsdHMuRGVmYXVsdEdsdWVUYWJsZVByb3BzKGRhdGFiYXNlLCBmaWVsZFNjaGVtYSEsIHNvdXJjZVR5cGUsIHBhcmFtZXRlcnMpKTtcbn1cblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGFuIEFXUyBHbHVlIGRhdGFiYXNlLiBUaGUgbWV0aG9kIGlzIG9ubHkgY2FsbGVkIHdpdGggYW4gZXhpc3RpbmcgR2x1ZSBkYXRhYmFzZSB0eXBlIGlzIG5vdCBwcm92aWRlZC5cbiAqIFRoZSBtZXRob2QgdXNlcyB0aGUgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsIHByb3BzIGZvciB0aGUgR2x1ZSBkYXRhYmFzZVxuICpcbiAqIEBwYXJhbSBzY29wZVxuICogQHBhcmFtIGRhdGFiYXNlUHJvcHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdsdWVEYXRhYmFzZShzY29wZTogQ29uc3RydWN0LCAgZGF0YWJhc2VQcm9wcz86IGdsdWUuQ2ZuRGF0YWJhc2VQcm9wcyk6IGdsdWUuQ2ZuRGF0YWJhc2Uge1xuICBjb25zdCBfbWVyZ2VkREJQcm9wczogZ2x1ZS5DZm5EYXRhYmFzZVByb3BzID0gKGRhdGFiYXNlUHJvcHMgIT09IHVuZGVmaW5lZCkgPyBvdmVycmlkZVByb3BzKGRlZmF1bHRzLkRlZmF1bHRHbHVlRGF0YWJhc2VQcm9wcygpLCBkYXRhYmFzZVByb3BzKSA6XG4gICAgZGVmYXVsdHMuRGVmYXVsdEdsdWVEYXRhYmFzZVByb3BzKCk7XG4gIHJldHVybiBkZWZhdWx0cy5EZWZhdWx0R2x1ZURhdGFiYXNlKHNjb3BlLCBfbWVyZ2VkREJQcm9wcyk7XG59XG5cbi8qKlxuICogQSB1dGlsaXR5IG1ldGhvZCB0byBnZW5lcmF0ZSB0aGUgUzMgQXJuIGZyb20gYW4gUzMgVXJsLlxuICpcbiAqIEBwYXJhbSBzM1VybFxuICovXG5mdW5jdGlvbiBnZXRTM0FybmZyb21TM1VybChzM1VybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgc3BsaXRTdHJpbmc6IHN0cmluZyA9IHMzVXJsLnNsaWNlKCdzMzovLycubGVuZ3RoKTtcbiAgcmV0dXJuIGBhcm46JHtBd3MuUEFSVElUSU9OfTpzMzo6OiR7c3BsaXRTdHJpbmd9YDtcbn1cblxuLyoqXG4gKiBBIHV0aWxpdHkgbWV0aG9kIHRvIHR5cGUgY2hlY2sgQ2ZuSm9iLkpvYkNvbW1hbmRQcm9wZXJ0eSB0eXBlLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kXG4gKi9cbmZ1bmN0aW9uIGlzSm9iQ29tbWFuZFByb3BlcnR5KGNvbW1hbmQ6IGdsdWUuQ2ZuSm9iLkpvYkNvbW1hbmRQcm9wZXJ0eSB8IElSZXNvbHZhYmxlKTogY29tbWFuZCBpcyBnbHVlLkNmbkpvYi5Kb2JDb21tYW5kUHJvcGVydHkge1xuICBpZiAoKGNvbW1hbmQgYXMgZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5KS5uYW1lIHx8XG4gICAgKGNvbW1hbmQgYXMgZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5KS5weXRob25WZXJzaW9uIHx8XG4gICAgKGNvbW1hbmQgYXMgZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5KS5zY3JpcHRMb2NhdGlvbikge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIGRlZmF1bHRzLnByaW50V2FybmluZygnY29tbWFuZCBub3Qgb2YgdHlwZSBKb2JDb21tYW5kUHJvcGVydHkgdHlwZScpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
6
|
* with the License. A copy of the License is located at
|
|
@@ -57,4 +57,4 @@ function DefaultGlueTableProps(database, fieldSchema, sourceType, parameters) {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
exports.DefaultGlueTableProps = DefaultGlueTableProps;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS10YWJsZS1kZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdsdWUtdGFibGUtZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFHSCw2Q0FBa0M7QUFFbEMsU0FBZ0IscUJBQXFCLENBQUMsUUFBMEIsRUFBRSxXQUEyQyxFQUMzRyxVQUFtQixFQUFFLFVBQWdCO0lBQ3JDLElBQUksV0FBK0IsQ0FBQztJQUVwQyxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUU7UUFDNUIsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1FBRWpELE1BQU0sTUFBTSxHQUFXLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWIsV0FBVyxHQUFHO1lBQ1osU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTO1lBQzdCLFlBQVksRUFBRSxRQUFRLENBQUMsR0FBRztZQUMxQixVQUFVLEVBQUU7Z0JBQ1YsaUJBQWlCLEVBQUU7b0JBQ2pCLE9BQU8sRUFBRSxXQUFXO29CQUNwQixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsMENBQTBDO29CQUN2RCxZQUFZLEVBQUUsNERBQTREO29CQUMxRSxVQUFVLEVBQUUsS0FBSztvQkFDakIsZUFBZSxFQUFFLENBQUMsQ0FBQztvQkFDbkIsU0FBUyxFQUFFO3dCQUNULG9CQUFvQixFQUFFLG9DQUFvQzt3QkFDMUQsVUFBVSxFQUFFOzRCQUNWLEtBQUssRUFBRSxNQUFNO3lCQUNkO3FCQUNGO29CQUNELFVBQVUsRUFBRTt3QkFDVixXQUFXLEVBQUUsbUJBQW1CLGlCQUFHLENBQUMsTUFBTSxnQkFBZ0I7d0JBQzFELFVBQVUsRUFBRSxpQkFBaUI7d0JBQzdCLFVBQVUsRUFBRSxVQUFVO3FCQUN2QjtpQkFDRjtnQkFDRCxTQUFTLEVBQUUsZ0JBQWdCO2dCQUMzQixVQUFVLEVBQUU7b0JBQ1YsY0FBYyxFQUFFLE1BQU07aUJBQ3ZCO2FBQ0Y7U0FDRixDQUFDO1FBRUYsT0FBTyxXQUFXLENBQUM7S0FDcEI7U0FBTTtRQUNMLE1BQU0sS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7S0FDMUU7QUFDSCxDQUFDO0FBN0NELHNEQTZDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCAyMDIyIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgZ2x1ZSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWdsdWVcIjtcbmltcG9ydCB7IEF3cyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdEdsdWVUYWJsZVByb3BzKGRhdGFiYXNlOiBnbHVlLkNmbkRhdGFiYXNlLCBmaWVsZFNjaGVtYTogZ2x1ZS5DZm5UYWJsZS5Db2x1bW5Qcm9wZXJ0eVtdLFxuICBzb3VyY2VUeXBlPzogc3RyaW5nLCBwYXJhbWV0ZXJzPzogYW55KTogZ2x1ZS5DZm5UYWJsZVByb3BzIHwgYW55IHtcbiAgbGV0IF90YWJsZVByb3BzOiBnbHVlLkNmblRhYmxlUHJvcHM7XG5cbiAgaWYgKHNvdXJjZVR5cGUgPT09ICdraW5lc2lzJykge1xuICAgIGNvbnN0IGtpbmVzaXNTdHJlYW1OYW1lID0gcGFyYW1ldGVycy5TVFJFQU1fTkFNRTtcblxuICAgIGNvbnN0IF9wYXRoczogc3RyaW5nID0gZmllbGRTY2hlbWEubWFwKChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gaXRlbS5uYW1lO1xuICAgIH0pLmpvaW4oJywnKTtcblxuICAgIF90YWJsZVByb3BzID0ge1xuICAgICAgY2F0YWxvZ0lkOiBkYXRhYmFzZS5jYXRhbG9nSWQsXG4gICAgICBkYXRhYmFzZU5hbWU6IGRhdGFiYXNlLnJlZixcbiAgICAgIHRhYmxlSW5wdXQ6IHtcbiAgICAgICAgc3RvcmFnZURlc2NyaXB0b3I6IHtcbiAgICAgICAgICBjb2x1bW5zOiBmaWVsZFNjaGVtYSxcbiAgICAgICAgICBsb2NhdGlvbjoga2luZXNpc1N0cmVhbU5hbWUsXG4gICAgICAgICAgaW5wdXRGb3JtYXQ6IFwib3JnLmFwYWNoZS5oYWRvb3AubWFwcmVkLlRleHRJbnB1dEZvcm1hdFwiLFxuICAgICAgICAgIG91dHB1dEZvcm1hdDogXCJvcmcuYXBhY2hlLmhhZG9vcC5oaXZlLnFsLmlvLkhpdmVJZ25vcmVLZXlUZXh0T3V0cHV0Rm9ybWF0XCIsXG4gICAgICAgICAgY29tcHJlc3NlZDogZmFsc2UsXG4gICAgICAgICAgbnVtYmVyT2ZCdWNrZXRzOiAtMSxcbiAgICAgICAgICBzZXJkZUluZm86IHtcbiAgICAgICAgICAgIHNlcmlhbGl6YXRpb25MaWJyYXJ5OiBcIm9yZy5vcGVueC5kYXRhLmpzb25zZXJkZS5Kc29uU2VyRGVcIixcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgcGF0aHM6IF9wYXRoc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgZW5kcG9pbnRVcmw6IGBodHRwczovL2tpbmVzaXMuJHtBd3MuUkVHSU9OfS5hbWF6b25hd3MuY29tYCxcbiAgICAgICAgICAgIHN0cmVhbU5hbWU6IGtpbmVzaXNTdHJlYW1OYW1lLFxuICAgICAgICAgICAgdHlwZU9mRGF0YTogc291cmNlVHlwZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGFibGVUeXBlOiAnRVhURVJOQUxfVEFCTEUnLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgY2xhc3NpZmljYXRpb246ICdqc29uJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBfdGFibGVQcm9wcztcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBFcnJvcignU291cmNlIFR5cGUgbm90IFN1cHBvcnRlZC4gVmFsaWQgU291cmNlIFR5cGUgbm90IHByb3ZpZGVkJyk7XG4gIH1cbn0iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* and limitations under the License.
|
|
12
12
|
*/
|
|
13
13
|
import { CfnTable, CfnTableProps } from "aws-cdk-lib/aws-glue";
|
|
14
|
-
import { Construct } from
|
|
14
|
+
import { Construct } from "constructs";
|
|
15
15
|
/**
|
|
16
16
|
* Method to build the default table props
|
|
17
17
|
*
|
package/lib/glue-table-helper.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
6
|
* with the License. A copy of the License is located at
|
|
@@ -28,4 +28,4 @@ function DefaultGlueTable(scope, tableProps) {
|
|
|
28
28
|
return new aws_glue_1.CfnTable(scope, 'GlueTable', tableProps);
|
|
29
29
|
}
|
|
30
30
|
exports.DefaultGlueTable = DefaultGlueTable;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS10YWJsZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnbHVlLXRhYmxlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVILG1EQUErRDtBQUcvRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxLQUFnQixFQUFFLFVBQXlCO0lBQzFFLE9BQU8sSUFBSSxtQkFBUSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUZELDRDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDZm5UYWJsZSwgQ2ZuVGFibGVQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZ2x1ZVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuLyoqXG4gKiBNZXRob2QgdG8gYnVpbGQgdGhlIGRlZmF1bHQgdGFibGUgcHJvcHNcbiAqXG4gKiBAcGFyYW0gc2NvcGVcbiAqIEBwYXJhbSBkYXRhYmFzZVxuICogQHBhcmFtIGZpZWxkU2NoZW1hXG4gKiBAcGFyYW0gc291cmNlVHlwZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSBLZXkgdmFsdWUgcGFpcnMgb2YgcGFyYW1ldGVycy4gSWYgc291cmNlIHR5cGUgaXMgJ0tpbmVzaXMnLCBwYXNzIEtpbmVzaXMgRGF0YSBTdHJlYW0gbmFtZSB3aXRoIGtleVxuICogIGFzICdTVFJFQU1fTkFNRScuIEV4YW1wbGU6IHtTVFJFQU1fTkFNRTogJ0tpbmVzaXNTdHJlYW1Db25zdHJjdC5zdHJlYW1OYW1lJ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRHbHVlVGFibGUoc2NvcGU6IENvbnN0cnVjdCwgdGFibGVQcm9wczogQ2ZuVGFibGVQcm9wcyk6IENmblRhYmxlIHtcbiAgcmV0dXJuIG5ldyBDZm5UYWJsZShzY29wZSwgJ0dsdWVUYWJsZScsIHRhYmxlUHJvcHMpO1xufSJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
|
@@ -17,6 +17,7 @@ import * as sqs from 'aws-cdk-lib/aws-sqs';
|
|
|
17
17
|
import * as mediastore from 'aws-cdk-lib/aws-mediastore';
|
|
18
18
|
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
19
19
|
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
20
|
+
import * as elb from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
20
21
|
import * as sns from 'aws-cdk-lib/aws-sns';
|
|
21
22
|
import * as glue from 'aws-cdk-lib/aws-glue';
|
|
22
23
|
import * as sagemaker from 'aws-cdk-lib/aws-sagemaker';
|
|
@@ -52,5 +53,12 @@ export interface VerifiedProps {
|
|
|
52
53
|
readonly deployVpc?: boolean;
|
|
53
54
|
readonly encryptionKey?: kms.Key;
|
|
54
55
|
readonly encryptionKeyProps?: kms.KeyProps;
|
|
56
|
+
readonly loadBalancerProps?: elb.ApplicationLoadBalancerProps;
|
|
57
|
+
readonly existingLoadBalancerObj?: elb.ApplicationLoadBalancer;
|
|
58
|
+
readonly logAlbAccessLogs?: boolean;
|
|
59
|
+
readonly albLoggingBucketProps?: s3.BucketProps;
|
|
60
|
+
readonly existingLoggingBucketObj?: s3.IBucket;
|
|
61
|
+
readonly loggingBucketProps?: s3.BucketProps;
|
|
62
|
+
readonly logS3AccessLogs?: boolean;
|
|
55
63
|
}
|
|
56
64
|
export declare function CheckProps(propsObject: VerifiedProps | any): void;
|