@aws-solutions-constructs/core 1.157.0 → 1.160.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 +160 -104
- package/lib/elasticsearch-defaults.d.ts +2 -8
- package/lib/elasticsearch-defaults.js +7 -16
- package/lib/elasticsearch-helper.d.ts +13 -2
- package/lib/elasticsearch-helper.js +100 -45
- package/lib/lambda-helper.d.ts +1 -0
- package/lib/lambda-helper.js +8 -2
- package/lib/vpc-defaults.js +6 -1
- package/package.json +71 -71
- package/test/elasticsearch-helper.test.js +131 -11
- package/test/lambda-helper.test.js +17 -1
- package/test/test-helper.d.ts +1 -1
- package/test/test-helper.js +3 -2
|
@@ -19,51 +19,36 @@ const utils_1 = require("./utils");
|
|
|
19
19
|
const iam = require("@aws-cdk/aws-iam");
|
|
20
20
|
const cdk = require("@aws-cdk/core");
|
|
21
21
|
const cloudwatch = require("@aws-cdk/aws-cloudwatch");
|
|
22
|
-
|
|
22
|
+
const ec2 = require("@aws-cdk/aws-ec2");
|
|
23
|
+
const MaximumAzsInElasticsearchDomain = 3;
|
|
24
|
+
function buildElasticSearch(scope, props) {
|
|
25
|
+
let subnetIds = [];
|
|
26
|
+
const constructDrivenProps = {};
|
|
23
27
|
// Setup the IAM Role & policy for ES to configure Cognito User pool and Identity pool
|
|
24
|
-
const cognitoKibanaConfigureRole =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
]
|
|
49
|
-
}),
|
|
50
|
-
new iam.PolicyStatement({
|
|
51
|
-
actions: [
|
|
52
|
-
"iam:PassRole"
|
|
53
|
-
],
|
|
54
|
-
conditions: {
|
|
55
|
-
StringLike: { 'iam:PassedToService': 'cognito-identity.amazonaws.com' }
|
|
56
|
-
},
|
|
57
|
-
resources: [
|
|
58
|
-
cognitoKibanaConfigureRole.roleArn
|
|
59
|
-
]
|
|
60
|
-
})
|
|
61
|
-
]
|
|
62
|
-
});
|
|
63
|
-
cognitoKibanaConfigureRolePolicy.attachToRole(cognitoKibanaConfigureRole);
|
|
64
|
-
let _cfnDomainProps = elasticsearch_defaults_1.DefaultCfnDomainProps(domainName, cognitoKibanaConfigureRole, options);
|
|
65
|
-
_cfnDomainProps = utils_1.consolidateProps(_cfnDomainProps, cfnDomainProps);
|
|
66
|
-
const esDomain = new elasticsearch.CfnDomain(scope, "ElasticsearchDomain", _cfnDomainProps);
|
|
28
|
+
const cognitoKibanaConfigureRole = createKibanaCognitoRole(scope, props.userpool, props.identitypool, props.domainName);
|
|
29
|
+
if (props.vpc) {
|
|
30
|
+
subnetIds = retrievePrivateSubnetIds(props.vpc);
|
|
31
|
+
if (subnetIds.length > MaximumAzsInElasticsearchDomain) {
|
|
32
|
+
subnetIds = subnetIds.slice(0, MaximumAzsInElasticsearchDomain);
|
|
33
|
+
}
|
|
34
|
+
constructDrivenProps.vpcOptions = {
|
|
35
|
+
subnetIds,
|
|
36
|
+
securityGroupIds: props.securityGroupIds
|
|
37
|
+
};
|
|
38
|
+
// If the client did not submit a ClusterConfig, then we will create one
|
|
39
|
+
if (!props.clientDomainProps?.elasticsearchClusterConfig) {
|
|
40
|
+
constructDrivenProps.elasticsearchClusterConfig = createClusterConfiguration(subnetIds.length);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else { // No VPC
|
|
44
|
+
// If the client did not submit a ClusterConfig, then we will create one based on the Region
|
|
45
|
+
if (!props.clientDomainProps?.elasticsearchClusterConfig) {
|
|
46
|
+
constructDrivenProps.elasticsearchClusterConfig = createClusterConfiguration(cdk.Stack.of(scope).availabilityZones.length);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const defaultCfnDomainProps = elasticsearch_defaults_1.DefaultCfnDomainProps(props.domainName, cognitoKibanaConfigureRole, props);
|
|
50
|
+
const finalCfnDomainProps = utils_1.consolidateProps(defaultCfnDomainProps, props.clientDomainProps, constructDrivenProps);
|
|
51
|
+
const esDomain = new elasticsearch.CfnDomain(scope, `ElasticsearchDomain`, finalCfnDomainProps);
|
|
67
52
|
utils_1.addCfnSuppressRules(esDomain, [
|
|
68
53
|
{
|
|
69
54
|
id: "W28",
|
|
@@ -200,4 +185,74 @@ function buildElasticSearchCWAlarms(scope) {
|
|
|
200
185
|
return alarms;
|
|
201
186
|
}
|
|
202
187
|
exports.buildElasticSearchCWAlarms = buildElasticSearchCWAlarms;
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbGFzdGljc2VhcmNoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVILDREQUE0RDtBQUM1RCxxRUFBbUY7QUFDbkYsbUNBQWdFO0FBQ2hFLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMsc0RBQXNEO0FBSXRELFNBQWdCLGtCQUFrQixDQUFDLEtBQWdCLEVBQUUsVUFBa0IsRUFDckUsT0FBeUIsRUFBRSxjQUE2QztJQUV4RSxzRkFBc0Y7SUFDdEYsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLDRCQUE0QixFQUFFO1FBQ25GLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztLQUN4RCxDQUFDLENBQUM7SUFFSCxNQUFNLGdDQUFnQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7UUFDakcsVUFBVSxFQUFFO1lBQ1YsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUN0QixPQUFPLEVBQUU7b0JBQ1AsOEJBQThCO29CQUM5QixrQ0FBa0M7b0JBQ2xDLGtDQUFrQztvQkFDbEMsb0NBQW9DO29CQUNwQywrQkFBK0I7b0JBQy9CLG9DQUFvQztvQkFDcEMsaUNBQWlDO29CQUNqQyx1Q0FBdUM7b0JBQ3ZDLHFDQUFxQztvQkFDckMsdUNBQXVDO29CQUN2Qyx1Q0FBdUM7b0JBQ3ZDLG9DQUFvQztpQkFDckM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztvQkFDNUIsNEJBQTRCLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxpQkFBaUIsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7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IG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGVsYXN0aWNzZWFyY2ggZnJvbSAnQGF3cy1jZGsvYXdzLWVsYXN0aWNzZWFyY2gnO1xuaW1wb3J0IHsgQ2ZuRG9tYWluT3B0aW9ucywgRGVmYXVsdENmbkRvbWFpblByb3BzIH0gZnJvbSAnLi9lbGFzdGljc2VhcmNoLWRlZmF1bHRzJztcbmltcG9ydCB7IGNvbnNvbGlkYXRlUHJvcHMsIGFkZENmblN1cHByZXNzUnVsZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdAYXdzLWNkay9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCAqIGFzIGNsb3Vkd2F0Y2ggZnJvbSAnQGF3cy1jZGsvYXdzLWNsb3Vkd2F0Y2gnO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVsYXN0aWNTZWFyY2goc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBDZm5Eb21haW5PcHRpb25zLCBjZm5Eb21haW5Qcm9wcz86IGVsYXN0aWNzZWFyY2guQ2ZuRG9tYWluUHJvcHMpOiBbZWxhc3RpY3NlYXJjaC5DZm5Eb21haW4sIGlhbS5Sb2xlXSB7XG5cbiAgLy8gU2V0dXAgdGhlIElBTSBSb2xlICYgcG9saWN5IGZvciBFUyB0byBjb25maWd1cmUgQ29nbml0byBVc2VyIHBvb2wgYW5kIElkZW50aXR5IHBvb2xcbiAgY29uc3QgY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGUgPSBuZXcgaWFtLlJvbGUoc2NvcGUsICdDb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZScsIHtcbiAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZXMuYW1hem9uYXdzLmNvbScpXG4gIH0pO1xuXG4gIGNvbnN0IGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlUG9saWN5ID0gbmV3IGlhbS5Qb2xpY3koc2NvcGUsICdDb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZVBvbGljeScsIHtcbiAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICBcImNvZ25pdG8taWRwOkRlc2NyaWJlVXNlclBvb2xcIixcbiAgICAgICAgICBcImNvZ25pdG8taWRwOkNyZWF0ZVVzZXJQb29sQ2xpZW50XCIsXG4gICAgICAgICAgXCJjb2duaXRvLWlkcDpEZWxldGVVc2VyUG9vbENsaWVudFwiLFxuICAgICAgICAgIFwiY29nbml0by1pZHA6RGVzY3JpYmVVc2VyUG9vbENsaWVudFwiLFxuICAgICAgICAgIFwiY29nbml0by1pZHA6QWRtaW5Jbml0aWF0ZUF1dGhcIixcbiAgICAgICAgICBcImNvZ25pdG8taWRwOkFkbWluVXNlckdsb2JhbFNpZ25PdXRcIixcbiAgICAgICAgICBcImNvZ25pdG8taWRwOkxpc3RVc2VyUG9vbENsaWVudHNcIixcbiAgICAgICAgICBcImNvZ25pdG8taWRlbnRpdHk6RGVzY3JpYmVJZGVudGl0eVBvb2xcIixcbiAgICAgICAgICBcImNvZ25pdG8taWRlbnRpdHk6VXBkYXRlSWRlbnRpdHlQb29sXCIsXG4gICAgICAgICAgXCJjb2duaXRvLWlkZW50aXR5OlNldElkZW50aXR5UG9vbFJvbGVzXCIsXG4gICAgICAgICAgXCJjb2duaXRvLWlkZW50aXR5OkdldElkZW50aXR5UG9vbFJvbGVzXCIsXG4gICAgICAgICAgXCJlczpVcGRhdGVFbGFzdGljc2VhcmNoRG9tYWluQ29uZmlnXCJcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgb3B0aW9ucy51c2VycG9vbC51c2VyUG9vbEFybixcbiAgICAgICAgICBgYXJuOmF3czpjb2duaXRvLWlkZW50aXR5OiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTppZGVudGl0eXBvb2wvJHtvcHRpb25zLmlkZW50aXR5cG9vbC5yZWZ9YCxcbiAgICAgICAgICBgYXJuOmF3czplczoke2Nkay5Bd3MuUkVHSU9OfToke2Nkay5Bd3MuQUNDT1VOVF9JRH06ZG9tYWluLyR7ZG9tYWluTmFtZX1gXG4gICAgICAgIF1cbiAgICAgIH0pLFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJpYW06UGFzc1JvbGVcIlxuICAgICAgICBdLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgU3RyaW5nTGlrZTogeyAnaWFtOlBhc3NlZFRvU2VydmljZSc6ICdjb2duaXRvLWlkZW50aXR5LmFtYXpvbmF3cy5jb20nIH1cbiAgICAgICAgfSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGUucm9sZUFyblxuICAgICAgICBdXG4gICAgICB9KVxuICAgIF1cbiAgfSk7XG4gIGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlUG9saWN5LmF0dGFjaFRvUm9sZShjb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZSk7XG5cbiAgbGV0IF9jZm5Eb21haW5Qcm9wcyA9IERlZmF1bHRDZm5Eb21haW5Qcm9wcyhkb21haW5OYW1lLCBjb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZSwgb3B0aW9ucyk7XG5cbiAgX2NmbkRvbWFpblByb3BzID0gY29uc29saWRhdGVQcm9wcyhfY2ZuRG9tYWluUHJvcHMsIGNmbkRvbWFpblByb3BzKTtcblxuICBjb25zdCBlc0RvbWFpbiA9IG5ldyBlbGFzdGljc2VhcmNoLkNmbkRvbWFpbihzY29wZSwgXCJFbGFzdGljc2VhcmNoRG9tYWluXCIsIF9jZm5Eb21haW5Qcm9wcyk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoZXNEb21haW4sIFtcbiAgICB7XG4gICAgICBpZDogXCJXMjhcIixcbiAgICAgIHJlYXNvbjogYFRoZSBFUyBEb21haW4gaXMgcGFzc2VkIGR5bmFtaWNhbGx5IGFzIGFzIHBhcmFtZXRlciBhbmQgZXhwbGljaXRseSBzcGVjaWZpZWQgdG8gZW5zdXJlIHRoYXQgSUFNIHBvbGljaWVzIGFyZSBjb25maWd1cmVkIHRvIGxvY2tkb3duIGFjY2VzcyB0byB0aGlzIHNwZWNpZmljIEVTIGluc3RhbmNlIG9ubHlgLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFwiVzkwXCIsXG4gICAgICByZWFzb246IGBUaGlzIGlzIG5vdCBhIHJ1bGUgZm9yIHRoZSBnZW5lcmFsIGNhc2UsIGp1c3QgZm9yIHNwZWNpZmljIHVzZSBjYXNlcy9pbmR1c3RyaWVzYCxcbiAgICB9LFxuICBdKTtcblxuICByZXR1cm4gW2VzRG9tYWluLCBjb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVsYXN0aWNTZWFyY2hDV0FsYXJtcyhzY29wZTogQ29uc3RydWN0KTogY2xvdWR3YXRjaC5BbGFybVtdIHtcbiAgLy8gU2V0dXAgQ1cgQWxhcm1zIGZvciBFU1xuICBjb25zdCBhbGFybXM6IGNsb3Vkd2F0Y2guQWxhcm1bXSA9IG5ldyBBcnJheSgpO1xuXG4gIC8vIENsdXN0ZXJTdGF0dXMucmVkIG1heGltdW0gaXMgPj0gMSBmb3IgMSBtaW51dGUsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ1N0YXR1c1JlZEFsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnQ2x1c3RlclN0YXR1cy5yZWQnLFxuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDEsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBdCBsZWFzdCBvbmUgcHJpbWFyeSBzaGFyZCBhbmQgaXRzIHJlcGxpY2FzIGFyZSBub3QgYWxsb2NhdGVkIHRvIGEgbm9kZS4gJ1xuICB9KSk7XG5cbiAgLy8gQ2x1c3RlclN0YXR1cy55ZWxsb3cgbWF4aW11bSBpcyA+PSAxIGZvciAxIG1pbnV0ZSwgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnU3RhdHVzWWVsbG93QWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdDbHVzdGVyU3RhdHVzLnllbGxvdycsXG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMSxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0F0IGxlYXN0IG9uZSByZXBsaWNhIHNoYXJkIGlzIG5vdCBhbGxvY2F0ZWQgdG8gYSBub2RlLidcbiAgfSkpO1xuXG4gIC8vIEZyZWVTdG9yYWdlU3BhY2UgbWluaW11bSBpcyA8PSAyMDQ4MCBmb3IgMSBtaW51dGUsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ0ZyZWVTdG9yYWdlU3BhY2VUb29Mb3dBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ0ZyZWVTdG9yYWdlU3BhY2UnLFxuICAgICAgc3RhdGlzdGljOiAnTWluaW11bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDIwMDAwLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuTEVTU19USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQSBub2RlIGluIHlvdXIgY2x1c3RlciBpcyBkb3duIHRvIDIwIEdpQiBvZiBmcmVlIHN0b3JhZ2Ugc3BhY2UuJ1xuICB9KSk7XG5cbiAgLy8gQ2x1c3RlckluZGV4V3JpdGVzQmxvY2tlZCBpcyA+PSAxIGZvciA1IG1pbnV0ZXMsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ0luZGV4V3JpdGVzQmxvY2tlZFRvb0hpZ2hBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ0NsdXN0ZXJJbmRleFdyaXRlc0Jsb2NrZWQnLFxuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnWW91ciBjbHVzdGVyIGlzIGJsb2NraW5nIHdyaXRlIHJlcXVlc3RzLidcbiAgfSkpO1xuXG4gIC8vIEF1dG9tYXRlZFNuYXBzaG90RmFpbHVyZSBtYXhpbXVtIGlzID49IDEgZm9yIDEgbWludXRlLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdBdXRvbWF0ZWRTbmFwc2hvdEZhaWx1cmVUb29IaWdoQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdBdXRvbWF0ZWRTbmFwc2hvdEZhaWx1cmUnLFxuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDEsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBbiBhdXRvbWF0ZWQgc25hcHNob3QgZmFpbGVkLiBUaGlzIGZhaWx1cmUgaXMgb2Z0ZW4gdGhlIHJlc3VsdCBvZiBhIHJlZCBjbHVzdGVyIGhlYWx0aCBzdGF0dXMuJ1xuICB9KSk7XG5cbiAgLy8gQ1BVVXRpbGl6YXRpb24gbWF4aW11bSBpcyA+PSA4MCUgZm9yIDE1IG1pbnV0ZXMsIDMgY29uc2VjdXRpdmUgdGltZXNcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdDUFVVdGlsaXphdGlvblRvb0hpZ2hBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ0NQVVV0aWxpemF0aW9uJyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg5MDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogODAsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICcxMDAlIENQVSB1dGlsaXphdGlvbiBpcyBub3QgdW5jb21tb24sIGJ1dCBzdXN0YWluZWQgaGlnaCB1c2FnZSBpcyBwcm9ibGVtYXRpYy4gQ29uc2lkZXIgdXNpbmcgbGFyZ2VyIGluc3RhbmNlIHR5cGVzIG9yIGFkZGluZyBpbnN0YW5jZXMuJ1xuICB9KSk7XG5cbiAgLy8gSlZNTWVtb3J5UHJlc3N1cmUgbWF4aW11bSBpcyA+PSA4MCUgZm9yIDUgbWludXRlcywgMyBjb25zZWN1dGl2ZSB0aW1lc1xuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ0pWTU1lbW9yeVByZXNzdXJlVG9vSGlnaEFsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnSlZNTWVtb3J5UHJlc3N1cmUnLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiA4MCxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0F2ZXJhZ2UgSlZNIG1lbW9yeSBwcmVzc3VyZSBvdmVyIGxhc3QgMTUgbWludXRlcyB0b28gaGlnaC4gQ29uc2lkZXIgc2NhbGluZyB2ZXJ0aWNhbGx5LidcbiAgfSkpO1xuXG4gIC8vIE1hc3RlckNQVVV0aWxpemF0aW9uIG1heGltdW0gaXMgPj0gNTAlIGZvciAxNSBtaW51dGVzLCAzIGNvbnNlY3V0aXZlIHRpbWVzXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnTWFzdGVyQ1BVVXRpbGl6YXRpb25Ub29IaWdoQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdNYXN0ZXJDUFVVdGlsaXphdGlvbicsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoOTAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDUwLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQXZlcmFnZSBDUFUgdXRpbGl6YXRpb24gb3ZlciBsYXN0IDQ1IG1pbnV0ZXMgdG9vIGhpZ2guIENvbnNpZGVyIHVzaW5nIGxhcmdlciBpbnN0YW5jZSB0eXBlcyBmb3IgeW91ciBkZWRpY2F0ZWQgbWFzdGVyIG5vZGVzLidcbiAgfSkpO1xuXG4gIC8vIE1hc3RlckpWTU1lbW9yeVByZXNzdXJlIG1heGltdW0gaXMgPj0gODAlIGZvciAxNSBtaW51dGVzLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdNYXN0ZXJKVk1NZW1vcnlQcmVzc3VyZVRvb0hpZ2hBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ01hc3RlckpWTU1lbW9yeVByZXNzdXJlJyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg5MDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogNTAsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBdmVyYWdlIEpWTSBtZW1vcnkgcHJlc3N1cmUgb3ZlciBsYXN0IDE1IG1pbnV0ZXMgdG9vIGhpZ2guIENvbnNpZGVyIHNjYWxpbmcgdmVydGljYWxseS4nXG4gIH0pKTtcblxuICByZXR1cm4gYWxhcm1zO1xufVxuIl19
|
|
188
|
+
function retrievePrivateSubnetIds(vpc) {
|
|
189
|
+
let targetSubnetType;
|
|
190
|
+
if (vpc.isolatedSubnets.length) {
|
|
191
|
+
targetSubnetType = ec2.SubnetType.PRIVATE_ISOLATED;
|
|
192
|
+
}
|
|
193
|
+
else if (vpc.privateSubnets.length) {
|
|
194
|
+
targetSubnetType = ec2.SubnetType.PRIVATE_WITH_NAT;
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
throw new Error('Error - ElasticSearch Domains can only be deployed in Isolated or Private subnets');
|
|
198
|
+
}
|
|
199
|
+
const subnetSelector = {
|
|
200
|
+
onePerAz: true,
|
|
201
|
+
subnetType: targetSubnetType
|
|
202
|
+
};
|
|
203
|
+
return vpc.selectSubnets(subnetSelector).subnetIds;
|
|
204
|
+
}
|
|
205
|
+
function createClusterConfiguration(numberOfAzs) {
|
|
206
|
+
return {
|
|
207
|
+
dedicatedMasterEnabled: true,
|
|
208
|
+
dedicatedMasterCount: 3,
|
|
209
|
+
zoneAwarenessEnabled: true,
|
|
210
|
+
zoneAwarenessConfig: {
|
|
211
|
+
availabilityZoneCount: numberOfAzs
|
|
212
|
+
},
|
|
213
|
+
instanceCount: numberOfAzs,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
function createKibanaCognitoRole(scope, userPool, identitypool, domainName) {
|
|
217
|
+
// Setup the IAM Role & policy for ES to configure Cognito User pool and Identity pool
|
|
218
|
+
const cognitoKibanaConfigureRole = new iam.Role(scope, "CognitoKibanaConfigureRole", {
|
|
219
|
+
assumedBy: new iam.ServicePrincipal("es.amazonaws.com"),
|
|
220
|
+
});
|
|
221
|
+
const cognitoKibanaConfigureRolePolicy = new iam.Policy(scope, "CognitoKibanaConfigureRolePolicy", {
|
|
222
|
+
statements: [
|
|
223
|
+
new iam.PolicyStatement({
|
|
224
|
+
actions: [
|
|
225
|
+
"cognito-idp:DescribeUserPool",
|
|
226
|
+
"cognito-idp:CreateUserPoolClient",
|
|
227
|
+
"cognito-idp:DeleteUserPoolClient",
|
|
228
|
+
"cognito-idp:DescribeUserPoolClient",
|
|
229
|
+
"cognito-idp:AdminInitiateAuth",
|
|
230
|
+
"cognito-idp:AdminUserGlobalSignOut",
|
|
231
|
+
"cognito-idp:ListUserPoolClients",
|
|
232
|
+
"cognito-identity:DescribeIdentityPool",
|
|
233
|
+
"cognito-identity:UpdateIdentityPool",
|
|
234
|
+
"cognito-identity:SetIdentityPoolRoles",
|
|
235
|
+
"cognito-identity:GetIdentityPoolRoles",
|
|
236
|
+
"es:UpdateElasticsearchDomainConfig",
|
|
237
|
+
],
|
|
238
|
+
resources: [
|
|
239
|
+
userPool.userPoolArn,
|
|
240
|
+
`arn:aws:cognito-identity:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:identitypool/${identitypool.ref}`,
|
|
241
|
+
`arn:aws:es:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:domain/${domainName}`,
|
|
242
|
+
],
|
|
243
|
+
}),
|
|
244
|
+
new iam.PolicyStatement({
|
|
245
|
+
actions: ["iam:PassRole"],
|
|
246
|
+
conditions: {
|
|
247
|
+
StringLike: {
|
|
248
|
+
"iam:PassedToService": "cognito-identity.amazonaws.com",
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
resources: [cognitoKibanaConfigureRole.roleArn],
|
|
252
|
+
}),
|
|
253
|
+
],
|
|
254
|
+
});
|
|
255
|
+
cognitoKibanaConfigureRolePolicy.attachToRole(cognitoKibanaConfigureRole);
|
|
256
|
+
return cognitoKibanaConfigureRole;
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbGFzdGljc2VhcmNoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVILDREQUE0RDtBQUM1RCxxRUFBaUU7QUFDakUsbUNBQWdFO0FBQ2hFLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMsc0RBQXNEO0FBRXRELHdDQUF3QztBQUl4QyxNQUFNLCtCQUErQixHQUFHLENBQUMsQ0FBQztBQWExQyxTQUFnQixrQkFBa0IsQ0FBQyxLQUFnQixFQUFFLEtBQThCO0lBRWpGLElBQUksU0FBUyxHQUFhLEVBQUUsQ0FBQztJQUM3QixNQUFNLG9CQUFvQixHQUFRLEVBQUUsQ0FBQztJQUVyQyxzRkFBc0Y7SUFDdEYsTUFBTSwwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4SCxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7UUFDYixTQUFTLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWhELElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRywrQkFBK0IsRUFBRTtZQUN0RCxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsK0JBQStCLENBQUMsQ0FBQztTQUNqRTtRQUVELG9CQUFvQixDQUFDLFVBQVUsR0FBRztZQUNoQyxTQUFTO1lBQ1QsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtTQUN6QyxDQUFDO1FBRUYsd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUU7WUFDeEQsb0JBQW9CLENBQUMsMEJBQTBCLEdBQUcsMEJBQTBCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxD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QkFBK0I7b0JBQy9CLG9DQUFvQztvQkFDcEMsaUNBQWlDO29CQUNqQyx1Q0FBdUM7b0JBQ3ZDLHFDQUFxQztvQkFDckMsdUNBQXVDO29CQUN2Qyx1Q0FBdUM7b0JBQ3ZDLG9DQUFvQztpQkFDckM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULFFBQVEsQ0FBQyxXQUFXO29CQUNwQiw0QkFBNEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLGlCQUFpQixZQUFZLENBQUMsR0FBRyxFQUFFO29CQUNuRyxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxXQUFXLFVBQVUsRUFBRTtpQkFDMUU7YUFDRixDQUFDO1lBQ0YsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUN0QixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBQ3pCLFVBQVUsRUFBRTtvQkFDVixVQUFVLEVBQUU7d0JBQ1YscUJBQXFCLEVBQUUsZ0NBQWdDO3FCQUN4RDtpQkFDRjtnQkFDRCxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUM7YUFDaEQsQ0FBQztTQUNIO0tBQ0YsQ0FDRixDQUFDO0lBRUYsZ0NBQWdDLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDMUUsT0FBTywwQkFBMEIsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBlbGFzdGljc2VhcmNoIGZyb20gJ0Bhd3MtY2RrL2F3cy1lbGFzdGljc2VhcmNoJztcbmltcG9ydCB7IERlZmF1bHRDZm5Eb21haW5Qcm9wcyB9IGZyb20gJy4vZWxhc3RpY3NlYXJjaC1kZWZhdWx0cyc7XG5pbXBvcnQgeyBjb25zb2xpZGF0ZVByb3BzLCBhZGRDZm5TdXBwcmVzc1J1bGVzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnQGF3cy1jZGsvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ0Bhd3MtY2RrL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIGNvZ25pdG8gZnJvbSAnQGF3cy1jZGsvYXdzLWNvZ25pdG8nO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ0Bhd3MtY2RrL2F3cy1lYzInO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5cbmNvbnN0IE1heGltdW1BenNJbkVsYXN0aWNzZWFyY2hEb21haW4gPSAzO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRWxhc3RpY1NlYXJjaFByb3BzIHtcbiAgcmVhZG9ubHkgaWRlbnRpdHlwb29sOiBjb2duaXRvLkNmbklkZW50aXR5UG9vbDtcbiAgcmVhZG9ubHkgdXNlcnBvb2w6IGNvZ25pdG8uVXNlclBvb2w7XG4gIHJlYWRvbmx5IGNvZ25pdG9BdXRob3JpemVkUm9sZUFSTjogc3RyaW5nO1xuICByZWFkb25seSBzZXJ2aWNlUm9sZUFSTj86IHN0cmluZztcbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY2xpZW50RG9tYWluUHJvcHM/OiBlbGFzdGljc2VhcmNoLkNmbkRvbWFpblByb3BzLFxuICByZWFkb25seSBzZWN1cml0eUdyb3VwSWRzPzogc3RyaW5nW11cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRWxhc3RpY1NlYXJjaChzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGRFbGFzdGljU2VhcmNoUHJvcHMpOiBbZWxhc3RpY3NlYXJjaC5DZm5Eb21haW4sIGlhbS5Sb2xlXSB7XG5cbiAgbGV0IHN1Ym5ldElkczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgY29uc3RydWN0RHJpdmVuUHJvcHM6IGFueSA9IHt9O1xuXG4gIC8vIFNldHVwIHRoZSBJQU0gUm9sZSAmIHBvbGljeSBmb3IgRVMgdG8gY29uZmlndXJlIENvZ25pdG8gVXNlciBwb29sIGFuZCBJZGVudGl0eSBwb29sXG4gIGNvbnN0IGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlID0gY3JlYXRlS2liYW5hQ29nbml0b1JvbGUoc2NvcGUsIHByb3BzLnVzZXJwb29sLCBwcm9wcy5pZGVudGl0eXBvb2wsIHByb3BzLmRvbWFpbk5hbWUpO1xuXG4gIGlmIChwcm9wcy52cGMpIHtcbiAgICBzdWJuZXRJZHMgPSByZXRyaWV2ZVByaXZhdGVTdWJuZXRJZHMocHJvcHMudnBjKTtcblxuICAgIGlmIChzdWJuZXRJZHMubGVuZ3RoID4gTWF4aW11bUF6c0luRWxhc3RpY3NlYXJjaERvbWFpbikge1xuICAgICAgc3VibmV0SWRzID0gc3VibmV0SWRzLnNsaWNlKDAsIE1heGltdW1BenNJbkVsYXN0aWNzZWFyY2hEb21haW4pO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdERyaXZlblByb3BzLnZwY09wdGlvbnMgPSB7XG4gICAgICBzdWJuZXRJZHMsXG4gICAgICBzZWN1cml0eUdyb3VwSWRzOiBwcm9wcy5zZWN1cml0eUdyb3VwSWRzXG4gICAgfTtcblxuICAgIC8vIElmIHRoZSBjbGllbnQgZGlkIG5vdCBzdWJtaXQgYSBDbHVzdGVyQ29uZmlnLCB0aGVuIHdlIHdpbGwgY3JlYXRlIG9uZVxuICAgIGlmICghcHJvcHMuY2xpZW50RG9tYWluUHJvcHM/LmVsYXN0aWNzZWFyY2hDbHVzdGVyQ29uZmlnKSB7XG4gICAgICBjb25zdHJ1Y3REcml2ZW5Qcm9wcy5lbGFzdGljc2VhcmNoQ2x1c3RlckNvbmZpZyA9IGNyZWF0ZUNsdXN0ZXJDb25maWd1cmF0aW9uKHN1Ym5ldElkcy5sZW5ndGgpO1xuICAgIH1cbiAgfSBlbHNlIHsgLy8gTm8gVlBDXG4gICAgLy8gSWYgdGhlIGNsaWVudCBkaWQgbm90IHN1Ym1pdCBhIENsdXN0ZXJDb25maWcsIHRoZW4gd2Ugd2lsbCBjcmVhdGUgb25lIGJhc2VkIG9uIHRoZSBSZWdpb25cbiAgICBpZiAoIXByb3BzLmNsaWVudERvbWFpblByb3BzPy5lbGFzdGljc2VhcmNoQ2x1c3RlckNvbmZpZykge1xuICAgICAgY29uc3RydWN0RHJpdmVuUHJvcHMuZWxhc3RpY3NlYXJjaENsdXN0ZXJDb25maWcgPSBjcmVhdGVDbHVzdGVyQ29uZmlndXJhdGlvbihjZGsuU3RhY2sub2Yoc2NvcGUpLmF2YWlsYWJpbGl0eVpvbmVzLmxlbmd0aCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZGVmYXVsdENmbkRvbWFpblByb3BzID0gRGVmYXVsdENmbkRvbWFpblByb3BzKHByb3BzLmRvbWFpbk5hbWUsIGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlLCBwcm9wcyk7XG4gIGNvbnN0IGZpbmFsQ2ZuRG9tYWluUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRDZm5Eb21haW5Qcm9wcywgcHJvcHMuY2xpZW50RG9tYWluUHJvcHMsIGNvbnN0cnVjdERyaXZlblByb3BzKTtcblxuICBjb25zdCBlc0RvbWFpbiA9IG5ldyBlbGFzdGljc2VhcmNoLkNmbkRvbWFpbihzY29wZSwgYEVsYXN0aWNzZWFyY2hEb21haW5gLCBmaW5hbENmbkRvbWFpblByb3BzKTtcblxuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGVzRG9tYWluLCBbXG4gICAge1xuICAgICAgaWQ6IFwiVzI4XCIsXG4gICAgICByZWFzb246IGBUaGUgRVMgRG9tYWluIGlzIHBhc3NlZCBkeW5hbWljYWxseSBhcyBhcyBwYXJhbWV0ZXIgYW5kIGV4cGxpY2l0bHkgc3BlY2lmaWVkIHRvIGVuc3VyZSB0aGF0IElBTSBwb2xpY2llcyBhcmUgY29uZmlndXJlZCB0byBsb2NrZG93biBhY2Nlc3MgdG8gdGhpcyBzcGVjaWZpYyBFUyBpbnN0YW5jZSBvbmx5YCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBcIlc5MFwiLFxuICAgICAgcmVhc29uOiBgVGhpcyBpcyBub3QgYSBydWxlIGZvciB0aGUgZ2VuZXJhbCBjYXNlLCBqdXN0IGZvciBzcGVjaWZpYyB1c2UgY2FzZXMvaW5kdXN0cmllc2AsXG4gICAgfSxcbiAgXSk7XG5cbiAgcmV0dXJuIFtlc0RvbWFpbiwgY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGVdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRFbGFzdGljU2VhcmNoQ1dBbGFybXMoc2NvcGU6IENvbnN0cnVjdCk6IGNsb3Vkd2F0Y2guQWxhcm1bXSB7XG4gIC8vIFNldHVwIENXIEFsYXJtcyBmb3IgRVNcbiAgY29uc3QgYWxhcm1zOiBjbG91ZHdhdGNoLkFsYXJtW10gPSBuZXcgQXJyYXkoKTtcblxuICAvLyBDbHVzdGVyU3RhdHVzLnJlZCBtYXhpbXVtIGlzID49IDEgZm9yIDEgbWludXRlLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdTdGF0dXNSZWRBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ0NsdXN0ZXJTdGF0dXMucmVkJyxcbiAgICAgIHN0YXRpc3RpYzogJ01heGltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQXQgbGVhc3Qgb25lIHByaW1hcnkgc2hhcmQgYW5kIGl0cyByZXBsaWNhcyBhcmUgbm90IGFsbG9jYXRlZCB0byBhIG5vZGUuICdcbiAgfSkpO1xuXG4gIC8vIENsdXN0ZXJTdGF0dXMueWVsbG93IG1heGltdW0gaXMgPj0gMSBmb3IgMSBtaW51dGUsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ1N0YXR1c1llbGxvd0FsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnQ2x1c3RlclN0YXR1cy55ZWxsb3cnLFxuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDEsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBdCBsZWFzdCBvbmUgcmVwbGljYSBzaGFyZCBpcyBub3QgYWxsb2NhdGVkIHRvIGEgbm9kZS4nXG4gIH0pKTtcblxuICAvLyBGcmVlU3RvcmFnZVNwYWNlIG1pbmltdW0gaXMgPD0gMjA0ODAgZm9yIDEgbWludXRlLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdGcmVlU3RvcmFnZVNwYWNlVG9vTG93QWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdGcmVlU3RvcmFnZVNwYWNlJyxcbiAgICAgIHN0YXRpc3RpYzogJ01pbmltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAyMDAwMCxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkxFU1NfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0Egbm9kZSBpbiB5b3VyIGNsdXN0ZXIgaXMgZG93biB0byAyMCBHaUIgb2YgZnJlZSBzdG9yYWdlIHNwYWNlLidcbiAgfSkpO1xuXG4gIC8vIENsdXN0ZXJJbmRleFdyaXRlc0Jsb2NrZWQgaXMgPj0gMSBmb3IgNSBtaW51dGVzLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdJbmRleFdyaXRlc0Jsb2NrZWRUb29IaWdoQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdDbHVzdGVySW5kZXhXcml0ZXNCbG9ja2VkJyxcbiAgICAgIHN0YXRpc3RpYzogJ01heGltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcygzMDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMSxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ1lvdXIgY2x1c3RlciBpcyBibG9ja2luZyB3cml0ZSByZXF1ZXN0cy4nXG4gIH0pKTtcblxuICAvLyBBdXRvbWF0ZWRTbmFwc2hvdEZhaWx1cmUgbWF4aW11bSBpcyA+PSAxIGZvciAxIG1pbnV0ZSwgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnQXV0b21hdGVkU25hcHNob3RGYWlsdXJlVG9vSGlnaEFsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnQXV0b21hdGVkU25hcHNob3RGYWlsdXJlJyxcbiAgICAgIHN0YXRpc3RpYzogJ01heGltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQW4gYXV0b21hdGVkIHNuYXBzaG90IGZhaWxlZC4gVGhpcyBmYWlsdXJlIGlzIG9mdGVuIHRoZSByZXN1bHQgb2YgYSByZWQgY2x1c3RlciBoZWFsdGggc3RhdHVzLidcbiAgfSkpO1xuXG4gIC8vIENQVVV0aWxpemF0aW9uIG1heGltdW0gaXMgPj0gODAlIGZvciAxNSBtaW51dGVzLCAzIGNvbnNlY3V0aXZlIHRpbWVzXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnQ1BVVXRpbGl6YXRpb25Ub29IaWdoQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdDUFVVdGlsaXphdGlvbicsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoOTAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDgwLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnMTAwJSBDUFUgdXRpbGl6YXRpb24gaXMgbm90IHVuY29tbW9uLCBidXQgc3VzdGFpbmVkIGhpZ2ggdXNhZ2UgaXMgcHJvYmxlbWF0aWMuIENvbnNpZGVyIHVzaW5nIGxhcmdlciBpbnN0YW5jZSB0eXBlcyBvciBhZGRpbmcgaW5zdGFuY2VzLidcbiAgfSkpO1xuXG4gIC8vIEpWTU1lbW9yeVByZXNzdXJlIG1heGltdW0gaXMgPj0gODAlIGZvciA1IG1pbnV0ZXMsIDMgY29uc2VjdXRpdmUgdGltZXNcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdKVk1NZW1vcnlQcmVzc3VyZVRvb0hpZ2hBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ0pWTU1lbW9yeVByZXNzdXJlJyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg5MDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogODAsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBdmVyYWdlIEpWTSBtZW1vcnkgcHJlc3N1cmUgb3ZlciBsYXN0IDE1IG1pbnV0ZXMgdG9vIGhpZ2guIENvbnNpZGVyIHNjYWxpbmcgdmVydGljYWxseS4nXG4gIH0pKTtcblxuICAvLyBNYXN0ZXJDUFVVdGlsaXphdGlvbiBtYXhpbXVtIGlzID49IDUwJSBmb3IgMTUgbWludXRlcywgMyBjb25zZWN1dGl2ZSB0aW1lc1xuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ01hc3RlckNQVVV0aWxpemF0aW9uVG9vSGlnaEFsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnTWFzdGVyQ1BVVXRpbGl6YXRpb24nLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiA1MCxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0F2ZXJhZ2UgQ1BVIHV0aWxpemF0aW9uIG92ZXIgbGFzdCA0NSBtaW51dGVzIHRvbyBoaWdoLiBDb25zaWRlciB1c2luZyBsYXJnZXIgaW5zdGFuY2UgdHlwZXMgZm9yIHlvdXIgZGVkaWNhdGVkIG1hc3RlciBub2Rlcy4nXG4gIH0pKTtcblxuICAvLyBNYXN0ZXJKVk1NZW1vcnlQcmVzc3VyZSBtYXhpbXVtIGlzID49IDgwJSBmb3IgMTUgbWludXRlcywgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnTWFzdGVySlZNTWVtb3J5UHJlc3N1cmVUb29IaWdoQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdNYXN0ZXJKVk1NZW1vcnlQcmVzc3VyZScsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoOTAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDUwLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQXZlcmFnZSBKVk0gbWVtb3J5IHByZXNzdXJlIG92ZXIgbGFzdCAxNSBtaW51dGVzIHRvbyBoaWdoLiBDb25zaWRlciBzY2FsaW5nIHZlcnRpY2FsbHkuJ1xuICB9KSk7XG5cbiAgcmV0dXJuIGFsYXJtcztcbn1cblxuZnVuY3Rpb24gcmV0cmlldmVQcml2YXRlU3VibmV0SWRzKHZwYzogZWMyLklWcGMpIHtcbiAgbGV0IHRhcmdldFN1Ym5ldFR5cGU7XG5cbiAgaWYgKHZwYy5pc29sYXRlZFN1Ym5ldHMubGVuZ3RoKSB7XG4gICAgdGFyZ2V0U3VibmV0VHlwZSA9IGVjMi5TdWJuZXRUeXBlLlBSSVZBVEVfSVNPTEFURUQ7XG4gIH0gZWxzZSBpZiAodnBjLnByaXZhdGVTdWJuZXRzLmxlbmd0aCkge1xuICAgIHRhcmdldFN1Ym5ldFR5cGUgPSBlYzIuU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfTkFUO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignRXJyb3IgLSBFbGFzdGljU2VhcmNoIERvbWFpbnMgY2FuIG9ubHkgYmUgZGVwbG95ZWQgaW4gSXNvbGF0ZWQgb3IgUHJpdmF0ZSBzdWJuZXRzJyk7XG4gIH1cblxuICBjb25zdCBzdWJuZXRTZWxlY3RvciA9IHtcbiAgICBvbmVQZXJBejogdHJ1ZSxcbiAgICBzdWJuZXRUeXBlOiB0YXJnZXRTdWJuZXRUeXBlXG4gIH07XG5cbiAgcmV0dXJuIHZwYy5zZWxlY3RTdWJuZXRzKHN1Ym5ldFNlbGVjdG9yKS5zdWJuZXRJZHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNsdXN0ZXJDb25maWd1cmF0aW9uKG51bWJlck9mQXpzPzogbnVtYmVyKTogZWxhc3RpY3NlYXJjaC5DZm5Eb21haW4uRWxhc3RpY3NlYXJjaENsdXN0ZXJDb25maWdQcm9wZXJ0eSB7XG4gIHJldHVybiB7XG4gICAgZGVkaWNhdGVkTWFzdGVyRW5hYmxlZDogdHJ1ZSxcbiAgICBkZWRpY2F0ZWRNYXN0ZXJDb3VudDogMyxcbiAgICB6b25lQXdhcmVuZXNzRW5hYmxlZDogdHJ1ZSxcbiAgICB6b25lQXdhcmVuZXNzQ29uZmlnOiB7XG4gICAgICBhdmFpbGFiaWxpdHlab25lQ291bnQ6IG51bWJlck9mQXpzXG4gICAgfSxcbiAgICBpbnN0YW5jZUNvdW50OiBudW1iZXJPZkF6cyxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlS2liYW5hQ29nbml0b1JvbGUoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIHVzZXJQb29sOiBjb2duaXRvLlVzZXJQb29sLFxuICBpZGVudGl0eXBvb2w6IGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sLFxuICBkb21haW5OYW1lOiBzdHJpbmdcbik6IGlhbS5Sb2xlIHtcbiAgLy8gU2V0dXAgdGhlIElBTSBSb2xlICYgcG9saWN5IGZvciBFUyB0byBjb25maWd1cmUgQ29nbml0byBVc2VyIHBvb2wgYW5kIElkZW50aXR5IHBvb2xcbiAgY29uc3QgY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGUgPSBuZXcgaWFtLlJvbGUoXG4gICAgc2NvcGUsXG4gICAgXCJDb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZVwiLFxuICAgIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiZXMuYW1hem9uYXdzLmNvbVwiKSxcbiAgICB9XG4gICk7XG5cbiAgY29uc3QgY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGVQb2xpY3kgPSBuZXcgaWFtLlBvbGljeShcbiAgICBzY29wZSxcbiAgICBcIkNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlUG9saWN5XCIsXG4gICAge1xuICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgXCJjb2duaXRvLWlkcDpEZXNjcmliZVVzZXJQb29sXCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRwOkNyZWF0ZVVzZXJQb29sQ2xpZW50XCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRwOkRlbGV0ZVVzZXJQb29sQ2xpZW50XCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRwOkRlc2NyaWJlVXNlclBvb2xDbGllbnRcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZHA6QWRtaW5Jbml0aWF0ZUF1dGhcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZHA6QWRtaW5Vc2VyR2xvYmFsU2lnbk91dFwiLFxuICAgICAgICAgICAgXCJjb2duaXRvLWlkcDpMaXN0VXNlclBvb2xDbGllbnRzXCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRlbnRpdHk6RGVzY3JpYmVJZGVudGl0eVBvb2xcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZGVudGl0eTpVcGRhdGVJZGVudGl0eVBvb2xcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZGVudGl0eTpTZXRJZGVudGl0eVBvb2xSb2xlc1wiLFxuICAgICAgICAgICAgXCJjb2duaXRvLWlkZW50aXR5OkdldElkZW50aXR5UG9vbFJvbGVzXCIsXG4gICAgICAgICAgICBcImVzOlVwZGF0ZUVsYXN0aWNzZWFyY2hEb21haW5Db25maWdcIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgdXNlclBvb2wudXNlclBvb2xBcm4sXG4gICAgICAgICAgICBgYXJuOmF3czpjb2duaXRvLWlkZW50aXR5OiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTppZGVudGl0eXBvb2wvJHtpZGVudGl0eXBvb2wucmVmfWAsXG4gICAgICAgICAgICBgYXJuOmF3czplczoke2Nkay5Bd3MuUkVHSU9OfToke2Nkay5Bd3MuQUNDT1VOVF9JRH06ZG9tYWluLyR7ZG9tYWluTmFtZX1gLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wiaWFtOlBhc3NSb2xlXCJdLFxuICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgIFN0cmluZ0xpa2U6IHtcbiAgICAgICAgICAgICAgXCJpYW06UGFzc2VkVG9TZXJ2aWNlXCI6IFwiY29nbml0by1pZGVudGl0eS5hbWF6b25hd3MuY29tXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGUucm9sZUFybl0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9XG4gICk7XG5cbiAgY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGVQb2xpY3kuYXR0YWNoVG9Sb2xlKGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlKTtcbiAgcmV0dXJuIGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlO1xufVxuIl19
|
package/lib/lambda-helper.d.ts
CHANGED
|
@@ -36,3 +36,4 @@ export interface BuildLambdaFunctionProps {
|
|
|
36
36
|
export declare function buildLambdaFunction(scope: Construct, props: BuildLambdaFunctionProps): lambda.Function;
|
|
37
37
|
export declare function deployLambdaFunction(scope: Construct, lambdaFunctionProps: lambda.FunctionProps, functionId?: string, vpc?: ec2.IVpc): lambda.Function;
|
|
38
38
|
export declare function addPermission(targetFunction: lambda.Function, name: string, permission: lambda.Permission): any;
|
|
39
|
+
export declare function getLambdaVpcSecurityGroupIds(lambdaFunction: lambda.Function): string[];
|
package/lib/lambda-helper.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* and limitations under the License.
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.addPermission = exports.deployLambdaFunction = exports.buildLambdaFunction = void 0;
|
|
15
|
+
exports.getLambdaVpcSecurityGroupIds = exports.addPermission = exports.deployLambdaFunction = exports.buildLambdaFunction = void 0;
|
|
16
16
|
const lambda = require("@aws-cdk/aws-lambda");
|
|
17
17
|
const iam = require("@aws-cdk/aws-iam");
|
|
18
18
|
const lambda_defaults_1 = require("./lambda-defaults");
|
|
@@ -158,4 +158,10 @@ function GetNextId(children, coreName) {
|
|
|
158
158
|
});
|
|
159
159
|
return `${coreName}-${lastSuffix + 1}`;
|
|
160
160
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxhbWJkYS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFFSCw4Q0FBOEM7QUFDOUMsd0NBQXdDO0FBRXhDLHVEQUErRDtBQUMvRCxxQ0FBcUM7QUFDckMsbUNBQTZEO0FBQzdELG1FQUE2RDtBQTBCN0QsU0FBZ0IsbUJBQW1CLENBQUMsS0FBZ0IsRUFBRSxLQUErQjtJQUNuRix1Q0FBdUM7SUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtRQUM1QixJQUFJLEtBQUssQ0FBQyxtQkFBbUIsRUFBRTtZQUM3QixPQUFPLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyRjthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQztTQUM1RTtLQUNGO1NBQU07UUFDTCxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLGdCQUFnQixHQUF1QixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQWtDLENBQUM7WUFDN0csSUFBSSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFO2dCQUM3QyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ3JELHFGQUFxRjtvQkFDckYsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLHlDQUF5QyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDckcsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFO2dCQUN6QyxNQUFNLEtBQUssQ0FBQywrR0FBK0csQ0FBQyxDQUFDO2FBQzlIO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztLQUNoQztBQUNILENBQUM7QUF4QkQsa0RBd0JDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsS0FBZ0IsRUFDbkQsbUJBQXlDLEVBQ3pDLFVBQW1CLEVBQ25CLEdBQWM7SUFFZCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDL0QsTUFBTSxlQUFlLEdBQUcsV0FBVyxHQUFHLGFBQWEsQ0FBQztJQUVwRCxJQUFJLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FDYixnRkFBZ0YsQ0FDakYsQ0FBQztLQUNIO0lBRUQsd0NBQXdDO0lBQ3hDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUU7UUFDN0QsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO1FBQzNELGNBQWMsRUFBRTtZQUNkLCtCQUErQixFQUFFLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQztnQkFDdEQsVUFBVSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO3dCQUNuQyxPQUFPLEVBQUU7NEJBQ1AscUJBQXFCOzRCQUNyQixzQkFBc0I7NEJBQ3RCLG1CQUFtQjt5QkFDcEI7d0JBQ0QsU0FBUyxFQUFFLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsMEJBQTBCLENBQUM7cUJBQzdHLENBQUMsQ0FBQzthQUNKLENBQUM7U0FDSDtLQUNGLENBQUMsQ0FBQztJQUVILDJEQUEyRDtJQUMzRCw2REFBNkQ7SUFDN0QsSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFO1FBQ2xDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDcEQsT0FBTyxFQUFFO2dCQUNQLDRCQUE0QjtnQkFDNUIsK0JBQStCO2dCQUMvQiw0QkFBNEI7Z0JBQzVCLDhCQUE4QjtnQkFDOUIsZ0NBQWdDO2FBQ2pDO1lBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FBQyxDQUFDO0tBQ0w7SUFFRCw0RUFBNEU7SUFDNUUsSUFBSSx3QkFBd0IsR0FBeUIscUJBQWEsQ0FBQyw0Q0FBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFFdkksSUFBSSxHQUFHLEVBQUU7UUFFUCxpRUFBaUU7UUFDakUsMkRBQTJEO1FBQzNELE1BQU0sbUJBQW1CLEdBQUcsMENBQWtCLENBQzVDLEtBQUssRUFDTCw2QkFBNkIsRUFDN0I7WUFDRSxHQUFHO1lBQ0gsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixFQUNELEVBQUUsRUFDRixFQUFFLENBQ0gsQ0FBQztRQUVGLHdCQUF3QixHQUFHLHFCQUFhLENBQUMsd0JBQXdCLEVBQUU7WUFDakUsY0FBYyxFQUFFLENBQUUsbUJBQW1CLENBQUU7WUFDdkMsR0FBRztTQUNKLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDVjtJQUVELE1BQU0sY0FBYyxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFFekYsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1FBQzVELG1CQUFtQixDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7UUFDMUQsbUJBQW1CLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1FBQzVELGNBQWMsQ0FBQyxjQUFjLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDbkc7SUFFRCxNQUFNLGlCQUFpQixHQUF1QixjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQXVCLENBQUM7SUFFOUcsMkJBQW1CLENBQUMsY0FBYyxFQUFFO1FBQ2xDO1lBQ0UsRUFBRSxFQUFFLEtBQUs7WUFDVCxNQUFNLEVBQUUsb01BQW9NO1NBQzdNO1FBQ0Q7WUFDRSxFQUFFLEVBQUUsS0FBSztZQUNULE1BQU0sRUFBRSxpRkFBaUY7U0FDMUY7UUFDRDtZQUNFLEVBQUUsRUFBRSxLQUFLO1lBQ1QsTUFBTSxFQUFFLGlFQUFpRTtTQUMxRTtLQUNGLENBQUMsQ0FBQztJQUVILElBQUksaUJBQWlCLENBQUMsYUFBYSxFQUFFO1FBQ25DLDRCQUE0QjtRQUM1QixNQUFNLDBCQUEwQixHQUFHLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBa0IsQ0FBQztRQUV4SSxzRUFBc0U7UUFDdEUsMkJBQW1CLENBQUMsMEJBQTBCLEVBQUU7WUFDOUM7Z0JBQ0UsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsTUFBTSxFQUFFLCtHQUErRzthQUN4SDtTQUNGLENBQUMsQ0FBQztLQUNKO0lBRUQsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQztBQTdHRCxvREE2R0M7QUFFRCw2Q0FBNkM7QUFDN0Msc0RBQXNEO0FBQ3RELHlCQUF5QjtBQUN6QixTQUFnQixhQUFhLENBQUMsY0FBK0IsRUFBRSxJQUFZLEVBQUUsVUFBNkI7SUFDeEcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDckcsQ0FBQztBQUZELHNDQUVDO0FBRUQsdUVBQXVFO0FBQ3ZFLDBFQUEwRTtBQUMxRSxTQUFTLFNBQVMsQ0FBQyxRQUFzQixFQUFFLFFBQWdCO0lBQ3pELElBQUksVUFBVSxHQUFXLENBQUMsQ0FBQztJQUUzQixRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBRXZCLG9DQUFvQztRQUNwQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQzthQUNuRTtZQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxJQUFJLFVBQVUsR0FBRyxVQUFVLEVBQUU7Z0JBQzNCLFVBQVUsR0FBRyxVQUFVLENBQUM7YUFDekI7U0FDRjtJQUVILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLFFBQVEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCAyMDIyIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ0Bhd3MtY2RrL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ0Bhd3MtY2RrL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJAYXdzLWNkay9hd3MtZWMyXCI7XG5pbXBvcnQgeyBEZWZhdWx0TGFtYmRhRnVuY3Rpb25Qcm9wcyB9IGZyb20gJy4vbGFtYmRhLWRlZmF1bHRzJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IG92ZXJyaWRlUHJvcHMsIGFkZENmblN1cHByZXNzUnVsZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGJ1aWxkU2VjdXJpdHlHcm91cCB9IGZyb20gXCIuL3NlY3VyaXR5LWdyb3VwLWhlbHBlclwiO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRMYW1iZGFGdW5jdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIExhbWJkYSBGdW5jdGlvbiBvYmplY3QsIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGxhbWJkYUZ1bmN0aW9uUHJvcHMgd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbjtcbiAgLyoqXG4gICAqIFVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25Qcm9wcz86IGxhbWJkYS5GdW5jdGlvblByb3BzO1xuICAvKipcbiAgICogQSBWUEMgd2hlcmUgdGhlIExhbWJkYSBmdW5jdGlvbiB3aWxsIGFjY2VzcyBpbnRlcm5hbCByZXNvdXJjZXNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTGFtYmRhRnVuY3Rpb24oc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEJ1aWxkTGFtYmRhRnVuY3Rpb25Qcm9wcyk6IGxhbWJkYS5GdW5jdGlvbiB7XG4gIC8vIENvbmRpdGlvbmFsIGxhbWJkYSBmdW5jdGlvbiBjcmVhdGlvblxuICBpZiAoIXByb3BzLmV4aXN0aW5nTGFtYmRhT2JqKSB7XG4gICAgaWYgKHByb3BzLmxhbWJkYUZ1bmN0aW9uUHJvcHMpIHtcbiAgICAgIHJldHVybiBkZXBsb3lMYW1iZGFGdW5jdGlvbihzY29wZSwgcHJvcHMubGFtYmRhRnVuY3Rpb25Qcm9wcywgdW5kZWZpbmVkLCBwcm9wcy52cGMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcignRWl0aGVyIGV4aXN0aW5nTGFtYmRhT2JqIG9yIGxhbWJkYUZ1bmN0aW9uUHJvcHMgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnZwYykge1xuICAgICAgY29uc3QgbGV2ZWxPbmVGdW5jdGlvbjogbGFtYmRhLkNmbkZ1bmN0aW9uID0gcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmoubm9kZS5kZWZhdWx0Q2hpbGQgYXMgbGFtYmRhLkNmbkZ1bmN0aW9uO1xuICAgICAgaWYgKHByb3BzLmxhbWJkYUZ1bmN0aW9uUHJvcHM/LnNlY3VyaXR5R3JvdXBzKSB7XG4gICAgICAgIGxldCBjdHIgPSAyMDtcbiAgICAgICAgcHJvcHMubGFtYmRhRnVuY3Rpb25Qcm9wcz8uc2VjdXJpdHlHcm91cHMuZm9yRWFjaChzZyA9PiB7XG4gICAgICAgICAgLy8gVE9ETzogRGlzY3VzcyB3aXRoIHNvbWVvbmUgd2h5IEkgY2FuJ3QgZ2V0IFIvTyBhY2Nlc3MgdG8gVnBjQ29uZmlnU2VjdXJpdHlHcm91cElkc1xuICAgICAgICAgIGxldmVsT25lRnVuY3Rpb24uYWRkT3ZlcnJpZGUoYFByb3BlcnRpZXMuVnBjQ29uZmlnLlNlY3VyaXR5R3JvdXBJZHMuJHtjdHIrK31gLCBzZy5zZWN1cml0eUdyb3VwSWQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICghcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmouaXNCb3VuZFRvVnBjKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdBIExhbWJkYSBmdW5jdGlvbiBtdXN0IGJlIGJvdW5kIHRvIGEgVlBDIHVwb24gY3JlYXRpb24sIGl0IGNhbm5vdCBiZSBhZGRlZCB0byBhIFZQQyBpbiBhIHN1YnNlcXVlbnQgY29uc3RydWN0Jyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwcm9wcy5leGlzdGluZ0xhbWJkYU9iajtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwbG95TGFtYmRhRnVuY3Rpb24oc2NvcGU6IENvbnN0cnVjdCxcbiAgbGFtYmRhRnVuY3Rpb25Qcm9wczogbGFtYmRhLkZ1bmN0aW9uUHJvcHMsXG4gIGZ1bmN0aW9uSWQ/OiBzdHJpbmcsXG4gIHZwYz86IGVjMi5JVnBjKTogbGFtYmRhLkZ1bmN0aW9uIHtcblxuICBjb25zdCBfZnVuY3Rpb25JZCA9IGZ1bmN0aW9uSWQgPyBmdW5jdGlvbklkIDogJ0xhbWJkYUZ1bmN0aW9uJztcbiAgY29uc3QgX2Z1bmN0aW9uUm9sZUlkID0gX2Z1bmN0aW9uSWQgKyAnU2VydmljZVJvbGUnO1xuXG4gIGlmICh2cGMgJiYgbGFtYmRhRnVuY3Rpb25Qcm9wcy52cGMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIkNhbm5vdCBwcm92aWRlIGEgVlBDIGluIGJvdGggdGhlIGxhbWJkYUZ1bmN0aW9uUHJvcHMgYW5kIHRoZSBmdW5jdGlvbiBhcmd1bWVudFwiXG4gICAgKTtcbiAgfVxuXG4gIC8vIFNldHVwIHRoZSBJQU0gUm9sZSBmb3IgTGFtYmRhIFNlcnZpY2VcbiAgY29uc3QgbGFtYmRhU2VydmljZVJvbGUgPSBuZXcgaWFtLlJvbGUoc2NvcGUsIF9mdW5jdGlvblJvbGVJZCwge1xuICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdsYW1iZGEuYW1hem9uYXdzLmNvbScpLFxuICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICBMYW1iZGFGdW5jdGlvblNlcnZpY2VSb2xlUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgc3RhdGVtZW50czogW25ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAnbG9nczpDcmVhdGVMb2dHcm91cCcsXG4gICAgICAgICAgICAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLFxuICAgICAgICAgICAgJ2xvZ3M6UHV0TG9nRXZlbnRzJ1xuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpsb2dzOiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTpsb2ctZ3JvdXA6L2F3cy9sYW1iZGEvKmBdXG4gICAgICAgIH0pXVxuICAgICAgfSlcbiAgICB9XG4gIH0pO1xuXG4gIC8vIElmIHRoaXMgTGFtYmRhIGZ1bmN0aW9uIGlzIGdvaW5nIHRvIGFjY2VzcyByZXNvdXJlcyBpbiBhXG4gIC8vIFZQQywgdGhlbiBpdCBuZWVkcyBwcml2aWxlZ2VzIHRvIGFjY2VzcyBhbiBFTkkgaW4gdGhhdCBWUENcbiAgaWYgKGxhbWJkYUZ1bmN0aW9uUHJvcHMudnBjIHx8IHZwYykge1xuICAgIGxhbWJkYVNlcnZpY2VSb2xlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgXCJlYzI6Q3JlYXRlTmV0d29ya0ludGVyZmFjZVwiLFxuICAgICAgICBcImVjMjpEZXNjcmliZU5ldHdvcmtJbnRlcmZhY2VzXCIsXG4gICAgICAgIFwiZWMyOkRlbGV0ZU5ldHdvcmtJbnRlcmZhY2VcIixcbiAgICAgICAgXCJlYzI6QXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzXCIsXG4gICAgICAgIFwiZWMyOlVuYXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzXCJcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFtcIipcIl1cbiAgICB9KSk7XG4gIH1cblxuICAvLyBPdmVycmlkZSB0aGUgRGVmYXVsdEZ1bmN0aW9uUHJvcHMgd2l0aCB1c2VyIHByb3ZpZGVkICBsYW1iZGFGdW5jdGlvblByb3BzXG4gIGxldCBmaW5hbExhbWJkYUZ1bmN0aW9uUHJvcHM6IGxhbWJkYS5GdW5jdGlvblByb3BzID0gb3ZlcnJpZGVQcm9wcyhEZWZhdWx0TGFtYmRhRnVuY3Rpb25Qcm9wcyhsYW1iZGFTZXJ2aWNlUm9sZSksIGxhbWJkYUZ1bmN0aW9uUHJvcHMpO1xuXG4gIGlmICh2cGMpIHtcblxuICAgIC8vIFRoaXMgaXMgbGl0ZXJhbGx5IHNldHRpbmcgdXAgd2hhdCB3b3VsZCBiZSB0aGUgZGVmYXVsdCBTRywgYnV0XG4gICAgLy8gd2UgbmVlZCB0byB0byBpdCBleHBsaWNpdGx5IHRvIGRpc2FibGUgdGhlIGNmbl9uYWcgZXJyb3JcbiAgICBjb25zdCBsYW1iZGFTZWN1cml0eUdyb3VwID0gYnVpbGRTZWN1cml0eUdyb3VwKFxuICAgICAgc2NvcGUsXG4gICAgICBcIlJlcGxhY2VEZWZhdWx0U2VjdXJpdHlHcm91cFwiLFxuICAgICAge1xuICAgICAgICB2cGMsXG4gICAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgICB9LFxuICAgICAgW10sXG4gICAgICBbXVxuICAgICk7XG5cbiAgICBmaW5hbExhbWJkYUZ1bmN0aW9uUHJvcHMgPSBvdmVycmlkZVByb3BzKGZpbmFsTGFtYmRhRnVuY3Rpb25Qcm9wcywge1xuICAgICAgc2VjdXJpdHlHcm91cHM6IFsgbGFtYmRhU2VjdXJpdHlHcm91cCBdLFxuICAgICAgdnBjLFxuICAgIH0sIHRydWUpO1xuICB9XG5cbiAgY29uc3QgbGFtYmRhZnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHNjb3BlLCBfZnVuY3Rpb25JZCwgZmluYWxMYW1iZGFGdW5jdGlvblByb3BzKTtcblxuICBpZiAobGFtYmRhRnVuY3Rpb25Qcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTRfWCB8fFxuICAgIGxhbWJkYUZ1bmN0aW9uUHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE0X1ggfHxcbiAgICBsYW1iZGFGdW5jdGlvblByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLk5PREVKU18xNF9YKSB7XG4gICAgbGFtYmRhZnVuY3Rpb24uYWRkRW52aXJvbm1lbnQoJ0FXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEJywgJzEnLCB7IHJlbW92ZUluRWRnZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIGNvbnN0IGNmbkxhbWJkYWZ1bmN0aW9uOiBsYW1iZGEuQ2ZuRnVuY3Rpb24gPSBsYW1iZGFmdW5jdGlvbi5ub2RlLmZpbmRDaGlsZCgnUmVzb3VyY2UnKSBhcyBsYW1iZGEuQ2ZuRnVuY3Rpb247XG5cbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhsYW1iZGFmdW5jdGlvbiwgW1xuICAgIHtcbiAgICAgIGlkOiAnVzU4JyxcbiAgICAgIHJlYXNvbjogYExhbWJkYSBmdW5jdGlvbnMgaGFzIHRoZSByZXF1aXJlZCBwZXJtaXNzaW9uIHRvIHdyaXRlIENsb3VkV2F0Y2ggTG9ncy4gSXQgdXNlcyBjdXN0b20gcG9saWN5IGluc3RlYWQgb2YgYXJuOmF3czppYW06OmF3czpwb2xpY3kvc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZSB3aXRoIHRpZ2h0ZXIgcGVybWlzc2lvbnMuYFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICdXODknLFxuICAgICAgcmVhc29uOiBgVGhpcyBpcyBub3QgYSBydWxlIGZvciB0aGUgZ2VuZXJhbCBjYXNlLCBqdXN0IGZvciBzcGVjaWZpYyB1c2UgY2FzZXMvaW5kdXN0cmllc2BcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnVzkyJyxcbiAgICAgIHJlYXNvbjogYEltcG9zc2libGUgZm9yIHVzIHRvIGRlZmluZSB0aGUgY29ycmVjdCBjb25jdXJyZW5jeSBmb3IgY2xpZW50c2BcbiAgICB9XG4gIF0pO1xuXG4gIGlmIChjZm5MYW1iZGFmdW5jdGlvbi50cmFjaW5nQ29uZmlnKSB7XG4gICAgLy8gRmluZCB0aGUgWC1SYXkgSUFNIFBvbGljeVxuICAgIGNvbnN0IGNmbkxhbWJkYWZ1bmN0aW9uRGVmUG9saWN5ID0gbGFtYmRhZnVuY3Rpb24ucm9sZT8ubm9kZS50cnlGaW5kQ2hpbGQoJ0RlZmF1bHRQb2xpY3knKT8ubm9kZS5maW5kQ2hpbGQoJ1Jlc291cmNlJykgYXMgaWFtLkNmblBvbGljeTtcblxuICAgIC8vIEFkZCB0aGUgQ0ZOIE5BRyBzdXBwcmVzcyB0byBhbGxvdyBmb3IgXCJSZXNvdXJjZVwiOiBcIipcIiBmb3IgQVdTIFgtUmF5XG4gICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhjZm5MYW1iZGFmdW5jdGlvbkRlZlBvbGljeSwgW1xuICAgICAge1xuICAgICAgICBpZDogJ1cxMicsXG4gICAgICAgIHJlYXNvbjogYExhbWJkYSBuZWVkcyB0aGUgZm9sbG93aW5nIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbnMgdG8gc2VuZCB0cmFjZSBkYXRhIHRvIFgtUmF5IGFuZCBhY2Nlc3MgRU5JcyBpbiBhIFZQQy5gXG4gICAgICB9XG4gICAgXSk7XG4gIH1cblxuICByZXR1cm4gbGFtYmRhZnVuY3Rpb247XG59XG5cbi8vIEEgd3JhcHBlciBhYm92ZSBGdW5jdGlvbi5hZGRQZXJtaXNpb24gdGhhdFxuLy8gcHJldmVudHMgdHdvIGRpZmZlcmVudCBjYWxscyB0byBhZGRQZXJtaXNzaW9uIHVzaW5nXG4vLyB0aGUgc2FtZSBjb25zdHJ1Y3QgaWQuXG5leHBvcnQgZnVuY3Rpb24gYWRkUGVybWlzc2lvbih0YXJnZXRGdW5jdGlvbjogbGFtYmRhLkZ1bmN0aW9uLCBuYW1lOiBzdHJpbmcsIHBlcm1pc3Npb246IGxhbWJkYS5QZXJtaXNzaW9uKTogYW55IHtcbiAgdGFyZ2V0RnVuY3Rpb24uYWRkUGVybWlzc2lvbihHZXROZXh0SWQodGFyZ2V0RnVuY3Rpb24ucGVybWlzc2lvbnNOb2RlLmNoaWxkcmVuLCBuYW1lKSwgcGVybWlzc2lvbik7XG59XG5cbi8vIFNjYW4gdGhlIGN1cnJlbnQgcGVybWlzc2lvbnMgZm9yIGFueSBlbnRyaWVzIHdpdGggdGhpcyBjb3JlIG5hbWUgYW5kXG4vLyByZXR1cm4gdGhlIGZpcnN0IGF2YWlsYWJsZSBzeW50aGVzaXplZCBuYW1lLiBOYW1lcyBhcmUgY29yZU5hbWUtc3VmZml4LlxuZnVuY3Rpb24gR2V0TmV4dElkKGNoaWxkcmVuOiBJQ29uc3RydWN0W10sIGNvcmVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgbGFzdFN1ZmZpeDogbnVtYmVyID0gMDtcblxuICBjaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcblxuICAgIC8vIGlmIChjb21wYXJlIHJpZ2h0IHNpZGUgb2Ygc3RyaW5nKVxuICAgIGlmIChjaGlsZC5ub2RlLmlkLmluZGV4T2YoY29yZU5hbWUpID09PSAwKSB7XG4gICAgICBjb25zdCBjb21wb25lbnRzID0gY2hpbGQubm9kZS5pZC5zcGxpdCgnLScpO1xuICAgICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkluY29ycmVjdGx5IGZvcm1hdHRlZCBzeW50aGVzaXplZCBjb25zdHJ1Y3QgSURcIik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHVzZWRTdWZmaXggPSBOdW1iZXIoY29tcG9uZW50c1sxXSk7XG4gICAgICBpZiAodXNlZFN1ZmZpeCA+IGxhc3RTdWZmaXgpIHtcbiAgICAgICAgbGFzdFN1ZmZpeCA9IHVzZWRTdWZmaXg7XG4gICAgICB9XG4gICAgfVxuXG4gIH0pO1xuXG4gIHJldHVybiBgJHtjb3JlTmFtZX0tJHtsYXN0U3VmZml4ICsgMX1gO1xufSJdfQ==
|
|
161
|
+
function getLambdaVpcSecurityGroupIds(lambdaFunction) {
|
|
162
|
+
const securityGroupIds = [];
|
|
163
|
+
lambdaFunction.connections.securityGroups.forEach(element => securityGroupIds.push(element.securityGroupId));
|
|
164
|
+
return securityGroupIds;
|
|
165
|
+
}
|
|
166
|
+
exports.getLambdaVpcSecurityGroupIds = getLambdaVpcSecurityGroupIds;
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxhbWJkYS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFFSCw4Q0FBOEM7QUFDOUMsd0NBQXdDO0FBRXhDLHVEQUErRDtBQUMvRCxxQ0FBcUM7QUFDckMsbUNBQTZEO0FBQzdELG1FQUE2RDtBQTBCN0QsU0FBZ0IsbUJBQW1CLENBQUMsS0FBZ0IsRUFBRSxLQUErQjtJQUNuRix1Q0FBdUM7SUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtRQUM1QixJQUFJLEtBQUssQ0FBQyxtQkFBbUIsRUFBRTtZQUM3QixPQUFPLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyRjthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQztTQUM1RTtLQUNGO1NBQU07UUFDTCxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLGdCQUFnQixHQUF1QixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQWtDLENBQUM7WUFDN0csSUFBSSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFO2dCQUM3QyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ3JELHFGQUFxRjtvQkFDckYsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLHlDQUF5QyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDckcsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFO2dCQUN6QyxN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Q3pELElBQUksVUFBVSxHQUFXLENBQUMsQ0FBQztJQUUzQixRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBRXZCLG9DQUFvQztRQUNwQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQzthQUNuRTtZQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxJQUFJLFVBQVUsR0FBRyxVQUFVLEVBQUU7Z0JBQzNCLFVBQVUsR0FBRyxVQUFVLENBQUM7YUFDekI7U0FDRjtJQUVILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLFFBQVEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDekMsQ0FBQztBQUVELFNBQWdCLDRCQUE0QixDQUFDLGNBQStCO0lBQzFFLE1BQU0sZ0JBQWdCLEdBQWEsRUFBRSxDQUFDO0lBRXRDLGNBQWMsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUU3RyxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUM7QUFORCxvRUFNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCAyMDIyIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ0Bhd3MtY2RrL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ0Bhd3MtY2RrL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJAYXdzLWNkay9hd3MtZWMyXCI7XG5pbXBvcnQgeyBEZWZhdWx0TGFtYmRhRnVuY3Rpb25Qcm9wcyB9IGZyb20gJy4vbGFtYmRhLWRlZmF1bHRzJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IG92ZXJyaWRlUHJvcHMsIGFkZENmblN1cHByZXNzUnVsZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGJ1aWxkU2VjdXJpdHlHcm91cCB9IGZyb20gXCIuL3NlY3VyaXR5LWdyb3VwLWhlbHBlclwiO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRMYW1iZGFGdW5jdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIExhbWJkYSBGdW5jdGlvbiBvYmplY3QsIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGxhbWJkYUZ1bmN0aW9uUHJvcHMgd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbjtcbiAgLyoqXG4gICAqIFVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25Qcm9wcz86IGxhbWJkYS5GdW5jdGlvblByb3BzO1xuICAvKipcbiAgICogQSBWUEMgd2hlcmUgdGhlIExhbWJkYSBmdW5jdGlvbiB3aWxsIGFjY2VzcyBpbnRlcm5hbCByZXNvdXJjZXNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTGFtYmRhRnVuY3Rpb24oc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEJ1aWxkTGFtYmRhRnVuY3Rpb25Qcm9wcyk6IGxhbWJkYS5GdW5jdGlvbiB7XG4gIC8vIENvbmRpdGlvbmFsIGxhbWJkYSBmdW5jdGlvbiBjcmVhdGlvblxuICBpZiAoIXByb3BzLmV4aXN0aW5nTGFtYmRhT2JqKSB7XG4gICAgaWYgKHByb3BzLmxhbWJkYUZ1bmN0aW9uUHJvcHMpIHtcbiAgICAgIHJldHVybiBkZXBsb3lMYW1iZGFGdW5jdGlvbihzY29wZSwgcHJvcHMubGFtYmRhRnVuY3Rpb25Qcm9wcywgdW5kZWZpbmVkLCBwcm9wcy52cGMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcignRWl0aGVyIGV4aXN0aW5nTGFtYmRhT2JqIG9yIGxhbWJkYUZ1bmN0aW9uUHJvcHMgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnZwYykge1xuICAgICAgY29uc3QgbGV2ZWxPbmVGdW5jdGlvbjogbGFtYmRhLkNmbkZ1bmN0aW9uID0gcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmoubm9kZS5kZWZhdWx0Q2hpbGQgYXMgbGFtYmRhLkNmbkZ1bmN0aW9uO1xuICAgICAgaWYgKHByb3BzLmxhbWJkYUZ1bmN0aW9uUHJvcHM/LnNlY3VyaXR5R3JvdXBzKSB7XG4gICAgICAgIGxldCBjdHIgPSAyMDtcbiAgICAgICAgcHJvcHMubGFtYmRhRnVuY3Rpb25Qcm9wcz8uc2VjdXJpdHlHcm91cHMuZm9yRWFjaChzZyA9PiB7XG4gICAgICAgICAgLy8gVE9ETzogRGlzY3VzcyB3aXRoIHNvbWVvbmUgd2h5IEkgY2FuJ3QgZ2V0IFIvTyBhY2Nlc3MgdG8gVnBjQ29uZmlnU2VjdXJpdHlHcm91cElkc1xuICAgICAgICAgIGxldmVsT25lRnVuY3Rpb24uYWRkT3ZlcnJpZGUoYFByb3BlcnRpZXMuVnBjQ29uZmlnLlNlY3VyaXR5R3JvdXBJZHMuJHtjdHIrK31gLCBzZy5zZWN1cml0eUdyb3VwSWQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICghcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmouaXNCb3VuZFRvVnBjKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdBIExhbWJkYSBmdW5jdGlvbiBtdXN0IGJlIGJvdW5kIHRvIGEgVlBDIHVwb24gY3JlYXRpb24sIGl0IGNhbm5vdCBiZSBhZGRlZCB0byBhIFZQQyBpbiBhIHN1YnNlcXVlbnQgY29uc3RydWN0Jyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwcm9wcy5leGlzdGluZ0xhbWJkYU9iajtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwbG95TGFtYmRhRnVuY3Rpb24oc2NvcGU6IENvbnN0cnVjdCxcbiAgbGFtYmRhRnVuY3Rpb25Qcm9wczogbGFtYmRhLkZ1bmN0aW9uUHJvcHMsXG4gIGZ1bmN0aW9uSWQ/OiBzdHJpbmcsXG4gIHZwYz86IGVjMi5JVnBjKTogbGFtYmRhLkZ1bmN0aW9uIHtcblxuICBjb25zdCBfZnVuY3Rpb25JZCA9IGZ1bmN0aW9uSWQgPyBmdW5jdGlvbklkIDogJ0xhbWJkYUZ1bmN0aW9uJztcbiAgY29uc3QgX2Z1bmN0aW9uUm9sZUlkID0gX2Z1bmN0aW9uSWQgKyAnU2VydmljZVJvbGUnO1xuXG4gIGlmICh2cGMgJiYgbGFtYmRhRnVuY3Rpb25Qcm9wcy52cGMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIkNhbm5vdCBwcm92aWRlIGEgVlBDIGluIGJvdGggdGhlIGxhbWJkYUZ1bmN0aW9uUHJvcHMgYW5kIHRoZSBmdW5jdGlvbiBhcmd1bWVudFwiXG4gICAgKTtcbiAgfVxuXG4gIC8vIFNldHVwIHRoZSBJQU0gUm9sZSBmb3IgTGFtYmRhIFNlcnZpY2VcbiAgY29uc3QgbGFtYmRhU2VydmljZVJvbGUgPSBuZXcgaWFtLlJvbGUoc2NvcGUsIF9mdW5jdGlvblJvbGVJZCwge1xuICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdsYW1iZGEuYW1hem9uYXdzLmNvbScpLFxuICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICBMYW1iZGFGdW5jdGlvblNlcnZpY2VSb2xlUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgc3RhdGVtZW50czogW25ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAnbG9nczpDcmVhdGVMb2dHcm91cCcsXG4gICAgICAgICAgICAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLFxuICAgICAgICAgICAgJ2xvZ3M6UHV0TG9nRXZlbnRzJ1xuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpsb2dzOiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTpsb2ctZ3JvdXA6L2F3cy9sYW1iZGEvKmBdXG4gICAgICAgIH0pXVxuICAgICAgfSlcbiAgICB9XG4gIH0pO1xuXG4gIC8vIElmIHRoaXMgTGFtYmRhIGZ1bmN0aW9uIGlzIGdvaW5nIHRvIGFjY2VzcyByZXNvdXJlcyBpbiBhXG4gIC8vIFZQQywgdGhlbiBpdCBuZWVkcyBwcml2aWxlZ2VzIHRvIGFjY2VzcyBhbiBFTkkgaW4gdGhhdCBWUENcbiAgaWYgKGxhbWJkYUZ1bmN0aW9uUHJvcHMudnBjIHx8IHZwYykge1xuICAgIGxhbWJkYVNlcnZpY2VSb2xlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgXCJlYzI6Q3JlYXRlTmV0d29ya0ludGVyZmFjZVwiLFxuICAgICAgICBcImVjMjpEZXNjcmliZU5ldHdvcmtJbnRlcmZhY2VzXCIsXG4gICAgICAgIFwiZWMyOkRlbGV0ZU5ldHdvcmtJbnRlcmZhY2VcIixcbiAgICAgICAgXCJlYzI6QXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzXCIsXG4gICAgICAgIFwiZWMyOlVuYXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzXCJcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFtcIipcIl1cbiAgICB9KSk7XG4gIH1cblxuICAvLyBPdmVycmlkZSB0aGUgRGVmYXVsdEZ1bmN0aW9uUHJvcHMgd2l0aCB1c2VyIHByb3ZpZGVkICBsYW1iZGFGdW5jdGlvblByb3BzXG4gIGxldCBmaW5hbExhbWJkYUZ1bmN0aW9uUHJvcHM6IGxhbWJkYS5GdW5jdGlvblByb3BzID0gb3ZlcnJpZGVQcm9wcyhEZWZhdWx0TGFtYmRhRnVuY3Rpb25Qcm9wcyhsYW1iZGFTZXJ2aWNlUm9sZSksIGxhbWJkYUZ1bmN0aW9uUHJvcHMpO1xuXG4gIGlmICh2cGMpIHtcblxuICAgIC8vIFRoaXMgaXMgbGl0ZXJhbGx5IHNldHRpbmcgdXAgd2hhdCB3b3VsZCBiZSB0aGUgZGVmYXVsdCBTRywgYnV0XG4gICAgLy8gd2UgbmVlZCB0byB0byBpdCBleHBsaWNpdGx5IHRvIGRpc2FibGUgdGhlIGNmbl9uYWcgZXJyb3JcbiAgICBjb25zdCBsYW1iZGFTZWN1cml0eUdyb3VwID0gYnVpbGRTZWN1cml0eUdyb3VwKFxuICAgICAgc2NvcGUsXG4gICAgICBcIlJlcGxhY2VEZWZhdWx0U2VjdXJpdHlHcm91cFwiLFxuICAgICAge1xuICAgICAgICB2cGMsXG4gICAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgICB9LFxuICAgICAgW10sXG4gICAgICBbXVxuICAgICk7XG5cbiAgICBmaW5hbExhbWJkYUZ1bmN0aW9uUHJvcHMgPSBvdmVycmlkZVByb3BzKGZpbmFsTGFtYmRhRnVuY3Rpb25Qcm9wcywge1xuICAgICAgc2VjdXJpdHlHcm91cHM6IFtsYW1iZGFTZWN1cml0eUdyb3VwXSxcbiAgICAgIHZwYyxcbiAgICB9LCB0cnVlKTtcbiAgfVxuXG4gIGNvbnN0IGxhbWJkYWZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbihzY29wZSwgX2Z1bmN0aW9uSWQsIGZpbmFsTGFtYmRhRnVuY3Rpb25Qcm9wcyk7XG5cbiAgaWYgKGxhbWJkYUZ1bmN0aW9uUHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE0X1ggfHxcbiAgICBsYW1iZGFGdW5jdGlvblByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLk5PREVKU18xNF9YIHx8XG4gICAgbGFtYmRhRnVuY3Rpb25Qcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTRfWCkge1xuICAgIGxhbWJkYWZ1bmN0aW9uLmFkZEVudmlyb25tZW50KCdBV1NfTk9ERUpTX0NPTk5FQ1RJT05fUkVVU0VfRU5BQkxFRCcsICcxJywgeyByZW1vdmVJbkVkZ2U6IHRydWUgfSk7XG4gIH1cblxuICBjb25zdCBjZm5MYW1iZGFmdW5jdGlvbjogbGFtYmRhLkNmbkZ1bmN0aW9uID0gbGFtYmRhZnVuY3Rpb24ubm9kZS5maW5kQ2hpbGQoJ1Jlc291cmNlJykgYXMgbGFtYmRhLkNmbkZ1bmN0aW9uO1xuXG4gIGFkZENmblN1cHByZXNzUnVsZXMobGFtYmRhZnVuY3Rpb24sIFtcbiAgICB7XG4gICAgICBpZDogJ1c1OCcsXG4gICAgICByZWFzb246IGBMYW1iZGEgZnVuY3Rpb25zIGhhcyB0aGUgcmVxdWlyZWQgcGVybWlzc2lvbiB0byB3cml0ZSBDbG91ZFdhdGNoIExvZ3MuIEl0IHVzZXMgY3VzdG9tIHBvbGljeSBpbnN0ZWFkIG9mIGFybjphd3M6aWFtOjphd3M6cG9saWN5L3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUgd2l0aCB0aWdodGVyIHBlcm1pc3Npb25zLmBcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnVzg5JyxcbiAgICAgIHJlYXNvbjogYFRoaXMgaXMgbm90IGEgcnVsZSBmb3IgdGhlIGdlbmVyYWwgY2FzZSwganVzdCBmb3Igc3BlY2lmaWMgdXNlIGNhc2VzL2luZHVzdHJpZXNgXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJ1c5MicsXG4gICAgICByZWFzb246IGBJbXBvc3NpYmxlIGZvciB1cyB0byBkZWZpbmUgdGhlIGNvcnJlY3QgY29uY3VycmVuY3kgZm9yIGNsaWVudHNgXG4gICAgfVxuICBdKTtcblxuICBpZiAoY2ZuTGFtYmRhZnVuY3Rpb24udHJhY2luZ0NvbmZpZykge1xuICAgIC8vIEZpbmQgdGhlIFgtUmF5IElBTSBQb2xpY3lcbiAgICBjb25zdCBjZm5MYW1iZGFmdW5jdGlvbkRlZlBvbGljeSA9IGxhbWJkYWZ1bmN0aW9uLnJvbGU/Lm5vZGUudHJ5RmluZENoaWxkKCdEZWZhdWx0UG9saWN5Jyk/Lm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIGlhbS5DZm5Qb2xpY3k7XG5cbiAgICAvLyBBZGQgdGhlIENGTiBOQUcgc3VwcHJlc3MgdG8gYWxsb3cgZm9yIFwiUmVzb3VyY2VcIjogXCIqXCIgZm9yIEFXUyBYLVJheVxuICAgIGFkZENmblN1cHByZXNzUnVsZXMoY2ZuTGFtYmRhZnVuY3Rpb25EZWZQb2xpY3ksIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdXMTInLFxuICAgICAgICByZWFzb246IGBMYW1iZGEgbmVlZHMgdGhlIGZvbGxvd2luZyBtaW5pbXVtIHJlcXVpcmVkIHBlcm1pc3Npb25zIHRvIHNlbmQgdHJhY2UgZGF0YSB0byBYLVJheSBhbmQgYWNjZXNzIEVOSXMgaW4gYSBWUEMuYFxuICAgICAgfVxuICAgIF0pO1xuICB9XG5cbiAgcmV0dXJuIGxhbWJkYWZ1bmN0aW9uO1xufVxuXG4vLyBBIHdyYXBwZXIgYWJvdmUgRnVuY3Rpb24uYWRkUGVybWlzaW9uIHRoYXRcbi8vIHByZXZlbnRzIHR3byBkaWZmZXJlbnQgY2FsbHMgdG8gYWRkUGVybWlzc2lvbiB1c2luZ1xuLy8gdGhlIHNhbWUgY29uc3RydWN0IGlkLlxuZXhwb3J0IGZ1bmN0aW9uIGFkZFBlcm1pc3Npb24odGFyZ2V0RnVuY3Rpb246IGxhbWJkYS5GdW5jdGlvbiwgbmFtZTogc3RyaW5nLCBwZXJtaXNzaW9uOiBsYW1iZGEuUGVybWlzc2lvbik6IGFueSB7XG4gIHRhcmdldEZ1bmN0aW9uLmFkZFBlcm1pc3Npb24oR2V0TmV4dElkKHRhcmdldEZ1bmN0aW9uLnBlcm1pc3Npb25zTm9kZS5jaGlsZHJlbiwgbmFtZSksIHBlcm1pc3Npb24pO1xufVxuXG4vLyBTY2FuIHRoZSBjdXJyZW50IHBlcm1pc3Npb25zIGZvciBhbnkgZW50cmllcyB3aXRoIHRoaXMgY29yZSBuYW1lIGFuZFxuLy8gcmV0dXJuIHRoZSBmaXJzdCBhdmFpbGFibGUgc3ludGhlc2l6ZWQgbmFtZS4gTmFtZXMgYXJlIGNvcmVOYW1lLXN1ZmZpeC5cbmZ1bmN0aW9uIEdldE5leHRJZChjaGlsZHJlbjogSUNvbnN0cnVjdFtdLCBjb3JlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IGxhc3RTdWZmaXg6IG51bWJlciA9IDA7XG5cbiAgY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG5cbiAgICAvLyBpZiAoY29tcGFyZSByaWdodCBzaWRlIG9mIHN0cmluZylcbiAgICBpZiAoY2hpbGQubm9kZS5pZC5pbmRleE9mKGNvcmVOYW1lKSA9PT0gMCkge1xuICAgICAgY29uc3QgY29tcG9uZW50cyA9IGNoaWxkLm5vZGUuaWQuc3BsaXQoJy0nKTtcbiAgICAgIGlmIChjb21wb25lbnRzLmxlbmd0aCAhPT0gMikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbmNvcnJlY3RseSBmb3JtYXR0ZWQgc3ludGhlc2l6ZWQgY29uc3RydWN0IElEXCIpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB1c2VkU3VmZml4ID0gTnVtYmVyKGNvbXBvbmVudHNbMV0pO1xuICAgICAgaWYgKHVzZWRTdWZmaXggPiBsYXN0U3VmZml4KSB7XG4gICAgICAgIGxhc3RTdWZmaXggPSB1c2VkU3VmZml4O1xuICAgICAgfVxuICAgIH1cblxuICB9KTtcblxuICByZXR1cm4gYCR7Y29yZU5hbWV9LSR7bGFzdFN1ZmZpeCArIDF9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhbWJkYVZwY1NlY3VyaXR5R3JvdXBJZHMobGFtYmRhRnVuY3Rpb246IGxhbWJkYS5GdW5jdGlvbik6IHN0cmluZ1tdIHtcbiAgY29uc3Qgc2VjdXJpdHlHcm91cElkczogc3RyaW5nW10gPSBbXTtcblxuICBsYW1iZGFGdW5jdGlvbi5jb25uZWN0aW9ucy5zZWN1cml0eUdyb3Vwcy5mb3JFYWNoKGVsZW1lbnQgPT4gc2VjdXJpdHlHcm91cElkcy5wdXNoKGVsZW1lbnQuc2VjdXJpdHlHcm91cElkKSk7XG5cbiAgcmV0dXJuIHNlY3VyaXR5R3JvdXBJZHM7XG59Il19
|
package/lib/vpc-defaults.js
CHANGED
|
@@ -48,9 +48,14 @@ function DefaultPrivateVpcProps() {
|
|
|
48
48
|
cidrMask: 18,
|
|
49
49
|
name: "private",
|
|
50
50
|
subnetType: ec2.SubnetType.PRIVATE_WITH_NAT,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
cidrMask: 24,
|
|
54
|
+
name: "public",
|
|
55
|
+
subnetType: ec2.SubnetType.PUBLIC,
|
|
51
56
|
}
|
|
52
57
|
]
|
|
53
58
|
};
|
|
54
59
|
}
|
|
55
60
|
exports.DefaultPrivateVpcProps = DefaultPrivateVpcProps;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLWRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidnBjLWRlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBRUgsd0NBQXdDO0FBRXhDOztHQUVHO0FBQ0gsU0FBZ0IsNEJBQTRCO0lBQzFDLE9BQU8sRUFDVSxDQUFDO0FBQ3BCLENBQUM7QUFIRCxvRUFHQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsdUJBQXVCO0lBQ3JDLE9BQU87UUFDTCxXQUFXLEVBQUUsQ0FBQztRQUNkLG1CQUFtQixFQUFFO1lBQ25CO2dCQUNFLFFBQVEsRUFBRSxFQUFFO2dCQUNaLElBQUksRUFBRSxVQUFVO2dCQUNoQixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0I7YUFDNUM7U0FDRjtLQUNjLENBQUM7QUFDcEIsQ0FBQztBQVhELDBEQVdDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixzQkFBc0I7SUFDcEMsT0FBTztRQUNMLFdBQVcsRUFBRSxDQUFDO1FBQ2QsbUJBQW1CLEVBQUU7WUFDbkI7Z0JBQ0UsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCO2FBQzVDO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTTthQUNsQztTQUNGO0tBQ2MsQ0FBQztBQUNwQixDQUFDO0FBaEJELHdEQWdCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCAyMDIyIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJAYXdzLWNkay9hd3MtZWMyXCI7XG5cbi8qKlxuICogRGVmYXVsdCBWUEMgd2l0aCBwdWJsaWMgYW5kIHByaXZhdGUgc3VibmV0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdFB1YmxpY1ByaXZhdGVWcGNQcm9wcygpOiBlYzIuVnBjUHJvcHMge1xuICByZXR1cm4ge1xuICB9IGFzIGVjMi5WcGNQcm9wcztcbn1cblxuLyoqXG4gKiBEZWZhdWx0IFZQQyB3aXRoIGlzb2xhdGVkIHN1Ym5ldHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRJc29sYXRlZFZwY1Byb3BzKCk6IGVjMi5WcGNQcm9wcyB7XG4gIHJldHVybiB7XG4gICAgbmF0R2F0ZXdheXM6IDAsXG4gICAgc3VibmV0Q29uZmlndXJhdGlvbjogW1xuICAgICAge1xuICAgICAgICBjaWRyTWFzazogMTgsXG4gICAgICAgIG5hbWU6IFwiaXNvbGF0ZWRcIixcbiAgICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRCxcbiAgICAgIH1cbiAgICBdXG4gIH0gYXMgZWMyLlZwY1Byb3BzO1xufVxuXG4vKipcbiAqIERlZmF1bHQgVlBDIHdpdGggcHJpdmF0ZSBzdWJuZXRzIHcvTkFUXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBEZWZhdWx0UHJpdmF0ZVZwY1Byb3BzKCk6IGVjMi5WcGNQcm9wcyB7XG4gIHJldHVybiB7XG4gICAgbmF0R2F0ZXdheXM6IDAsXG4gICAgc3VibmV0Q29uZmlndXJhdGlvbjogW1xuICAgICAge1xuICAgICAgICBjaWRyTWFzazogMTgsXG4gICAgICAgIG5hbWU6IFwicHJpdmF0ZVwiLFxuICAgICAgICBzdWJuZXRUeXBlOiBlYzIuU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfTkFULFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2lkck1hc2s6IDI0LFxuICAgICAgICBuYW1lOiBcInB1YmxpY1wiLFxuICAgICAgICBzdWJuZXRUeXBlOiBlYzIuU3VibmV0VHlwZS5QVUJMSUMsXG4gICAgICB9XG4gICAgXVxuICB9IGFzIGVjMi5WcGNQcm9wcztcbn0iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-solutions-constructs/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.160.0",
|
|
4
4
|
"description": "Core CDK Construct for patterns library",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.ts",
|
|
@@ -52,43 +52,43 @@
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@aws-cdk/aws-cloudfront": "1.
|
|
56
|
-
"@aws-cdk/aws-cloudfront-origins": "1.
|
|
57
|
-
"@aws-cdk/aws-dynamodb": "1.
|
|
58
|
-
"@aws-cdk/aws-elasticache": "1.
|
|
59
|
-
"@aws-cdk/aws-elasticloadbalancingv2": "1.
|
|
60
|
-
"@aws-cdk/aws-elasticloadbalancingv2-targets": "1.
|
|
61
|
-
"@aws-cdk/aws-glue": "1.
|
|
62
|
-
"@aws-cdk/aws-iot": "1.
|
|
63
|
-
"@aws-cdk/aws-kinesis": "1.
|
|
64
|
-
"@aws-cdk/aws-kinesisanalytics": "1.
|
|
65
|
-
"@aws-cdk/aws-kinesisfirehose": "1.
|
|
66
|
-
"@aws-cdk/aws-lambda": "1.
|
|
67
|
-
"@aws-cdk/aws-lambda-event-sources": "1.
|
|
68
|
-
"@aws-cdk/aws-logs": "1.
|
|
69
|
-
"@aws-cdk/aws-s3": "1.
|
|
70
|
-
"@aws-cdk/aws-s3-notifications": "1.
|
|
71
|
-
"@aws-cdk/aws-sns": "1.
|
|
72
|
-
"@aws-cdk/aws-sqs": "1.
|
|
73
|
-
"@aws-cdk/core": "1.
|
|
74
|
-
"@aws-cdk/aws-iam": "1.
|
|
75
|
-
"@aws-cdk/aws-apigateway": "1.
|
|
76
|
-
"@aws-cdk/aws-kms": "1.
|
|
77
|
-
"@aws-cdk/aws-events": "1.
|
|
78
|
-
"@aws-cdk/aws-cognito": "1.
|
|
79
|
-
"@aws-cdk/aws-elasticsearch": "1.
|
|
80
|
-
"@aws-cdk/aws-cloudwatch": "1.
|
|
81
|
-
"@aws-cdk/aws-stepfunctions": "1.
|
|
82
|
-
"@aws-cdk/aws-certificatemanager": "1.
|
|
83
|
-
"@aws-cdk/aws-sagemaker": "1.
|
|
84
|
-
"@aws-cdk/aws-ec2": "1.
|
|
85
|
-
"@aws-cdk/aws-ecs": "1.
|
|
86
|
-
"@aws-cdk/aws-ecr": "1.
|
|
87
|
-
"@aws-cdk/aws-mediastore": "1.
|
|
88
|
-
"@aws-cdk/aws-s3-assets": "1.
|
|
89
|
-
"@aws-cdk/aws-secretsmanager": "1.
|
|
90
|
-
"@aws-cdk/aws-ssm": "1.
|
|
91
|
-
"@aws-cdk/aws-wafv2": "1.
|
|
55
|
+
"@aws-cdk/aws-cloudfront": "1.160.0",
|
|
56
|
+
"@aws-cdk/aws-cloudfront-origins": "1.160.0",
|
|
57
|
+
"@aws-cdk/aws-dynamodb": "1.160.0",
|
|
58
|
+
"@aws-cdk/aws-elasticache": "1.160.0",
|
|
59
|
+
"@aws-cdk/aws-elasticloadbalancingv2": "1.160.0",
|
|
60
|
+
"@aws-cdk/aws-elasticloadbalancingv2-targets": "1.160.0",
|
|
61
|
+
"@aws-cdk/aws-glue": "1.160.0",
|
|
62
|
+
"@aws-cdk/aws-iot": "1.160.0",
|
|
63
|
+
"@aws-cdk/aws-kinesis": "1.160.0",
|
|
64
|
+
"@aws-cdk/aws-kinesisanalytics": "1.160.0",
|
|
65
|
+
"@aws-cdk/aws-kinesisfirehose": "1.160.0",
|
|
66
|
+
"@aws-cdk/aws-lambda": "1.160.0",
|
|
67
|
+
"@aws-cdk/aws-lambda-event-sources": "1.160.0",
|
|
68
|
+
"@aws-cdk/aws-logs": "1.160.0",
|
|
69
|
+
"@aws-cdk/aws-s3": "1.160.0",
|
|
70
|
+
"@aws-cdk/aws-s3-notifications": "1.160.0",
|
|
71
|
+
"@aws-cdk/aws-sns": "1.160.0",
|
|
72
|
+
"@aws-cdk/aws-sqs": "1.160.0",
|
|
73
|
+
"@aws-cdk/core": "1.160.0",
|
|
74
|
+
"@aws-cdk/aws-iam": "1.160.0",
|
|
75
|
+
"@aws-cdk/aws-apigateway": "1.160.0",
|
|
76
|
+
"@aws-cdk/aws-kms": "1.160.0",
|
|
77
|
+
"@aws-cdk/aws-events": "1.160.0",
|
|
78
|
+
"@aws-cdk/aws-cognito": "1.160.0",
|
|
79
|
+
"@aws-cdk/aws-elasticsearch": "1.160.0",
|
|
80
|
+
"@aws-cdk/aws-cloudwatch": "1.160.0",
|
|
81
|
+
"@aws-cdk/aws-stepfunctions": "1.160.0",
|
|
82
|
+
"@aws-cdk/aws-certificatemanager": "1.160.0",
|
|
83
|
+
"@aws-cdk/aws-sagemaker": "1.160.0",
|
|
84
|
+
"@aws-cdk/aws-ec2": "1.160.0",
|
|
85
|
+
"@aws-cdk/aws-ecs": "1.160.0",
|
|
86
|
+
"@aws-cdk/aws-ecr": "1.160.0",
|
|
87
|
+
"@aws-cdk/aws-mediastore": "1.160.0",
|
|
88
|
+
"@aws-cdk/aws-s3-assets": "1.160.0",
|
|
89
|
+
"@aws-cdk/aws-secretsmanager": "1.160.0",
|
|
90
|
+
"@aws-cdk/aws-ssm": "1.160.0",
|
|
91
|
+
"@aws-cdk/aws-wafv2": "1.160.0",
|
|
92
92
|
"deep-diff": "^1.0.2",
|
|
93
93
|
"deepmerge": "^4.0.0",
|
|
94
94
|
"npmlog": "^4.1.2"
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"devDependencies": {
|
|
97
97
|
"@types/deep-diff": "^1.0.0",
|
|
98
98
|
"@types/npmlog": "^4.1.2",
|
|
99
|
-
"@aws-cdk/assert": "1.
|
|
99
|
+
"@aws-cdk/assert": "1.160.0",
|
|
100
100
|
"@types/prettier": "2.6.0",
|
|
101
101
|
"@types/jest": "^27.4.0",
|
|
102
102
|
"@types/node": "^10.3.0"
|
|
@@ -121,37 +121,37 @@
|
|
|
121
121
|
"deep-diff"
|
|
122
122
|
],
|
|
123
123
|
"peerDependencies": {
|
|
124
|
-
"@aws-cdk/aws-cloudfront": "1.
|
|
125
|
-
"@aws-cdk/aws-dynamodb": "1.
|
|
126
|
-
"@aws-cdk/aws-iot": "1.
|
|
127
|
-
"@aws-cdk/aws-kinesis": "1.
|
|
128
|
-
"@aws-cdk/aws-kinesisanalytics": "1.
|
|
129
|
-
"@aws-cdk/aws-kinesisfirehose": "1.
|
|
130
|
-
"@aws-cdk/aws-lambda": "1.
|
|
131
|
-
"@aws-cdk/aws-lambda-event-sources": "1.
|
|
132
|
-
"@aws-cdk/aws-logs": "1.
|
|
133
|
-
"@aws-cdk/aws-s3": "1.
|
|
134
|
-
"@aws-cdk/aws-s3-notifications": "1.
|
|
135
|
-
"@aws-cdk/aws-sns": "1.
|
|
136
|
-
"@aws-cdk/aws-sqs": "1.
|
|
137
|
-
"@aws-cdk/core": "1.
|
|
138
|
-
"@aws-cdk/aws-iam": "1.
|
|
139
|
-
"@aws-cdk/aws-apigateway": "1.
|
|
140
|
-
"@aws-cdk/aws-kms": "1.
|
|
141
|
-
"@aws-cdk/aws-events": "1.
|
|
142
|
-
"@aws-cdk/aws-cognito": "1.
|
|
143
|
-
"@aws-cdk/aws-elasticsearch": "1.
|
|
144
|
-
"@aws-cdk/aws-cloudwatch": "1.
|
|
145
|
-
"@aws-cdk/aws-stepfunctions": "1.
|
|
146
|
-
"@aws-cdk/aws-cloudfront-origins": "1.
|
|
147
|
-
"@aws-cdk/aws-certificatemanager": "1.
|
|
148
|
-
"@aws-cdk/aws-sagemaker": "1.
|
|
149
|
-
"@aws-cdk/aws-ec2": "1.
|
|
150
|
-
"@aws-cdk/aws-mediastore": "1.
|
|
151
|
-
"@aws-cdk/aws-glue": "1.
|
|
152
|
-
"@aws-cdk/aws-s3-assets": "1.
|
|
153
|
-
"@aws-cdk/aws-secretsmanager": "1.
|
|
154
|
-
"@aws-cdk/aws-ssm": "1.
|
|
155
|
-
"@aws-cdk/aws-wafv2": "1.
|
|
124
|
+
"@aws-cdk/aws-cloudfront": "1.160.0",
|
|
125
|
+
"@aws-cdk/aws-dynamodb": "1.160.0",
|
|
126
|
+
"@aws-cdk/aws-iot": "1.160.0",
|
|
127
|
+
"@aws-cdk/aws-kinesis": "1.160.0",
|
|
128
|
+
"@aws-cdk/aws-kinesisanalytics": "1.160.0",
|
|
129
|
+
"@aws-cdk/aws-kinesisfirehose": "1.160.0",
|
|
130
|
+
"@aws-cdk/aws-lambda": "1.160.0",
|
|
131
|
+
"@aws-cdk/aws-lambda-event-sources": "1.160.0",
|
|
132
|
+
"@aws-cdk/aws-logs": "1.160.0",
|
|
133
|
+
"@aws-cdk/aws-s3": "1.160.0",
|
|
134
|
+
"@aws-cdk/aws-s3-notifications": "1.160.0",
|
|
135
|
+
"@aws-cdk/aws-sns": "1.160.0",
|
|
136
|
+
"@aws-cdk/aws-sqs": "1.160.0",
|
|
137
|
+
"@aws-cdk/core": "1.160.0",
|
|
138
|
+
"@aws-cdk/aws-iam": "1.160.0",
|
|
139
|
+
"@aws-cdk/aws-apigateway": "1.160.0",
|
|
140
|
+
"@aws-cdk/aws-kms": "1.160.0",
|
|
141
|
+
"@aws-cdk/aws-events": "1.160.0",
|
|
142
|
+
"@aws-cdk/aws-cognito": "1.160.0",
|
|
143
|
+
"@aws-cdk/aws-elasticsearch": "1.160.0",
|
|
144
|
+
"@aws-cdk/aws-cloudwatch": "1.160.0",
|
|
145
|
+
"@aws-cdk/aws-stepfunctions": "1.160.0",
|
|
146
|
+
"@aws-cdk/aws-cloudfront-origins": "1.160.0",
|
|
147
|
+
"@aws-cdk/aws-certificatemanager": "1.160.0",
|
|
148
|
+
"@aws-cdk/aws-sagemaker": "1.160.0",
|
|
149
|
+
"@aws-cdk/aws-ec2": "1.160.0",
|
|
150
|
+
"@aws-cdk/aws-mediastore": "1.160.0",
|
|
151
|
+
"@aws-cdk/aws-glue": "1.160.0",
|
|
152
|
+
"@aws-cdk/aws-s3-assets": "1.160.0",
|
|
153
|
+
"@aws-cdk/aws-secretsmanager": "1.160.0",
|
|
154
|
+
"@aws-cdk/aws-ssm": "1.160.0",
|
|
155
|
+
"@aws-cdk/aws-wafv2": "1.160.0"
|
|
156
156
|
}
|
|
157
157
|
}
|