aws-cdk 2.1007.0 → 3.0.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/THIRD_PARTY_LICENSES +24 -6
- package/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/api/aws-auth.d.ts +1 -0
- package/lib/api/{logs/index.js → aws-auth.js} +2 -3
- package/lib/api/bootstrap.d.ts +1 -0
- package/lib/api/bootstrap.js +18 -0
- package/lib/api/cloud-assembly.d.ts +1 -0
- package/lib/api/cloud-assembly.js +18 -0
- package/lib/api/cloudformation.d.ts +1 -0
- package/lib/api/cloudformation.js +18 -0
- package/lib/api/context.d.ts +1 -40
- package/lib/api/context.js +16 -80
- package/lib/api/deployments.d.ts +1 -0
- package/lib/api/deployments.js +18 -0
- package/lib/api/environment.d.ts +1 -0
- package/lib/api/environment.js +18 -0
- package/lib/api/garbage-collection.d.ts +1 -0
- package/lib/api/garbage-collection.js +18 -0
- package/lib/api/hotswap.d.ts +1 -0
- package/lib/api/hotswap.js +18 -0
- package/lib/api/index.d.ts +5 -1
- package/lib/api/index.js +6 -2
- package/lib/api/logs-monitor.d.ts +1 -0
- package/lib/api/logs-monitor.js +18 -0
- package/lib/api/notices.d.ts +1 -0
- package/lib/api/notices.js +18 -0
- package/lib/api/plugin.d.ts +1 -0
- package/lib/api/{garbage-collection/index.js → plugin.js} +2 -2
- package/lib/api/resource-import.d.ts +1 -0
- package/lib/api/resource-import.js +18 -0
- package/lib/api/rwlock.d.ts +1 -0
- package/lib/api/{resource-import/index.js → rwlock.js} +2 -3
- package/lib/api/settings.d.ts +1 -26
- package/lib/api/settings.js +16 -103
- package/lib/api/stack-events.d.ts +1 -0
- package/lib/api/stack-events.js +18 -0
- package/lib/api/tags.d.ts +1 -9
- package/lib/api/tags.js +16 -8
- package/lib/api/toolkit-info.d.ts +1 -52
- package/lib/api/toolkit-info.js +16 -152
- package/lib/api/tree.d.ts +1 -31
- package/lib/api/tree.js +16 -35
- package/lib/api/work-graph.d.ts +1 -0
- package/lib/api/work-graph.js +18 -0
- package/lib/api-private.d.ts +3 -0
- package/lib/api-private.js +22 -0
- package/lib/cli/cdk-toolkit.d.ts +6 -5
- package/lib/cli/cdk-toolkit.js +74 -44
- package/lib/cli/cli.d.ts +1 -1
- package/lib/cli/cli.js +21 -19
- package/lib/cli/io-host/cli-io-host.js +2 -2
- package/lib/cli/pretty-print-error.js +3 -1
- package/lib/cli/util/npm.d.ts +4 -1
- package/lib/cli/util/npm.js +25 -13
- package/lib/cli/version.d.ts +1 -1
- package/lib/cli/version.js +21 -25
- package/lib/commands/context.js +3 -2
- package/lib/commands/init/init.js +3 -2
- package/lib/commands/list-stacks.js +4 -4
- package/lib/context-providers/ami.d.ts +1 -13
- package/lib/context-providers/ami.js +16 -48
- package/lib/context-providers/availability-zones.d.ts +1 -13
- package/lib/context-providers/availability-zones.js +16 -25
- package/lib/context-providers/cc-api-provider.d.ts +1 -30
- package/lib/context-providers/cc-api-provider.js +16 -142
- package/lib/context-providers/endpoint-service-availability-zones.d.ts +1 -13
- package/lib/context-providers/endpoint-service-availability-zones.js +16 -31
- package/lib/context-providers/hosted-zones.d.ts +1 -12
- package/lib/context-providers/hosted-zones.js +16 -65
- package/lib/context-providers/index.d.ts +1 -44
- package/lib/context-providers/index.js +15 -126
- package/lib/context-providers/keys.d.ts +1 -13
- package/lib/context-providers/keys.js +16 -50
- package/lib/context-providers/load-balancers.d.ts +1 -20
- package/lib/context-providers/load-balancers.js +16 -154
- package/lib/context-providers/security-groups.d.ts +1 -9
- package/lib/context-providers/security-groups.js +16 -66
- package/lib/context-providers/ssm-parameters.d.ts +1 -25
- package/lib/context-providers/ssm-parameters.js +16 -57
- package/lib/context-providers/vpcs.d.ts +1 -13
- package/lib/context-providers/vpcs.js +16 -285
- package/lib/cxapp/cloud-assembly.d.ts +79 -0
- package/lib/cxapp/cloud-assembly.js +108 -0
- package/lib/{api/cxapp → cxapp}/cloud-executable.d.ts +6 -4
- package/lib/cxapp/cloud-executable.js +92 -0
- package/lib/{api/cxapp → cxapp}/environments.d.ts +1 -2
- package/lib/{api/cxapp → cxapp}/environments.js +2 -2
- package/lib/cxapp/exec.d.ts +14 -0
- package/lib/cxapp/exec.js +157 -0
- package/lib/cxapp/index.d.ts +4 -0
- package/lib/{api/bootstrap → cxapp}/index.js +5 -3
- package/lib/index.js +133605 -124560
- package/lib/init-templates/.init-version.json +1 -1
- package/lib/init-templates/.recommended-feature-flags.json +2 -1
- package/lib/legacy-aws-auth.d.ts +74 -0
- package/lib/legacy-aws-auth.js +40 -0
- package/lib/legacy-exports-source.d.ts +13 -18
- package/lib/legacy-exports-source.js +42 -49
- package/lib/legacy-exports.d.ts +3 -6
- package/lib/legacy-exports.js +5 -5
- package/lib/legacy-types.d.ts +31 -0
- package/lib/legacy-types.js +3 -0
- package/package.json +8 -7
- package/lib/api/aws-auth/account-cache.d.ts +0 -36
- package/lib/api/aws-auth/account-cache.js +0 -99
- package/lib/api/aws-auth/awscli-compatible.d.ts +0 -42
- package/lib/api/aws-auth/awscli-compatible.js +0 -263
- package/lib/api/aws-auth/cached.d.ts +0 -11
- package/lib/api/aws-auth/cached.js +0 -26
- package/lib/api/aws-auth/credential-plugins.d.ts +0 -36
- package/lib/api/aws-auth/credential-plugins.js +0 -152
- package/lib/api/aws-auth/index.d.ts +0 -3
- package/lib/api/aws-auth/index.js +0 -20
- package/lib/api/aws-auth/provider-caching.d.ts +0 -13
- package/lib/api/aws-auth/provider-caching.js +0 -24
- package/lib/api/aws-auth/sdk-logger.d.ts +0 -69
- package/lib/api/aws-auth/sdk-logger.js +0 -124
- package/lib/api/aws-auth/sdk-provider.d.ts +0 -207
- package/lib/api/aws-auth/sdk-provider.js +0 -357
- package/lib/api/aws-auth/sdk.d.ts +0 -229
- package/lib/api/aws-auth/sdk.js +0 -373
- package/lib/api/aws-auth/tracing.d.ts +0 -11
- package/lib/api/aws-auth/tracing.js +0 -60
- package/lib/api/aws-auth/user-agent.d.ts +0 -7
- package/lib/api/aws-auth/user-agent.js +0 -20
- package/lib/api/aws-auth/util.d.ts +0 -6
- package/lib/api/aws-auth/util.js +0 -23
- package/lib/api/bootstrap/bootstrap-environment.d.ts +0 -35
- package/lib/api/bootstrap/bootstrap-environment.js +0 -321
- package/lib/api/bootstrap/bootstrap-props.d.ts +0 -130
- package/lib/api/bootstrap/bootstrap-props.js +0 -14
- package/lib/api/bootstrap/deploy-bootstrap.d.ts +0 -39
- package/lib/api/bootstrap/deploy-bootstrap.js +0 -141
- package/lib/api/bootstrap/index.d.ts +0 -2
- package/lib/api/bootstrap/legacy-template.d.ts +0 -2
- package/lib/api/bootstrap/legacy-template.js +0 -82
- package/lib/api/cloudformation/evaluate-cloudformation-template.d.ts +0 -85
- package/lib/api/cloudformation/evaluate-cloudformation-template.js +0 -440
- package/lib/api/cloudformation/index.d.ts +0 -4
- package/lib/api/cloudformation/index.js +0 -21
- package/lib/api/cloudformation/nested-stack-helpers.d.ts +0 -19
- package/lib/api/cloudformation/nested-stack-helpers.js +0 -86
- package/lib/api/cloudformation/stack-helpers.d.ts +0 -88
- package/lib/api/cloudformation/stack-helpers.js +0 -158
- package/lib/api/cloudformation/template-body-parameter.d.ts +0 -22
- package/lib/api/cloudformation/template-body-parameter.js +0 -104
- package/lib/api/cxapp/cloud-assembly.d.ts +0 -137
- package/lib/api/cxapp/cloud-assembly.js +0 -305
- package/lib/api/cxapp/cloud-executable.js +0 -89
- package/lib/api/cxapp/exec.d.ts +0 -57
- package/lib/api/cxapp/exec.js +0 -279
- package/lib/api/deployments/asset-manifest-builder.d.ts +0 -8
- package/lib/api/deployments/asset-manifest-builder.js +0 -35
- package/lib/api/deployments/asset-publishing.d.ts +0 -60
- package/lib/api/deployments/asset-publishing.js +0 -141
- package/lib/api/deployments/assets.d.ts +0 -11
- package/lib/api/deployments/assets.js +0 -109
- package/lib/api/deployments/cfn-api.d.ts +0 -138
- package/lib/api/deployments/cfn-api.js +0 -438
- package/lib/api/deployments/checks.d.ts +0 -9
- package/lib/api/deployments/checks.js +0 -72
- package/lib/api/deployments/deploy-stack.d.ts +0 -155
- package/lib/api/deployments/deploy-stack.js +0 -478
- package/lib/api/deployments/deployment-method.d.ts +0 -24
- package/lib/api/deployments/deployment-method.js +0 -3
- package/lib/api/deployments/deployment-result.d.ts +0 -21
- package/lib/api/deployments/deployment-result.js +0 -10
- package/lib/api/deployments/deployments.d.ts +0 -296
- package/lib/api/deployments/deployments.js +0 -331
- package/lib/api/deployments/hotswap-deployments.d.ts +0 -17
- package/lib/api/deployments/hotswap-deployments.js +0 -441
- package/lib/api/deployments/index.d.ts +0 -5
- package/lib/api/deployments/index.js +0 -22
- package/lib/api/environment/environment-access.d.ts +0 -140
- package/lib/api/environment/environment-access.js +0 -202
- package/lib/api/environment/environment-resources.d.ts +0 -75
- package/lib/api/environment/environment-resources.js +0 -207
- package/lib/api/environment/index.d.ts +0 -3
- package/lib/api/environment/index.js +0 -20
- package/lib/api/environment/placeholders.d.ts +0 -10
- package/lib/api/environment/placeholders.js +0 -23
- package/lib/api/garbage-collection/garbage-collector.d.ts +0 -158
- package/lib/api/garbage-collection/garbage-collector.js +0 -599
- package/lib/api/garbage-collection/index.d.ts +0 -1
- package/lib/api/garbage-collection/progress-printer.d.ts +0 -23
- package/lib/api/garbage-collection/progress-printer.js +0 -70
- package/lib/api/garbage-collection/stack-refresh.d.ts +0 -49
- package/lib/api/garbage-collection/stack-refresh.js +0 -151
- package/lib/api/hotswap/appsync-mapping-templates.d.ts +0 -4
- package/lib/api/hotswap/appsync-mapping-templates.js +0 -162
- package/lib/api/hotswap/code-build-projects.d.ts +0 -4
- package/lib/api/hotswap/code-build-projects.js +0 -62
- package/lib/api/hotswap/common.d.ts +0 -89
- package/lib/api/hotswap/common.js +0 -128
- package/lib/api/hotswap/ecs-services.d.ts +0 -4
- package/lib/api/hotswap/ecs-services.js +0 -159
- package/lib/api/hotswap/lambda-functions.d.ts +0 -4
- package/lib/api/hotswap/lambda-functions.js +0 -297
- package/lib/api/hotswap/s3-bucket-deployments.d.ts +0 -5
- package/lib/api/hotswap/s3-bucket-deployments.js +0 -117
- package/lib/api/hotswap/stepfunctions-state-machines.d.ts +0 -4
- package/lib/api/hotswap/stepfunctions-state-machines.js +0 -48
- package/lib/api/logs/find-cloudwatch-logs.d.ts +0 -25
- package/lib/api/logs/find-cloudwatch-logs.js +0 -95
- package/lib/api/logs/index.d.ts +0 -2
- package/lib/api/logs/logs-monitor.d.ts +0 -76
- package/lib/api/logs/logs-monitor.js +0 -187
- package/lib/api/plugin/context-provider-plugin.d.ts +0 -6
- package/lib/api/plugin/context-provider-plugin.js +0 -7
- package/lib/api/plugin/index.d.ts +0 -3
- package/lib/api/plugin/index.js +0 -20
- package/lib/api/plugin/mode.d.ts +0 -4
- package/lib/api/plugin/mode.js +0 -9
- package/lib/api/plugin/plugin.d.ts +0 -63
- package/lib/api/plugin/plugin.js +0 -102
- package/lib/api/resource-import/importer.d.ts +0 -215
- package/lib/api/resource-import/importer.js +0 -322
- package/lib/api/resource-import/index.d.ts +0 -2
- package/lib/api/resource-import/migrator.d.ts +0 -26
- package/lib/api/resource-import/migrator.js +0 -71
- package/lib/api/stack-events/index.d.ts +0 -3
- package/lib/api/stack-events/index.js +0 -20
- package/lib/api/stack-events/stack-activity-monitor.d.ts +0 -100
- package/lib/api/stack-events/stack-activity-monitor.js +0 -142
- package/lib/api/stack-events/stack-event-poller.d.ts +0 -69
- package/lib/api/stack-events/stack-event-poller.js +0 -128
- package/lib/api/stack-events/stack-progress-monitor.d.ts +0 -48
- package/lib/api/stack-events/stack-progress-monitor.js +0 -94
- package/lib/api/stack-events/stack-status.d.ts +0 -42
- package/lib/api/stack-events/stack-status.js +0 -88
- package/lib/api/util/rwlock.d.ts +0 -65
- package/lib/api/util/rwlock.js +0 -179
- package/lib/api/work-graph/index.d.ts +0 -3
- package/lib/api/work-graph/index.js +0 -20
- package/lib/api/work-graph/work-graph-builder.d.ts +0 -34
- package/lib/api/work-graph/work-graph-builder.js +0 -168
- package/lib/api/work-graph/work-graph-types.d.ts +0 -50
- package/lib/api/work-graph/work-graph-types.js +0 -13
- package/lib/api/work-graph/work-graph.d.ts +0 -72
- package/lib/api/work-graph/work-graph.js +0 -346
- package/lib/cli/activity-printer/base.d.ts +0 -50
- package/lib/cli/activity-printer/base.js +0 -114
- package/lib/cli/activity-printer/current.d.ts +0 -26
- package/lib/cli/activity-printer/current.js +0 -118
- package/lib/cli/activity-printer/display.d.ts +0 -13
- package/lib/cli/activity-printer/display.js +0 -80
- package/lib/cli/activity-printer/history.d.ts +0 -32
- package/lib/cli/activity-printer/history.js +0 -108
- package/lib/cli/activity-printer/index.d.ts +0 -3
- package/lib/cli/activity-printer/index.js +0 -20
- package/lib/notices.d.ts +0 -203
- package/lib/notices.js +0 -411
|
@@ -1,129 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const cxschema = require("@aws-cdk/cloud-assembly-schema");
|
|
8
|
-
const cxapi = require("@aws-cdk/cx-api");
|
|
9
|
-
const ami_1 = require("./ami");
|
|
10
|
-
const availability_zones_1 = require("./availability-zones");
|
|
11
|
-
const cc_api_provider_1 = require("./cc-api-provider");
|
|
12
|
-
const endpoint_service_availability_zones_1 = require("./endpoint-service-availability-zones");
|
|
13
|
-
const hosted_zones_1 = require("./hosted-zones");
|
|
14
|
-
const keys_1 = require("./keys");
|
|
15
|
-
const load_balancers_1 = require("./load-balancers");
|
|
16
|
-
const security_groups_1 = require("./security-groups");
|
|
17
|
-
const ssm_parameters_1 = require("./ssm-parameters");
|
|
18
|
-
const vpcs_1 = require("./vpcs");
|
|
19
|
-
const api_1 = require("../../../@aws-cdk/tmp-toolkit-helpers/src/api");
|
|
20
|
-
const private_1 = require("../../../@aws-cdk/tmp-toolkit-helpers/src/api/io/private");
|
|
21
|
-
const context_1 = require("../api/context");
|
|
22
|
-
const environment_1 = require("../api/environment");
|
|
23
|
-
const plugin_1 = require("../api/plugin");
|
|
24
|
-
const io_host_1 = require("../cli/io-host");
|
|
25
|
-
const util_1 = require("../util");
|
|
26
|
-
const PLUGIN_PROVIDER_PREFIX = 'plugin';
|
|
27
|
-
class ContextProviderMessages {
|
|
28
|
-
constructor(ioHelper, providerName) {
|
|
29
|
-
this.ioHelper = ioHelper;
|
|
30
|
-
this.providerName = providerName;
|
|
31
|
-
}
|
|
32
|
-
async info(message) {
|
|
33
|
-
return this.ioHelper.notify(private_1.IO.CDK_ASSEMBLY_I0300.msg(message, {
|
|
34
|
-
provider: this.providerName,
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
async debug(message) {
|
|
38
|
-
return this.ioHelper.notify(private_1.IO.CDK_ASSEMBLY_I0301.msg(message, {
|
|
39
|
-
provider: this.providerName,
|
|
40
|
-
}));
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
41
7
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const providerName = missingContext.provider === cxschema.ContextProvider.PLUGIN
|
|
50
|
-
? `${PLUGIN_PROVIDER_PREFIX}:${missingContext.props.pluginName}`
|
|
51
|
-
: missingContext.provider;
|
|
52
|
-
let factory;
|
|
53
|
-
if (providerName.startsWith(`${PLUGIN_PROVIDER_PREFIX}:`)) {
|
|
54
|
-
const plugin = plugin_1.PluginHost.instance.contextProviderPlugins[providerName.substring(PLUGIN_PROVIDER_PREFIX.length + 1)];
|
|
55
|
-
if (!plugin) {
|
|
56
|
-
// eslint-disable-next-line max-len
|
|
57
|
-
throw new api_1.ContextProviderError(`Unrecognized plugin context provider name: ${missingContext.provider}.`);
|
|
58
|
-
}
|
|
59
|
-
factory = () => plugin;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
factory = availableContextProviders[providerName];
|
|
63
|
-
if (!factory) {
|
|
64
|
-
// eslint-disable-next-line max-len
|
|
65
|
-
throw new api_1.ContextProviderError(`Unrecognized context provider name: ${missingContext.provider}. You might need to update the toolkit to match the version of the construct library.`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
ioHelper = ioHelper ?? io_host_1.CliIoHost.instance().asIoHelper();
|
|
69
|
-
const provider = factory(sdk, new ContextProviderMessages(ioHelper, providerName));
|
|
70
|
-
let value;
|
|
71
|
-
try {
|
|
72
|
-
const environment = missingContext.props.account && missingContext.props.region
|
|
73
|
-
? cxapi.EnvironmentUtils.make(missingContext.props.account, missingContext.props.region)
|
|
74
|
-
: undefined;
|
|
75
|
-
const resolvedEnvironment = environment
|
|
76
|
-
? await sdk.resolveEnvironment(environment)
|
|
77
|
-
: { account: '?', region: '?', name: '?' };
|
|
78
|
-
const arns = await (0, environment_1.replaceEnvPlaceholders)({
|
|
79
|
-
lookupRoleArn: missingContext.props.lookupRoleArn,
|
|
80
|
-
}, resolvedEnvironment, sdk);
|
|
81
|
-
value = await provider.getValue({ ...missingContext.props, lookupRoleArn: arns.lookupRoleArn });
|
|
82
|
-
}
|
|
83
|
-
catch (e) {
|
|
84
|
-
// Set a specially formatted provider value which will be interpreted
|
|
85
|
-
// as a lookup failure in the toolkit.
|
|
86
|
-
value = { [cxapi.PROVIDER_ERROR_KEY]: (0, util_1.formatErrorMessage)(e), [context_1.TRANSIENT_CONTEXT_KEY]: true };
|
|
87
|
-
}
|
|
88
|
-
context.set(key, value);
|
|
89
|
-
await ioHelper.notify(private_1.IO.DEFAULT_ASSEMBLY_DEBUG.msg(`Setting "${key}" context to ${JSON.stringify(value)}`));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Register a context provider
|
|
94
|
-
*
|
|
95
|
-
* A context provider cannot reuse the SDKs authentication mechanisms.
|
|
96
|
-
*/
|
|
97
|
-
function registerContextProvider(name, provider) {
|
|
98
|
-
availableContextProviders[name] = () => provider;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Register a plugin context provider
|
|
102
|
-
*
|
|
103
|
-
* A plugin provider cannot reuse the SDKs authentication mechanisms.
|
|
104
|
-
*/
|
|
105
|
-
function registerPluginContextProvider(name, provider) {
|
|
106
|
-
registerContextProvider(`${PLUGIN_PROVIDER_PREFIX}:${name}`, provider);
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Register a context provider factory
|
|
110
|
-
*
|
|
111
|
-
* A context provider factory takes an SdkProvider and returns the context provider plugin.
|
|
112
|
-
*/
|
|
113
|
-
function registerContextProviderFactory(name, provider) {
|
|
114
|
-
availableContextProviders[name] = provider;
|
|
115
|
-
}
|
|
116
|
-
const availableContextProviders = {
|
|
117
|
-
[cxschema.ContextProvider.AVAILABILITY_ZONE_PROVIDER]: (s, io) => new availability_zones_1.AZContextProviderPlugin(s, io),
|
|
118
|
-
[cxschema.ContextProvider.SSM_PARAMETER_PROVIDER]: (s, io) => new ssm_parameters_1.SSMContextProviderPlugin(s, io),
|
|
119
|
-
[cxschema.ContextProvider.HOSTED_ZONE_PROVIDER]: (s, io) => new hosted_zones_1.HostedZoneContextProviderPlugin(s, io),
|
|
120
|
-
[cxschema.ContextProvider.VPC_PROVIDER]: (s, io) => new vpcs_1.VpcNetworkContextProviderPlugin(s, io),
|
|
121
|
-
[cxschema.ContextProvider.AMI_PROVIDER]: (s, io) => new ami_1.AmiContextProviderPlugin(s, io),
|
|
122
|
-
[cxschema.ContextProvider.ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER]: (s, io) => new endpoint_service_availability_zones_1.EndpointServiceAZContextProviderPlugin(s, io),
|
|
123
|
-
[cxschema.ContextProvider.SECURITY_GROUP_PROVIDER]: (s) => new security_groups_1.SecurityGroupContextProviderPlugin(s),
|
|
124
|
-
[cxschema.ContextProvider.LOAD_BALANCER_PROVIDER]: (s) => new load_balancers_1.LoadBalancerContextProviderPlugin(s),
|
|
125
|
-
[cxschema.ContextProvider.LOAD_BALANCER_LISTENER_PROVIDER]: (s) => new load_balancers_1.LoadBalancerListenerContextProviderPlugin(s),
|
|
126
|
-
[cxschema.ContextProvider.KEY_PROVIDER]: (s, io) => new keys_1.KeyContextProviderPlugin(s, io),
|
|
127
|
-
[cxschema.ContextProvider.CC_API_PROVIDER]: (s) => new cc_api_provider_1.CcApiContextProviderPlugin(s),
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
128
15
|
};
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXVFQSxvREF1REM7QUFPRCwwREFFQztBQU9ELHNFQUVDO0FBT0Qsd0VBRUM7QUF6SkQsMkRBQTJEO0FBQzNELHlDQUF5QztBQUN6QywrQkFBaUQ7QUFDakQsNkRBQStEO0FBQy9ELHVEQUErRDtBQUMvRCwrRkFBK0Y7QUFDL0YsaURBQWlFO0FBQ2pFLGlDQUFrRDtBQUNsRCxxREFBZ0g7QUFDaEgsdURBQXVFO0FBQ3ZFLHFEQUE0RDtBQUM1RCxpQ0FBeUQ7QUFDekQsdUVBQXFGO0FBRXJGLHNGQUE4RTtBQUc5RSw0Q0FBdUQ7QUFDdkQsb0RBQTREO0FBQzVELDBDQUEyQztBQUUzQyw0Q0FBMkM7QUFDM0Msa0NBQTZDO0FBSzdDLE1BQU0sc0JBQXNCLEdBQUcsUUFBUSxDQUFDO0FBbUJ4QyxNQUFNLHVCQUF1QjtJQUkzQixZQUFtQixRQUFrQixFQUFFLFlBQW9CO1FBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQWU7UUFDL0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRTtZQUM3RCxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFlO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUU7WUFDN0QsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FB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QUFDO0lBQ3ZGLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSw0Q0FBMEIsQ0FBQyxDQUFDLENBQUM7Q0FDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0IHsgQW1pQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9hbWknO1xuaW1wb3J0IHsgQVpDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL2F2YWlsYWJpbGl0eS16b25lcyc7XG5pbXBvcnQgeyBDY0FwaUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vY2MtYXBpLXByb3ZpZGVyJztcbmltcG9ydCB7IEVuZHBvaW50U2VydmljZUFaQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9lbmRwb2ludC1zZXJ2aWNlLWF2YWlsYWJpbGl0eS16b25lcyc7XG5pbXBvcnQgeyBIb3N0ZWRab25lQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9ob3N0ZWQtem9uZXMnO1xuaW1wb3J0IHsgS2V5Q29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9rZXlzJztcbmltcG9ydCB7IExvYWRCYWxhbmNlckNvbnRleHRQcm92aWRlclBsdWdpbiwgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL2xvYWQtYmFsYW5jZXJzJztcbmltcG9ydCB7IFNlY3VyaXR5R3JvdXBDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL3NlY3VyaXR5LWdyb3Vwcyc7XG5pbXBvcnQgeyBTU01Db250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL3NzbS1wYXJhbWV0ZXJzJztcbmltcG9ydCB7IFZwY05ldHdvcmtDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL3ZwY3MnO1xuaW1wb3J0IHsgQ29udGV4dFByb3ZpZGVyRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9AYXdzLWNkay90bXAtdG9vbGtpdC1oZWxwZXJzL3NyYy9hcGknO1xuaW1wb3J0IHR5cGUgeyBJb0hlbHBlciB9IGZyb20gJy4uLy4uLy4uL0Bhd3MtY2RrL3RtcC10b29sa2l0LWhlbHBlcnMvc3JjL2FwaS9pby9wcml2YXRlJztcbmltcG9ydCB7IElPIH0gZnJvbSAnLi4vLi4vLi4vQGF3cy1jZGsvdG1wLXRvb2xraXQtaGVscGVycy9zcmMvYXBpL2lvL3ByaXZhdGUnO1xuaW1wb3J0IHR5cGUgeyBTZGtQcm92aWRlciB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgdHlwZSB7IENvbnRleHQgfSBmcm9tICcuLi9hcGkvY29udGV4dCc7XG5pbXBvcnQgeyBUUkFOU0lFTlRfQ09OVEVYVF9LRVkgfSBmcm9tICcuLi9hcGkvY29udGV4dCc7XG5pbXBvcnQgeyByZXBsYWNlRW52UGxhY2Vob2xkZXJzIH0gZnJvbSAnLi4vYXBpL2Vudmlyb25tZW50JztcbmltcG9ydCB7IFBsdWdpbkhvc3QgfSBmcm9tICcuLi9hcGkvcGx1Z2luJztcbmltcG9ydCB0eXBlIHsgQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi4vYXBpL3BsdWdpbi9jb250ZXh0LXByb3ZpZGVyLXBsdWdpbic7XG5pbXBvcnQgeyBDbGlJb0hvc3QgfSBmcm9tICcuLi9jbGkvaW8taG9zdCc7XG5pbXBvcnQgeyBmb3JtYXRFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi91dGlsJztcblxudHlwZSBDb250ZXh0UHJvdmlkZXJGYWN0b3J5ID0gKChzZGs6IFNka1Byb3ZpZGVyLCBpbzogSUNvbnRleHRQcm92aWRlck1lc3NhZ2VzKSA9PiBDb250ZXh0UHJvdmlkZXJQbHVnaW4pO1xudHlwZSBQcm92aWRlck1hcCA9IHtbbmFtZTogc3RyaW5nXTogQ29udGV4dFByb3ZpZGVyRmFjdG9yeX07XG5cbmNvbnN0IFBMVUdJTl9QUk9WSURFUl9QUkVGSVggPSAncGx1Z2luJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ29udGV4dFByb3ZpZGVyTWVzc2FnZXMge1xuICAvKipcbiAgICogQSBtZXNzYWdlIHRoYXQgaXMgcHJlc2VudGVkIHRvIHVzZXJzIGluIG5vcm1hbCBtb2RlIG9mIG9wZXJhdGlvbi5cbiAgICpcbiAgICogU2hvdWxkIGJlIHVzZWQgc3BhcmluZ2x5LiBUaGUgQ29udGV4dCBQcm92aWRlciBmcmFtZXdvcmsgYWxyZWFkeSBwcm92aWRlcyB1c2VmdWwgb3V0cHV0IGJ5IGRlZmF1bHQuXG4gICAqIFRoaXMgY2FuIGJlIHVzZXMgaW4gZXhjZXB0aW9uYWxseSBzaXR1YXRpb25zLCBlLmcuIGlmIGEgbG9va3VwIGNhbGwgaXMgZXhwZWN0ZWQgdG8gdGFrZSBhIGxvbmcgdGltZS5cbiAgICovXG4gIGluZm8obWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQSBtZXNzYWdlIHRoYXQgaGVscHMgdXNlcnMgZGVidWdnaW5nIHRoZSBjb250ZXh0IHByb3ZpZGVyLlxuICAgKlxuICAgKiBTaG91bGQgYmUgdXNlZCBpbiBtb3N0IGNhc2VzIHRvIG5vdGUgb24gY3VycmVudCBhY3Rpb24uXG4gICAqL1xuICBkZWJ1ZyhtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG5jbGFzcyBDb250ZXh0UHJvdmlkZXJNZXNzYWdlcyBpbXBsZW1lbnRzIElDb250ZXh0UHJvdmlkZXJNZXNzYWdlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW9IZWxwZXI6IElvSGVscGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IHByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihpb0hlbHBlcjogSW9IZWxwZXIsIHByb3ZpZGVyTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pb0hlbHBlciA9IGlvSGVscGVyO1xuICAgIHRoaXMucHJvdmlkZXJOYW1lID0gcHJvdmlkZXJOYW1lO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluZm8obWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaW9IZWxwZXIubm90aWZ5KElPLkNES19BU1NFTUJMWV9JMDMwMC5tc2cobWVzc2FnZSwge1xuICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXJOYW1lLFxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZWJ1ZyhtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5pb0hlbHBlci5ub3RpZnkoSU8uQ0RLX0FTU0VNQkxZX0kwMzAxLm1zZyhtZXNzYWdlLCB7XG4gICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlck5hbWUsXG4gICAgfSkpO1xuICB9XG59XG5cbi8qKlxuICogSXRlcmF0ZSBvdmVyIHRoZSBsaXN0IG9mIG1pc3NpbmcgY29udGV4dCB2YWx1ZXMgYW5kIGludm9rZSB0aGUgYXBwcm9wcmlhdGUgcHJvdmlkZXJzIGZyb20gdGhlIG1hcCB0byByZXRyaWV2ZSB0aGVtXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm92aWRlQ29udGV4dFZhbHVlcyhcbiAgbWlzc2luZ1ZhbHVlczogY3hzY2hlbWEuTWlzc2luZ0NvbnRleHRbXSxcbiAgY29udGV4dDogQ29udGV4dCxcbiAgc2RrOiBTZGtQcm92aWRlcixcbiAgaW9IZWxwZXI6IElvSGVscGVyLFxuKSB7XG4gIGZvciAoY29uc3QgbWlzc2luZ0NvbnRleHQgb2YgbWlzc2luZ1ZhbHVlcykge1xuICAgIGNvbnN0IGtleSA9IG1pc3NpbmdDb250ZXh0LmtleTtcblxuICAgIGNvbnN0IHByb3ZpZGVyTmFtZSA9IG1pc3NpbmdDb250ZXh0LnByb3ZpZGVyID09PSBjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuUExVR0lOXG4gICAgICA/IGAke1BMVUdJTl9QUk9WSURFUl9QUkVGSVh9OiR7KG1pc3NpbmdDb250ZXh0LnByb3BzIGFzIGN4c2NoZW1hLlBsdWdpbkNvbnRleHRRdWVyeSkucGx1Z2luTmFtZX1gXG4gICAgICA6IG1pc3NpbmdDb250ZXh0LnByb3ZpZGVyO1xuXG4gICAgbGV0IGZhY3Rvcnk7XG4gICAgaWYgKHByb3ZpZGVyTmFtZS5zdGFydHNXaXRoKGAke1BMVUdJTl9QUk9WSURFUl9QUkVGSVh9OmApKSB7XG4gICAgICBjb25zdCBwbHVnaW4gPSBQbHVnaW5Ib3N0Lmluc3RhbmNlLmNvbnRleHRQcm92aWRlclBsdWdpbnNbcHJvdmlkZXJOYW1lLnN1YnN0cmluZyhQTFVHSU5fUFJPVklERVJfUFJFRklYLmxlbmd0aCArIDEpXTtcbiAgICAgIGlmICghcGx1Z2luKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgVW5yZWNvZ25pemVkIHBsdWdpbiBjb250ZXh0IHByb3ZpZGVyIG5hbWU6ICR7bWlzc2luZ0NvbnRleHQucHJvdmlkZXJ9LmApO1xuICAgICAgfVxuICAgICAgZmFjdG9yeSA9ICgpID0+IHBsdWdpbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZmFjdG9yeSA9IGF2YWlsYWJsZUNvbnRleHRQcm92aWRlcnNbcHJvdmlkZXJOYW1lXTtcbiAgICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYFVucmVjb2duaXplZCBjb250ZXh0IHByb3ZpZGVyIG5hbWU6ICR7bWlzc2luZ0NvbnRleHQucHJvdmlkZXJ9LiBZb3UgbWlnaHQgbmVlZCB0byB1cGRhdGUgdGhlIHRvb2xraXQgdG8gbWF0Y2ggdGhlIHZlcnNpb24gb2YgdGhlIGNvbnN0cnVjdCBsaWJyYXJ5LmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlvSGVscGVyID0gaW9IZWxwZXIgPz8gQ2xpSW9Ib3N0Lmluc3RhbmNlKCkuYXNJb0hlbHBlcigpO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gZmFjdG9yeShzZGssIG5ldyBDb250ZXh0UHJvdmlkZXJNZXNzYWdlcyhpb0hlbHBlciwgcHJvdmlkZXJOYW1lKSk7XG5cbiAgICBsZXQgdmFsdWU7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVudmlyb25tZW50ID0gbWlzc2luZ0NvbnRleHQucHJvcHMuYWNjb3VudCAmJiBtaXNzaW5nQ29udGV4dC5wcm9wcy5yZWdpb25cbiAgICAgICAgPyBjeGFwaS5FbnZpcm9ubWVudFV0aWxzLm1ha2UobWlzc2luZ0NvbnRleHQucHJvcHMuYWNjb3VudCwgbWlzc2luZ0NvbnRleHQucHJvcHMucmVnaW9uKVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgY29uc3QgcmVzb2x2ZWRFbnZpcm9ubWVudDogY3hhcGkuRW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudFxuICAgICAgICA/IGF3YWl0IHNkay5yZXNvbHZlRW52aXJvbm1lbnQoZW52aXJvbm1lbnQpXG4gICAgICAgIDogeyBhY2NvdW50OiAnPycsIHJlZ2lvbjogJz8nLCBuYW1lOiAnPycgfTtcblxuICAgICAgY29uc3QgYXJucyA9IGF3YWl0IHJlcGxhY2VFbnZQbGFjZWhvbGRlcnMoe1xuICAgICAgICBsb29rdXBSb2xlQXJuOiBtaXNzaW5nQ29udGV4dC5wcm9wcy5sb29rdXBSb2xlQXJuLFxuICAgICAgfSwgcmVzb2x2ZWRFbnZpcm9ubWVudCwgc2RrKTtcblxuICAgICAgdmFsdWUgPSBhd2FpdCBwcm92aWRlci5nZXRWYWx1ZSh7IC4uLm1pc3NpbmdDb250ZXh0LnByb3BzLCBsb29rdXBSb2xlQXJuOiBhcm5zLmxvb2t1cFJvbGVBcm4gfSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAvLyBTZXQgYSBzcGVjaWFsbHkgZm9ybWF0dGVkIHByb3ZpZGVyIHZhbHVlIHdoaWNoIHdpbGwgYmUgaW50ZXJwcmV0ZWRcbiAgICAgIC8vIGFzIGEgbG9va3VwIGZhaWx1cmUgaW4gdGhlIHRvb2xraXQuXG4gICAgICB2YWx1ZSA9IHsgW2N4YXBpLlBST1ZJREVSX0VSUk9SX0tFWV06IGZvcm1hdEVycm9yTWVzc2FnZShlKSwgW1RSQU5TSUVOVF9DT05URVhUX0tFWV06IHRydWUgfTtcbiAgICB9XG4gICAgY29udGV4dC5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgYXdhaXQgaW9IZWxwZXIubm90aWZ5KElPLkRFRkFVTFRfQVNTRU1CTFlfREVCVUcubXNnKGBTZXR0aW5nIFwiJHtrZXl9XCIgY29udGV4dCB0byAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1gKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBBIGNvbnRleHQgcHJvdmlkZXIgY2Fubm90IHJldXNlIHRoZSBTREtzIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRleHRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHByb3ZpZGVyOiBDb250ZXh0UHJvdmlkZXJQbHVnaW4pIHtcbiAgYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyc1tuYW1lXSA9ICgpID0+IHByb3ZpZGVyO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgcGx1Z2luIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBBIHBsdWdpbiBwcm92aWRlciBjYW5ub3QgcmV1c2UgdGhlIFNES3MgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUGx1Z2luQ29udGV4dFByb3ZpZGVyKG5hbWU6IHN0cmluZywgcHJvdmlkZXI6IENvbnRleHRQcm92aWRlclBsdWdpbikge1xuICByZWdpc3RlckNvbnRleHRQcm92aWRlcihgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfToke25hbWV9YCwgcHJvdmlkZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgY29udGV4dCBwcm92aWRlciBmYWN0b3J5XG4gKlxuICogQSBjb250ZXh0IHByb3ZpZGVyIGZhY3RvcnkgdGFrZXMgYW4gU2RrUHJvdmlkZXIgYW5kIHJldHVybnMgdGhlIGNvbnRleHQgcHJvdmlkZXIgcGx1Z2luLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJDb250ZXh0UHJvdmlkZXJGYWN0b3J5KG5hbWU6IHN0cmluZywgcHJvdmlkZXI6IENvbnRleHRQcm92aWRlckZhY3RvcnkpIHtcbiAgYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyc1tuYW1lXSA9IHByb3ZpZGVyO1xufVxuXG5jb25zdCBhdmFpbGFibGVDb250ZXh0UHJvdmlkZXJzOiBQcm92aWRlck1hcCA9IHtcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5BVkFJTEFCSUxJVFlfWk9ORV9QUk9WSURFUl06IChzLCBpbykgPT4gbmV3IEFaQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMsIGlvKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5TU01fUEFSQU1FVEVSX1BST1ZJREVSXTogKHMsIGlvKSA9PiBuZXcgU1NNQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMsIGlvKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5IT1NURURfWk9ORV9QUk9WSURFUl06IChzLCBpbykgPT4gbmV3IEhvc3RlZFpvbmVDb250ZXh0UHJvdmlkZXJQbHVnaW4ocywgaW8pLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLlZQQ19QUk9WSURFUl06IChzLCBpbykgPT4gbmV3IFZwY05ldHdvcmtDb250ZXh0UHJvdmlkZXJQbHVnaW4ocywgaW8pLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLkFNSV9QUk9WSURFUl06IChzLCBpbykgPT4gbmV3IEFtaUNvbnRleHRQcm92aWRlclBsdWdpbihzLCBpbyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuRU5EUE9JTlRfU0VSVklDRV9BVkFJTEFCSUxJVFlfWk9ORV9QUk9WSURFUl06IChzLCBpbykgPT4gbmV3IEVuZHBvaW50U2VydmljZUFaQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMsIGlvKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5TRUNVUklUWV9HUk9VUF9QUk9WSURFUl06IChzKSA9PiBuZXcgU2VjdXJpdHlHcm91cENvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5MT0FEX0JBTEFOQ0VSX1BST1ZJREVSXTogKHMpID0+IG5ldyBMb2FkQmFsYW5jZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuTE9BRF9CQUxBTkNFUl9MSVNURU5FUl9QUk9WSURFUl06IChzKSA9PiBuZXcgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuS0VZX1BST1ZJREVSXTogKHMsIGlvKSA9PiBuZXcgS2V5Q29udGV4dFByb3ZpZGVyUGx1Z2luKHMsIGlvKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5DQ19BUElfUFJPVklERVJdOiAocykgPT4gbmV3IENjQXBpQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxufTtcbiJdfQ==
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("../../../@aws-cdk/tmp-toolkit-helpers/src/context-providers"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOEZBQTRFIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi4vLi4vLi4vQGF3cy1jZGsvdG1wLXRvb2xraXQtaGVscGVycy9zcmMvY29udGV4dC1wcm92aWRlcnMnO1xuIl19
|
|
@@ -1,13 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import type { KeyContextResponse } from '@aws-cdk/cx-api';
|
|
3
|
-
import type { IContextProviderMessages } from '.';
|
|
4
|
-
import { type SdkProvider } from '../api/aws-auth/sdk-provider';
|
|
5
|
-
import type { ContextProviderPlugin } from '../api/plugin';
|
|
6
|
-
export declare class KeyContextProviderPlugin implements ContextProviderPlugin {
|
|
7
|
-
private readonly aws;
|
|
8
|
-
private readonly io;
|
|
9
|
-
constructor(aws: SdkProvider, io: IContextProviderMessages);
|
|
10
|
-
getValue(args: KeyContextQuery): Promise<KeyContextResponse>;
|
|
11
|
-
private findKey;
|
|
12
|
-
private readKeyProps;
|
|
13
|
-
}
|
|
1
|
+
export * from '../../../@aws-cdk/tmp-toolkit-helpers/src/context-providers/keys';
|
|
@@ -1,52 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(aws, io) {
|
|
8
|
-
this.aws = aws;
|
|
9
|
-
this.io = io;
|
|
10
|
-
}
|
|
11
|
-
async getValue(args) {
|
|
12
|
-
const kms = (await (0, sdk_provider_1.initContextProviderSdk)(this.aws, args)).kms();
|
|
13
|
-
const aliasListEntry = await this.findKey(kms, args);
|
|
14
|
-
return this.readKeyProps(aliasListEntry, args);
|
|
15
|
-
}
|
|
16
|
-
// TODO: use paginator function
|
|
17
|
-
async findKey(kms, args) {
|
|
18
|
-
await this.io.debug(`Listing keys in ${args.account}:${args.region}`);
|
|
19
|
-
let response;
|
|
20
|
-
let nextMarker;
|
|
21
|
-
do {
|
|
22
|
-
response = await kms.listAliases({
|
|
23
|
-
Marker: nextMarker,
|
|
24
|
-
});
|
|
25
|
-
const aliases = response.Aliases || [];
|
|
26
|
-
for (const alias of aliases) {
|
|
27
|
-
if (alias.AliasName == args.aliasName) {
|
|
28
|
-
return alias;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
nextMarker = response.NextMarker;
|
|
32
|
-
} while (nextMarker);
|
|
33
|
-
const suppressError = 'ignoreErrorOnMissingContext' in args && args.ignoreErrorOnMissingContext;
|
|
34
|
-
const hasDummyKeyId = 'dummyValue' in args && typeof args.dummyValue === 'object' && args.dummyValue !== null && 'keyId' in args.dummyValue;
|
|
35
|
-
if (suppressError && hasDummyKeyId) {
|
|
36
|
-
const keyId = args.dummyValue.keyId;
|
|
37
|
-
return { TargetKeyId: keyId };
|
|
38
|
-
}
|
|
39
|
-
throw new api_1.ContextProviderError(`Could not find any key with alias named ${args.aliasName}`);
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
40
7
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsdUVBQXFGO0FBRXJGLCtEQUF3RjtBQUd4RixNQUFhLHdCQUF3QjtJQUNuQyxZQUE2QixHQUFnQixFQUFtQixFQUE0QjtRQUEvRCxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQTBCO0lBQzVGLENBQUM7SUFFTSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQXFCO1FBQ3pDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFBLHFDQUFzQixFQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVqRSxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELCtCQUErQjtJQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQWUsRUFBRSxJQUFxQjtRQUMxRCxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLG1CQUFtQixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXRFLElBQUksUUFBa0MsQ0FBQztRQUN2QyxJQUFJLFVBQThCLENBQUM7UUFDbkMsR0FBRyxDQUFDO1lBQ0YsUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLFdBQVcsQ0FBQztnQkFDL0IsTUFBTSxFQUFFLFVBQVU7YUFDbkIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDdkMsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDdEMsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztZQUNILENBQUM7WUFFRCxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxDQUFDLFFBQVEsVUFBVSxFQUFFO1FBRXJCLE1BQU0sYUFBYSxHQUFHLDZCQUE2QixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsMkJBQXNDLENBQUM7UUFDM0csTUFBTSxhQUFhLEdBQUcsWUFBWSxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzVJLElBQUksYUFBYSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFJLElBQUksQ0FBQyxVQUFnQyxDQUFDLEtBQUssQ0FBQztZQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxNQUFNLElBQUksMEJBQW9CLENBQUMsMkNBQTJDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQXFCLEVBQUUsSUFBcUI7UUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksMEJBQW9CLENBQUMsMkNBQTJDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzlGLENBQUM7UUFFRCxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFdEQsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVztTQUN6QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBckRELDREQXFEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgS2V5Q29udGV4dFF1ZXJ5IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB0eXBlIHsgS2V5Q29udGV4dFJlc3BvbnNlIH0gZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB0eXBlIHsgQWxpYXNMaXN0RW50cnksIExpc3RBbGlhc2VzQ29tbWFuZE91dHB1dCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1rbXMnO1xuaW1wb3J0IHR5cGUgeyBJQ29udGV4dFByb3ZpZGVyTWVzc2FnZXMgfSBmcm9tICcuJztcbmltcG9ydCB7IENvbnRleHRQcm92aWRlckVycm9yIH0gZnJvbSAnLi4vLi4vLi4vQGF3cy1jZGsvdG1wLXRvb2xraXQtaGVscGVycy9zcmMvYXBpJztcbmltcG9ydCB0eXBlIHsgSUtNU0NsaWVudCB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyB0eXBlIFNka1Byb3ZpZGVyLCBpbml0Q29udGV4dFByb3ZpZGVyU2RrIH0gZnJvbSAnLi4vYXBpL2F3cy1hdXRoL3Nkay1wcm92aWRlcic7XG5pbXBvcnQgdHlwZSB7IENvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4uL2FwaS9wbHVnaW4nO1xuXG5leHBvcnQgY2xhc3MgS2V5Q29udGV4dFByb3ZpZGVyUGx1Z2luIGltcGxlbWVudHMgQ29udGV4dFByb3ZpZGVyUGx1Z2luIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhd3M6IFNka1Byb3ZpZGVyLCBwcml2YXRlIHJlYWRvbmx5IGlvOiBJQ29udGV4dFByb3ZpZGVyTWVzc2FnZXMpIHtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRWYWx1ZShhcmdzOiBLZXlDb250ZXh0UXVlcnkpIHtcbiAgICBjb25zdCBrbXMgPSAoYXdhaXQgaW5pdENvbnRleHRQcm92aWRlclNkayh0aGlzLmF3cywgYXJncykpLmttcygpO1xuXG4gICAgY29uc3QgYWxpYXNMaXN0RW50cnkgPSBhd2FpdCB0aGlzLmZpbmRLZXkoa21zLCBhcmdzKTtcblxuICAgIHJldHVybiB0aGlzLnJlYWRLZXlQcm9wcyhhbGlhc0xpc3RFbnRyeSwgYXJncyk7XG4gIH1cblxuICAvLyBUT0RPOiB1c2UgcGFnaW5hdG9yIGZ1bmN0aW9uXG4gIHByaXZhdGUgYXN5bmMgZmluZEtleShrbXM6IElLTVNDbGllbnQsIGFyZ3M6IEtleUNvbnRleHRRdWVyeSk6IFByb21pc2U8QWxpYXNMaXN0RW50cnk+IHtcbiAgICBhd2FpdCB0aGlzLmlvLmRlYnVnKGBMaXN0aW5nIGtleXMgaW4gJHthcmdzLmFjY291bnR9OiR7YXJncy5yZWdpb259YCk7XG5cbiAgICBsZXQgcmVzcG9uc2U6IExpc3RBbGlhc2VzQ29tbWFuZE91dHB1dDtcbiAgICBsZXQgbmV4dE1hcmtlcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGRvIHtcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQga21zLmxpc3RBbGlhc2VzKHtcbiAgICAgICAgTWFya2VyOiBuZXh0TWFya2VyLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGFsaWFzZXMgPSByZXNwb25zZS5BbGlhc2VzIHx8IFtdO1xuICAgICAgZm9yIChjb25zdCBhbGlhcyBvZiBhbGlhc2VzKSB7XG4gICAgICAgIGlmIChhbGlhcy5BbGlhc05hbWUgPT0gYXJncy5hbGlhc05hbWUpIHtcbiAgICAgICAgICByZXR1cm4gYWxpYXM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbmV4dE1hcmtlciA9IHJlc3BvbnNlLk5leHRNYXJrZXI7XG4gICAgfSB3aGlsZSAobmV4dE1hcmtlcik7XG5cbiAgICBjb25zdCBzdXBwcmVzc0Vycm9yID0gJ2lnbm9yZUVycm9yT25NaXNzaW5nQ29udGV4dCcgaW4gYXJncyAmJiBhcmdzLmlnbm9yZUVycm9yT25NaXNzaW5nQ29udGV4dCBhcyBib29sZWFuO1xuICAgIGNvbnN0IGhhc0R1bW15S2V5SWQgPSAnZHVtbXlWYWx1ZScgaW4gYXJncyAmJiB0eXBlb2YgYXJncy5kdW1teVZhbHVlID09PSAnb2JqZWN0JyAmJiBhcmdzLmR1bW15VmFsdWUgIT09IG51bGwgJiYgJ2tleUlkJyBpbiBhcmdzLmR1bW15VmFsdWU7XG4gICAgaWYgKHN1cHByZXNzRXJyb3IgJiYgaGFzRHVtbXlLZXlJZCkge1xuICAgICAgY29uc3Qga2V5SWQgPSAoYXJncy5kdW1teVZhbHVlIGFzIHsga2V5SWQ6IHN0cmluZyB9KS5rZXlJZDtcbiAgICAgIHJldHVybiB7IFRhcmdldEtleUlkOiBrZXlJZCB9O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYENvdWxkIG5vdCBmaW5kIGFueSBrZXkgd2l0aCBhbGlhcyBuYW1lZCAke2FyZ3MuYWxpYXNOYW1lfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWFkS2V5UHJvcHMoYWxpYXM6IEFsaWFzTGlzdEVudHJ5LCBhcmdzOiBLZXlDb250ZXh0UXVlcnkpOiBQcm9taXNlPEtleUNvbnRleHRSZXNwb25zZT4ge1xuICAgIGlmICghYWxpYXMuVGFyZ2V0S2V5SWQpIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgQ291bGQgbm90IGZpbmQgYW55IGtleSB3aXRoIGFsaWFzIG5hbWVkICR7YXJncy5hbGlhc05hbWV9YCk7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5pby5kZWJ1ZyhgS2V5IGZvdW5kICR7YWxpYXMuVGFyZ2V0S2V5SWR9YCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAga2V5SWQ6IGFsaWFzLlRhcmdldEtleUlkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("../../../@aws-cdk/tmp-toolkit-helpers/src/context-providers/keys"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1HQUFpRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4uLy4uLy4uL0Bhd3MtY2RrL3RtcC10b29sa2l0LWhlbHBlcnMvc3JjL2NvbnRleHQtcHJvdmlkZXJzL2tleXMnO1xuIl19
|
|
@@ -1,20 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import type { LoadBalancerContextResponse, LoadBalancerListenerContextResponse } from '@aws-cdk/cx-api';
|
|
3
|
-
import { type SdkProvider } from '../api/aws-auth/sdk-provider';
|
|
4
|
-
import type { ContextProviderPlugin } from '../api/plugin';
|
|
5
|
-
/**
|
|
6
|
-
* Provides load balancer context information.
|
|
7
|
-
*/
|
|
8
|
-
export declare class LoadBalancerContextProviderPlugin implements ContextProviderPlugin {
|
|
9
|
-
private readonly aws;
|
|
10
|
-
constructor(aws: SdkProvider);
|
|
11
|
-
getValue(query: LoadBalancerContextQuery): Promise<LoadBalancerContextResponse>;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Provides load balancer listener context information
|
|
15
|
-
*/
|
|
16
|
-
export declare class LoadBalancerListenerContextProviderPlugin implements ContextProviderPlugin {
|
|
17
|
-
private readonly aws;
|
|
18
|
-
constructor(aws: SdkProvider);
|
|
19
|
-
getValue(query: LoadBalancerListenerContextQuery): Promise<LoadBalancerListenerContextResponse>;
|
|
20
|
-
}
|
|
1
|
+
export * from '../../../@aws-cdk/tmp-toolkit-helpers/src/context-providers/load-balancers';
|
|
@@ -1,156 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const api_1 = require("../../../@aws-cdk/tmp-toolkit-helpers/src/api");
|
|
6
|
-
const sdk_provider_1 = require("../api/aws-auth/sdk-provider");
|
|
7
|
-
/**
|
|
8
|
-
* Provides load balancer context information.
|
|
9
|
-
*/
|
|
10
|
-
class LoadBalancerContextProviderPlugin {
|
|
11
|
-
constructor(aws) {
|
|
12
|
-
this.aws = aws;
|
|
13
|
-
}
|
|
14
|
-
async getValue(query) {
|
|
15
|
-
if (!query.loadBalancerArn && !query.loadBalancerTags) {
|
|
16
|
-
throw new api_1.ContextProviderError('The load balancer lookup query must specify either `loadBalancerArn` or `loadBalancerTags`');
|
|
17
|
-
}
|
|
18
|
-
const loadBalancer = await (await LoadBalancerProvider.getClient(this.aws, query)).getLoadBalancer();
|
|
19
|
-
const ipAddressType = loadBalancer.IpAddressType === 'ipv4' ? cx_api_1.LoadBalancerIpAddressType.IPV4 : cx_api_1.LoadBalancerIpAddressType.DUAL_STACK;
|
|
20
|
-
return {
|
|
21
|
-
loadBalancerArn: loadBalancer.LoadBalancerArn,
|
|
22
|
-
loadBalancerCanonicalHostedZoneId: loadBalancer.CanonicalHostedZoneId,
|
|
23
|
-
loadBalancerDnsName: loadBalancer.DNSName,
|
|
24
|
-
vpcId: loadBalancer.VpcId,
|
|
25
|
-
securityGroupIds: loadBalancer.SecurityGroups ?? [],
|
|
26
|
-
ipAddressType: ipAddressType,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.LoadBalancerContextProviderPlugin = LoadBalancerContextProviderPlugin;
|
|
31
|
-
/**
|
|
32
|
-
* Provides load balancer listener context information
|
|
33
|
-
*/
|
|
34
|
-
class LoadBalancerListenerContextProviderPlugin {
|
|
35
|
-
constructor(aws) {
|
|
36
|
-
this.aws = aws;
|
|
37
|
-
}
|
|
38
|
-
async getValue(query) {
|
|
39
|
-
if (!query.listenerArn && !query.loadBalancerArn && !query.loadBalancerTags) {
|
|
40
|
-
throw new api_1.ContextProviderError('The load balancer listener query must specify at least one of: `listenerArn`, `loadBalancerArn` or `loadBalancerTags`');
|
|
41
|
-
}
|
|
42
|
-
return (await LoadBalancerProvider.getClient(this.aws, query)).getListener();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
exports.LoadBalancerListenerContextProviderPlugin = LoadBalancerListenerContextProviderPlugin;
|
|
46
|
-
class LoadBalancerProvider {
|
|
47
|
-
static async getClient(aws, query) {
|
|
48
|
-
const client = (await (0, sdk_provider_1.initContextProviderSdk)(aws, query)).elbv2();
|
|
49
|
-
try {
|
|
50
|
-
const listener = query.listenerArn
|
|
51
|
-
? // Assert we're sure there's at least one so it throws if not
|
|
52
|
-
(await client.describeListeners({ ListenerArns: [query.listenerArn] })).Listeners[0]
|
|
53
|
-
: undefined;
|
|
54
|
-
return new LoadBalancerProvider(client, { ...query, loadBalancerArn: listener?.LoadBalancerArn || query.loadBalancerArn }, listener);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
throw new api_1.ContextProviderError(`No load balancer listeners found matching arn ${query.listenerArn}`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
constructor(client, filter, listener) {
|
|
61
|
-
this.client = client;
|
|
62
|
-
this.filter = filter;
|
|
63
|
-
this.listener = listener;
|
|
64
|
-
}
|
|
65
|
-
async getLoadBalancer() {
|
|
66
|
-
const loadBalancers = await this.getLoadBalancers();
|
|
67
|
-
if (loadBalancers.length === 0) {
|
|
68
|
-
throw new api_1.ContextProviderError(`No load balancers found matching ${JSON.stringify(this.filter)}`);
|
|
69
|
-
}
|
|
70
|
-
if (loadBalancers.length > 1) {
|
|
71
|
-
throw new api_1.ContextProviderError(`Multiple load balancers found matching ${JSON.stringify(this.filter)} - please provide more specific criteria`);
|
|
72
|
-
}
|
|
73
|
-
return loadBalancers[0];
|
|
74
|
-
}
|
|
75
|
-
async getListener() {
|
|
76
|
-
if (this.listener) {
|
|
77
|
-
try {
|
|
78
|
-
const loadBalancer = await this.getLoadBalancer();
|
|
79
|
-
return {
|
|
80
|
-
listenerArn: this.listener.ListenerArn,
|
|
81
|
-
listenerPort: this.listener.Port,
|
|
82
|
-
securityGroupIds: loadBalancer.SecurityGroups || [],
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
catch (err) {
|
|
86
|
-
throw new api_1.ContextProviderError(`No associated load balancer found for listener arn ${this.filter.listenerArn}`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
const loadBalancers = await this.getLoadBalancers();
|
|
90
|
-
if (loadBalancers.length === 0) {
|
|
91
|
-
throw new api_1.ContextProviderError(`No associated load balancers found for load balancer listener query ${JSON.stringify(this.filter)}`);
|
|
92
|
-
}
|
|
93
|
-
const listeners = (await this.getListenersForLoadBalancers(loadBalancers)).filter((listener) => {
|
|
94
|
-
return ((!this.filter.listenerPort || listener.Port === this.filter.listenerPort) &&
|
|
95
|
-
(!this.filter.listenerProtocol || listener.Protocol === this.filter.listenerProtocol));
|
|
96
|
-
});
|
|
97
|
-
if (listeners.length === 0) {
|
|
98
|
-
throw new api_1.ContextProviderError(`No load balancer listeners found matching ${JSON.stringify(this.filter)}`);
|
|
99
|
-
}
|
|
100
|
-
if (listeners.length > 1) {
|
|
101
|
-
throw new api_1.ContextProviderError(`Multiple load balancer listeners found matching ${JSON.stringify(this.filter)} - please provide more specific criteria`);
|
|
102
|
-
}
|
|
103
|
-
return {
|
|
104
|
-
listenerArn: listeners[0].ListenerArn,
|
|
105
|
-
listenerPort: listeners[0].Port,
|
|
106
|
-
securityGroupIds: loadBalancers.find((lb) => listeners[0].LoadBalancerArn === lb.LoadBalancerArn)?.SecurityGroups || [],
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
async getLoadBalancers() {
|
|
110
|
-
const loadBalancerArns = this.filter.loadBalancerArn ? [this.filter.loadBalancerArn] : undefined;
|
|
111
|
-
const loadBalancers = (await this.client.paginateDescribeLoadBalancers({
|
|
112
|
-
LoadBalancerArns: loadBalancerArns,
|
|
113
|
-
})).filter((lb) => lb.Type === this.filter.loadBalancerType);
|
|
114
|
-
return this.filterByTags(loadBalancers);
|
|
115
|
-
}
|
|
116
|
-
async filterByTags(loadBalancers) {
|
|
117
|
-
if (!this.filter.loadBalancerTags) {
|
|
118
|
-
return loadBalancers;
|
|
119
|
-
}
|
|
120
|
-
return (await this.describeTags(loadBalancers.map((lb) => lb.LoadBalancerArn)))
|
|
121
|
-
.filter((tagDescription) => {
|
|
122
|
-
// For every tag in the filter, there is some tag in the LB that matches it.
|
|
123
|
-
// In other words, the set of tags in the filter is a subset of the set of tags in the LB.
|
|
124
|
-
return this.filter.loadBalancerTags.every((filter) => {
|
|
125
|
-
return tagDescription.Tags?.some((tag) => filter.key === tag.Key && filter.value === tag.Value);
|
|
126
|
-
});
|
|
127
|
-
})
|
|
128
|
-
.flatMap((tag) => loadBalancers.filter((loadBalancer) => tag.ResourceArn === loadBalancer.LoadBalancerArn));
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Returns tag descriptions associated with the resources. The API doesn't support
|
|
132
|
-
* pagination, so this function breaks the resource list into chunks and issues
|
|
133
|
-
* the appropriate requests.
|
|
134
|
-
*/
|
|
135
|
-
async describeTags(resourceArns) {
|
|
136
|
-
// Max of 20 resource arns per request.
|
|
137
|
-
const chunkSize = 20;
|
|
138
|
-
const tags = Array();
|
|
139
|
-
for (let i = 0; i < resourceArns.length; i += chunkSize) {
|
|
140
|
-
const chunk = resourceArns.slice(i, Math.min(i + chunkSize, resourceArns.length));
|
|
141
|
-
const chunkTags = await this.client.describeTags({
|
|
142
|
-
ResourceArns: chunk,
|
|
143
|
-
});
|
|
144
|
-
tags.push(...(chunkTags.TagDescriptions || []));
|
|
145
|
-
}
|
|
146
|
-
return tags;
|
|
147
|
-
}
|
|
148
|
-
async getListenersForLoadBalancers(loadBalancers) {
|
|
149
|
-
const listeners = [];
|
|
150
|
-
for (const loadBalancer of loadBalancers.map((lb) => lb.LoadBalancerArn)) {
|
|
151
|
-
listeners.push(...(await this.client.paginateDescribeListeners({ LoadBalancerArn: loadBalancer })));
|
|
152
|
-
}
|
|
153
|
-
return listeners;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1iYWxhbmNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsb2FkLWJhbGFuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSw0Q0FFeUI7QUFFekIsdUVBQXFGO0FBRXJGLCtEQUF3RjtBQUd4Rjs7R0FFRztBQUNILE1BQWEsaUNBQWlDO0lBQzVDLFlBQTZCLEdBQWdCO1FBQWhCLFFBQUcsR0FBSCxHQUFHLENBQWE7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBK0I7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0RCxNQUFNLElBQUksMEJBQW9CLENBQUMsNEZBQTRGLENBQUMsQ0FBQztRQUMvSCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVyRyxNQUFNLGFBQWEsR0FDakIsWUFBWSxDQUFDLGFBQWEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLGtDQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0NBQXlCLENBQUMsVUFBVSxDQUFDO1FBRWhILE9BQU87WUFDTCxlQUFlLEVBQUUsWUFBWSxDQUFDLGVBQWdCO1lBQzlDLGlDQUFpQyxFQUFFLFlBQVksQ0FBQyxxQkFBc0I7WUFDdEUsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLE9BQVE7WUFDMUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFNO1lBQzFCLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxjQUFjLElBQUksRUFBRTtZQUNuRCxhQUFhLEVBQUUsYUFBYTtTQUM3QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdkJELDhFQXVCQztBQUVEOztHQUVHO0FBQ0gsTUFBYSx5Q0FBeUM7SUFDcEQsWUFB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TSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztnQkFDL0MsWUFBWSxFQUFFLEtBQUs7YUFDcEIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxLQUFLLENBQUMsNEJBQTRCLENBQUMsYUFBNkI7UUFDdEUsTUFBTSxTQUFTLEdBQWUsRUFBRSxDQUFDO1FBQ2pDLEtBQUssTUFBTSxZQUFZLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDekUsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExvYWRCYWxhbmNlckNvbnRleHRRdWVyeSwgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UXVlcnkgfSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0IHR5cGUge1xuICBMb2FkQmFsYW5jZXJDb250ZXh0UmVzcG9uc2UsXG4gIExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFJlc3BvbnNlLFxufSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0IHtcbiAgTG9hZEJhbGFuY2VySXBBZGRyZXNzVHlwZSxcbn0gZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB0eXBlIHsgTG9hZEJhbGFuY2VyLCBMaXN0ZW5lciwgVGFnRGVzY3JpcHRpb24gfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZWxhc3RpYy1sb2FkLWJhbGFuY2luZy12Mic7XG5pbXBvcnQgeyBDb250ZXh0UHJvdmlkZXJFcnJvciB9IGZyb20gJy4uLy4uLy4uL0Bhd3MtY2RrL3RtcC10b29sa2l0LWhlbHBlcnMvc3JjL2FwaSc7XG5pbXBvcnQgdHlwZSB7IElFbGFzdGljTG9hZEJhbGFuY2luZ1YyQ2xpZW50IH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IHR5cGUgU2RrUHJvdmlkZXIsIGluaXRDb250ZXh0UHJvdmlkZXJTZGsgfSBmcm9tICcuLi9hcGkvYXdzLWF1dGgvc2RrLXByb3ZpZGVyJztcbmltcG9ydCB0eXBlIHsgQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi4vYXBpL3BsdWdpbic7XG5cbi8qKlxuICogUHJvdmlkZXMgbG9hZCBiYWxhbmNlciBjb250ZXh0IGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgTG9hZEJhbGFuY2VyQ29udGV4dFByb3ZpZGVyUGx1Z2luIGltcGxlbWVudHMgQ29udGV4dFByb3ZpZGVyUGx1Z2luIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhd3M6IFNka1Byb3ZpZGVyKSB7XG4gIH1cblxuICBhc3luYyBnZXRWYWx1ZShxdWVyeTogTG9hZEJhbGFuY2VyQ29udGV4dFF1ZXJ5KTogUHJvbWlzZTxMb2FkQmFsYW5jZXJDb250ZXh0UmVzcG9uc2U+IHtcbiAgICBpZiAoIXF1ZXJ5LmxvYWRCYWxhbmNlckFybiAmJiAhcXVlcnkubG9hZEJhbGFuY2VyVGFncykge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKCdUaGUgbG9hZCBiYWxhbmNlciBsb29rdXAgcXVlcnkgbXVzdCBzcGVjaWZ5IGVpdGhlciBgbG9hZEJhbGFuY2VyQXJuYCBvciBgbG9hZEJhbGFuY2VyVGFnc2AnKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2FkQmFsYW5jZXIgPSBhd2FpdCAoYXdhaXQgTG9hZEJhbGFuY2VyUHJvdmlkZXIuZ2V0Q2xpZW50KHRoaXMuYXdzLCBxdWVyeSkpLmdldExvYWRCYWxhbmNlcigpO1xuXG4gICAgY29uc3QgaXBBZGRyZXNzVHlwZSA9XG4gICAgICBsb2FkQmFsYW5jZXIuSXBBZGRyZXNzVHlwZSA9PT0gJ2lwdjQnID8gTG9hZEJhbGFuY2VySXBBZGRyZXNzVHlwZS5JUFY0IDogTG9hZEJhbGFuY2VySXBBZGRyZXNzVHlwZS5EVUFMX1NUQUNLO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvYWRCYWxhbmNlckFybjogbG9hZEJhbGFuY2VyLkxvYWRCYWxhbmNlckFybiEsXG4gICAgICBsb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQ6IGxvYWRCYWxhbmNlci5DYW5vbmljYWxIb3N0ZWRab25lSWQhLFxuICAgICAgbG9hZEJhbGFuY2VyRG5zTmFtZTogbG9hZEJhbGFuY2VyLkROU05hbWUhLFxuICAgICAgdnBjSWQ6IGxvYWRCYWxhbmNlci5WcGNJZCEsXG4gICAgICBzZWN1cml0eUdyb3VwSWRzOiBsb2FkQmFsYW5jZXIuU2VjdXJpdHlHcm91cHMgPz8gW10sXG4gICAgICBpcEFkZHJlc3NUeXBlOiBpcEFkZHJlc3NUeXBlLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlcyBsb2FkIGJhbGFuY2VyIGxpc3RlbmVyIGNvbnRleHQgaW5mb3JtYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFByb3ZpZGVyUGx1Z2luIGltcGxlbWVudHMgQ29udGV4dFByb3ZpZGVyUGx1Z2luIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhd3M6IFNka1Byb3ZpZGVyKSB7XG4gIH1cblxuICBhc3luYyBnZXRWYWx1ZShxdWVyeTogTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UXVlcnkpOiBQcm9taXNlPExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFJlc3BvbnNlPiB7XG4gICAgaWYgKCFxdWVyeS5saXN0ZW5lckFybiAmJiAhcXVlcnkubG9hZEJhbGFuY2VyQXJuICYmICFxdWVyeS5sb2FkQmFsYW5jZXJUYWdzKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoXG4gICAgICAgICdUaGUgbG9hZCBiYWxhbmNlciBsaXN0ZW5lciBxdWVyeSBtdXN0IHNwZWNpZnkgYXQgbGVhc3Qgb25lIG9mOiBgbGlzdGVuZXJBcm5gLCBgbG9hZEJhbGFuY2VyQXJuYCBvciBgbG9hZEJhbGFuY2VyVGFnc2AnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKGF3YWl0IExvYWRCYWxhbmNlclByb3ZpZGVyLmdldENsaWVudCh0aGlzLmF3cywgcXVlcnkpKS5nZXRMaXN0ZW5lcigpO1xuICB9XG59XG5cbmNsYXNzIExvYWRCYWxhbmNlclByb3ZpZGVyIHtcbiAgcHVibGljIHN0YXRpYyBhc3luYyBnZXRDbGllbnQoXG4gICAgYXdzOiBTZGtQcm92aWRlcixcbiAgICBxdWVyeTogTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UXVlcnksXG4gICk6IFByb21pc2U8TG9hZEJhbGFuY2VyUHJvdmlkZXI+IHtcbiAgICBjb25zdCBjbGllbnQgPSAoYXdhaXQgaW5pdENvbnRleHRQcm92aWRlclNkayhhd3MsIHF1ZXJ5KSkuZWxidjIoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBsaXN0ZW5lciA9IHF1ZXJ5Lmxpc3RlbmVyQXJuXG4gICAgICAgID8gLy8gQXNzZXJ0IHdlJ3JlIHN1cmUgdGhlcmUncyBhdCBsZWFzdCBvbmUgc28gaXQgdGhyb3dzIGlmIG5vdFxuICAgICAgICAoYXdhaXQgY2xpZW50LmRlc2NyaWJlTGlzdGVuZXJzKHsgTGlzdGVuZXJBcm5zOiBbcXVlcnkubGlzdGVuZXJBcm5dIH0pKS5MaXN0ZW5lcnMhWzBdIVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBuZXcgTG9hZEJhbGFuY2VyUHJvdmlkZXIoXG4gICAgICAgIGNsaWVudCxcbiAgICAgICAgeyAuLi5xdWVyeSwgbG9hZEJhbGFuY2VyQXJuOiBsaXN0ZW5lcj8uTG9hZEJhbGFuY2VyQXJuIHx8IHF1ZXJ5LmxvYWRCYWxhbmNlckFybiB9LFxuICAgICAgICBsaXN0ZW5lcixcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYE5vIGxvYWQgYmFsYW5jZXIgbGlzdGVuZXJzIGZvdW5kIG1hdGNoaW5nIGFybiAke3F1ZXJ5Lmxpc3RlbmVyQXJufWApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpZW50OiBJRWxhc3RpY0xvYWRCYWxhbmNpbmdWMkNsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlcjogTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UXVlcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaXN0ZW5lcj86IExpc3RlbmVyLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRMb2FkQmFsYW5jZXIoKTogUHJvbWlzZTxMb2FkQmFsYW5jZXI+IHtcbiAgICBjb25zdCBsb2FkQmFsYW5jZXJzID0gYXdhaXQgdGhpcy5nZXRMb2FkQmFsYW5jZXJzKCk7XG5cbiAgICBpZiAobG9hZEJhbGFuY2Vycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgTm8gbG9hZCBiYWxhbmNlcnMgZm91bmQgbWF0Y2hpbmcgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlcil9YCk7XG4gICAgfVxuXG4gICAgaWYgKGxvYWRCYWxhbmNlcnMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKFxuICAgICAgICBgTXVsdGlwbGUgbG9hZCBiYWxhbmNlcnMgZm91bmQgbWF0Y2hpbmcgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlcil9IC0gcGxlYXNlIHByb3ZpZGUgbW9yZSBzcGVjaWZpYyBjcml0ZXJpYWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBsb2FkQmFsYW5jZXJzWzBdO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldExpc3RlbmVyKCk6IFByb21pc2U8TG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UmVzcG9uc2U+IHtcbiAgICBpZiAodGhpcy5saXN0ZW5lcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbG9hZEJhbGFuY2VyID0gYXdhaXQgdGhpcy5nZXRMb2FkQmFsYW5jZXIoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsaXN0ZW5lckFybjogdGhpcy5saXN0ZW5lci5MaXN0ZW5lckFybiEsXG4gICAgICAgICAgbGlzdGVuZXJQb3J0OiB0aGlzLmxpc3RlbmVyLlBvcnQhLFxuICAgICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IGxvYWRCYWxhbmNlci5TZWN1cml0eUdyb3VwcyB8fCBbXSxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYE5vIGFzc29jaWF0ZWQgbG9hZCBiYWxhbmNlciBmb3VuZCBmb3IgbGlzdGVuZXIgYXJuICR7dGhpcy5maWx0ZXIubGlzdGVuZXJBcm59YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbG9hZEJhbGFuY2VycyA9IGF3YWl0IHRoaXMuZ2V0TG9hZEJhbGFuY2VycygpO1xuICAgIGlmIChsb2FkQmFsYW5jZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKFxuICAgICAgICBgTm8gYXNzb2NpYXRlZCBsb2FkIGJhbGFuY2VycyBmb3VuZCBmb3IgbG9hZCBiYWxhbmNlciBsaXN0ZW5lciBxdWVyeSAke0pTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ZW5lcnMgPSAoYXdhaXQgdGhpcy5nZXRMaXN0ZW5lcnNGb3JMb2FkQmFsYW5jZXJzKGxvYWRCYWxhbmNlcnMpKS5maWx0ZXIoKGxpc3RlbmVyKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAoIXRoaXMuZmlsdGVyLmxpc3RlbmVyUG9ydCB8fCBsaXN0ZW5lci5Qb3J0ID09PSB0aGlzLmZpbHRlci5saXN0ZW5lclBvcnQpICYmXG4gICAgICAgICghdGhpcy5maWx0ZXIubGlzdGVuZXJQcm90b2NvbCB8fCBsaXN0ZW5lci5Qcm90b2NvbCA9PT0gdGhpcy5maWx0ZXIubGlzdGVuZXJQcm90b2NvbClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpZiAobGlzdGVuZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKGBObyBsb2FkIGJhbGFuY2VyIGxpc3RlbmVycyBmb3VuZCBtYXRjaGluZyAke0pTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyKX1gKTtcbiAgICB9XG5cbiAgICBpZiAobGlzdGVuZXJzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihcbiAgICAgICAgYE11bHRpcGxlIGxvYWQgYmFsYW5jZXIgbGlzdGVuZXJzIGZvdW5kIG1hdGNoaW5nICR7SlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXIpfSAtIHBsZWFzZSBwcm92aWRlIG1vcmUgc3BlY2lmaWMgY3JpdGVyaWFgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGlzdGVuZXJBcm46IGxpc3RlbmVyc1swXS5MaXN0ZW5lckFybiEsXG4gICAgICBsaXN0ZW5lclBvcnQ6IGxpc3RlbmVyc1swXS5Qb3J0ISxcbiAgICAgIHNlY3VyaXR5R3JvdXBJZHM6XG4gICAgICAgIGxvYWRCYWxhbmNlcnMuZmluZCgobGIpID0+IGxpc3RlbmVyc1swXS5Mb2FkQmFsYW5jZXJBcm4gPT09IGxiLkxvYWRCYWxhbmNlckFybik/LlNlY3VyaXR5R3JvdXBzIHx8IFtdLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldExvYWRCYWxhbmNlcnMoKSB7XG4gICAgY29uc3QgbG9hZEJhbGFuY2VyQXJucyA9IHRoaXMuZmlsdGVyLmxvYWRCYWxhbmNlckFybiA/IFt0aGlzLmZpbHRlci5sb2FkQmFsYW5jZXJBcm5dIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGxvYWRCYWxhbmNlcnMgPSAoXG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5wYWdpbmF0ZURlc2NyaWJlTG9hZEJhbGFuY2Vycyh7XG4gICAgICAgIExvYWRCYWxhbmNlckFybnM6IGxvYWRCYWxhbmNlckFybnMsXG4gICAgICB9KVxuICAgICkuZmlsdGVyKChsYikgPT4gbGIuVHlwZSA9PT0gdGhpcy5maWx0ZXIubG9hZEJhbGFuY2VyVHlwZSk7XG5cbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeVRhZ3MobG9hZEJhbGFuY2Vycyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZpbHRlckJ5VGFncyhsb2FkQmFsYW5jZXJzOiBMb2FkQmFsYW5jZXJbXSk6IFByb21pc2U8TG9hZEJhbGFuY2VyW10+IHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyLmxvYWRCYWxhbmNlclRhZ3MpIHtcbiAgICAgIHJldHVybiBsb2FkQmFsYW5jZXJzO1xuICAgIH1cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZGVzY3JpYmVUYWdzKGxvYWRCYWxhbmNlcnMubWFwKChsYikgPT4gbGIuTG9hZEJhbGFuY2VyQXJuISkpKVxuICAgICAgLmZpbHRlcigodGFnRGVzY3JpcHRpb24pID0+IHtcbiAgICAgICAgLy8gRm9yIGV2ZXJ5IHRhZyBpbiB0aGUgZmlsdGVyLCB0aGVyZSBpcyBzb21lIHRhZyBpbiB0aGUgTEIgdGhhdCBtYXRjaGVzIGl0LlxuICAgICAgICAvLyBJbiBvdGhlciB3b3JkcywgdGhlIHNldCBvZiB0YWdzIGluIHRoZSBmaWx0ZXIgaXMgYSBzdWJzZXQgb2YgdGhlIHNldCBvZiB0YWdzIGluIHRoZSBMQi5cbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLmxvYWRCYWxhbmNlclRhZ3MhLmV2ZXJ5KChmaWx0ZXIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGFnRGVzY3JpcHRpb24uVGFncz8uc29tZSgodGFnKSA9PlxuICAgICAgICAgICAgZmlsdGVyLmtleSA9PT0gdGFnLktleSAmJiBmaWx0ZXIudmFsdWUgPT09IHRhZy5WYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5mbGF0TWFwKCh0YWcpID0+IGxvYWRCYWxhbmNlcnMuZmlsdGVyKChsb2FkQmFsYW5jZXIpID0+IHRhZy5SZXNvdXJjZUFybiA9PT0gbG9hZEJhbGFuY2VyLkxvYWRCYWxhbmNlckFybikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGFnIGRlc2NyaXB0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlc291cmNlcy4gVGhlIEFQSSBkb2Vzbid0IHN1cHBvcnRcbiAgICogcGFnaW5hdGlvbiwgc28gdGhpcyBmdW5jdGlvbiBicmVha3MgdGhlIHJlc291cmNlIGxpc3QgaW50byBjaHVua3MgYW5kIGlzc3Vlc1xuICAgKiB0aGUgYXBwcm9wcmlhdGUgcmVxdWVzdHMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGRlc2NyaWJlVGFncyhyZXNvdXJjZUFybnM6IHN0cmluZ1tdKTogUHJvbWlzZTxUYWdEZXNjcmlwdGlvbltdPiB7XG4gICAgLy8gTWF4IG9mIDIwIHJlc291cmNlIGFybnMgcGVyIHJlcXVlc3QuXG4gICAgY29uc3QgY2h1bmtTaXplID0gMjA7XG4gICAgY29uc3QgdGFncyA9IEFycmF5PFRhZ0Rlc2NyaXB0aW9uPigpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzb3VyY2VBcm5zLmxlbmd0aDsgaSArPSBjaHVua1NpemUpIHtcbiAgICAgIGNvbnN0IGNodW5rID0gcmVzb3VyY2VBcm5zLnNsaWNlKGksIE1hdGgubWluKGkgKyBjaHVua1NpemUsIHJlc291cmNlQXJucy5sZW5ndGgpKTtcbiAgICAgIGNvbnN0IGNodW5rVGFncyA9IGF3YWl0IHRoaXMuY2xpZW50LmRlc2NyaWJlVGFncyh7XG4gICAgICAgIFJlc291cmNlQXJuczogY2h1bmssXG4gICAgICB9KTtcblxuICAgICAgdGFncy5wdXNoKC4uLihjaHVua1RhZ3MuVGFnRGVzY3JpcHRpb25zIHx8IFtdKSk7XG4gICAgfVxuICAgIHJldHVybiB0YWdzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRMaXN0ZW5lcnNGb3JMb2FkQmFsYW5jZXJzKGxvYWRCYWxhbmNlcnM6IExvYWRCYWxhbmNlcltdKTogUHJvbWlzZTxMaXN0ZW5lcltdPiB7XG4gICAgY29uc3QgbGlzdGVuZXJzOiBMaXN0ZW5lcltdID0gW107XG4gICAgZm9yIChjb25zdCBsb2FkQmFsYW5jZXIgb2YgbG9hZEJhbGFuY2Vycy5tYXAoKGxiKSA9PiBsYi5Mb2FkQmFsYW5jZXJBcm4pKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaCguLi4oYXdhaXQgdGhpcy5jbGllbnQucGFnaW5hdGVEZXNjcmliZUxpc3RlbmVycyh7IExvYWRCYWxhbmNlckFybjogbG9hZEJhbGFuY2VyIH0pKSk7XG4gICAgfVxuICAgIHJldHVybiBsaXN0ZW5lcnM7XG4gIH1cbn1cbiJdfQ==
|
|
17
|
+
__exportStar(require("../../../@aws-cdk/tmp-toolkit-helpers/src/context-providers/load-balancers"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1iYWxhbmNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsb2FkLWJhbGFuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkdBQTJGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi4vLi4vLi4vQGF3cy1jZGsvdG1wLXRvb2xraXQtaGVscGVycy9zcmMvY29udGV4dC1wcm92aWRlcnMvbG9hZC1iYWxhbmNlcnMnO1xuIl19
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import type { SecurityGroupContextResponse } from '@aws-cdk/cx-api';
|
|
3
|
-
import { type SdkProvider } from '../api/aws-auth/sdk-provider';
|
|
4
|
-
import type { ContextProviderPlugin } from '../api/plugin';
|
|
5
|
-
export declare class SecurityGroupContextProviderPlugin implements ContextProviderPlugin {
|
|
6
|
-
private readonly aws;
|
|
7
|
-
constructor(aws: SdkProvider);
|
|
8
|
-
getValue(args: SecurityGroupContextQuery): Promise<SecurityGroupContextResponse>;
|
|
9
|
-
}
|
|
1
|
+
export * from '../../../@aws-cdk/tmp-toolkit-helpers/src/context-providers/security-groups';
|
|
@@ -1,68 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class SecurityGroupContextProviderPlugin {
|
|
8
|
-
constructor(aws) {
|
|
9
|
-
this.aws = aws;
|
|
10
|
-
}
|
|
11
|
-
async getValue(args) {
|
|
12
|
-
if (args.securityGroupId && args.securityGroupName) {
|
|
13
|
-
throw new api_1.ContextProviderError("'securityGroupId' and 'securityGroupName' can not be specified both when looking up a security group");
|
|
14
|
-
}
|
|
15
|
-
if (!args.securityGroupId && !args.securityGroupName) {
|
|
16
|
-
throw new api_1.ContextProviderError("'securityGroupId' or 'securityGroupName' must be specified to look up a security group");
|
|
17
|
-
}
|
|
18
|
-
const ec2 = (await (0, sdk_provider_1.initContextProviderSdk)(this.aws, args)).ec2();
|
|
19
|
-
const filters = [];
|
|
20
|
-
if (args.vpcId) {
|
|
21
|
-
filters.push({
|
|
22
|
-
Name: 'vpc-id',
|
|
23
|
-
Values: [args.vpcId],
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
if (args.securityGroupName) {
|
|
27
|
-
filters.push({
|
|
28
|
-
Name: 'group-name',
|
|
29
|
-
Values: [args.securityGroupName],
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
const response = await ec2.describeSecurityGroups({
|
|
33
|
-
GroupIds: args.securityGroupId ? [args.securityGroupId] : undefined,
|
|
34
|
-
Filters: filters.length > 0 ? filters : undefined,
|
|
35
|
-
});
|
|
36
|
-
const securityGroups = response.SecurityGroups ?? [];
|
|
37
|
-
if (securityGroups.length === 0) {
|
|
38
|
-
throw new api_1.ContextProviderError(`No security groups found matching ${JSON.stringify(args)}`);
|
|
39
|
-
}
|
|
40
|
-
if (securityGroups.length > 1) {
|
|
41
|
-
throw new api_1.ContextProviderError(`More than one security groups found matching ${JSON.stringify(args)}`);
|
|
42
|
-
}
|
|
43
|
-
const [securityGroup] = securityGroups;
|
|
44
|
-
return {
|
|
45
|
-
securityGroupId: securityGroup.GroupId,
|
|
46
|
-
allowAllOutbound: hasAllTrafficEgress(securityGroup),
|
|
47
|
-
};
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
48
7
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
hasAllTrafficCidrV4 = true;
|
|
61
|
-
}
|
|
62
|
-
if (isAllProtocols && ipPermission.Ipv6Ranges?.some((m) => m.CidrIpv6 === '::/0')) {
|
|
63
|
-
hasAllTrafficCidrV6 = true;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return hasAllTrafficCidrV4 && hasAllTrafficCidrV6;
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktZ3JvdXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VjdXJpdHktZ3JvdXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdFQSxrREFpQkM7QUE5RUQsdUVBQXFGO0FBQ3JGLCtEQUF3RjtBQUd4RixNQUFhLGtDQUFrQztJQUM3QyxZQUE2QixHQUFnQjtRQUFoQixRQUFHLEdBQUgsR0FBRyxDQUFhO0lBQzdDLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQStCO1FBQzVDLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLElBQUksMEJBQW9CLENBQzVCLHNHQUFzRyxDQUN2RyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckQsTUFBTSxJQUFJLDBCQUFvQixDQUFDLHdGQUF3RixDQUFDLENBQUM7UUFDM0gsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFBLHFDQUFzQixFQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVqRSxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLElBQUksRUFBRSxRQUFRO2dCQUNkLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDckIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQ2pDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztZQUNoRCxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDbkUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUM7UUFDckQsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSwwQkFBb0IsQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUYsQ0FBQztRQUVELElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksMEJBQW9CLENBQUMsZ0RBQWdELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7UUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDO1FBRXZDLE9BQU87WUFDTCxlQUFlLEVBQUUsYUFBYSxDQUFDLE9BQVE7WUFDdkMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1NBQ3JELENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFwREQsZ0ZBb0RDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxhQUE0QjtJQUM5RCxJQUFJLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNoQyxJQUFJLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUVoQyxLQUFLLE1BQU0sWUFBWSxJQUFJLGFBQWEsQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNuRSxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQztRQUV4RCxJQUFJLGNBQWMsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ25GLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO1FBRUQsSUFBSSxjQUFjLElBQUksWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNsRixtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLG1CQUFtQixJQUFJLG1CQUFtQixDQUFDO0FBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNlY3VyaXR5R3JvdXBDb250ZXh0UXVlcnkgfSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0IHR5cGUgeyBTZWN1cml0eUdyb3VwQ29udGV4dFJlc3BvbnNlIH0gZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB0eXBlIHsgRmlsdGVyLCBTZWN1cml0eUdyb3VwIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVjMic7XG5pbXBvcnQgeyBDb250ZXh0UHJvdmlkZXJFcnJvciB9IGZyb20gJy4uLy4uLy4uL0Bhd3MtY2RrL3RtcC10b29sa2l0LWhlbHBlcnMvc3JjL2FwaSc7XG5pbXBvcnQgeyB0eXBlIFNka1Byb3ZpZGVyLCBpbml0Q29udGV4dFByb3ZpZGVyU2RrIH0gZnJvbSAnLi4vYXBpL2F3cy1hdXRoL3Nkay1wcm92aWRlcic7XG5pbXBvcnQgdHlwZSB7IENvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4uL2FwaS9wbHVnaW4nO1xuXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlHcm91cENvbnRleHRQcm92aWRlclBsdWdpbiBpbXBsZW1lbnRzIENvbnRleHRQcm92aWRlclBsdWdpbiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXdzOiBTZGtQcm92aWRlcikge1xuICB9XG5cbiAgYXN5bmMgZ2V0VmFsdWUoYXJnczogU2VjdXJpdHlHcm91cENvbnRleHRRdWVyeSk6IFByb21pc2U8U2VjdXJpdHlHcm91cENvbnRleHRSZXNwb25zZT4ge1xuICAgIGlmIChhcmdzLnNlY3VyaXR5R3JvdXBJZCAmJiBhcmdzLnNlY3VyaXR5R3JvdXBOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoXG4gICAgICAgIFwiJ3NlY3VyaXR5R3JvdXBJZCcgYW5kICdzZWN1cml0eUdyb3VwTmFtZScgY2FuIG5vdCBiZSBzcGVjaWZpZWQgYm90aCB3aGVuIGxvb2tpbmcgdXAgYSBzZWN1cml0eSBncm91cFwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIWFyZ3Muc2VjdXJpdHlHcm91cElkICYmICFhcmdzLnNlY3VyaXR5R3JvdXBOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoXCInc2VjdXJpdHlHcm91cElkJyBvciAnc2VjdXJpdHlHcm91cE5hbWUnIG11c3QgYmUgc3BlY2lmaWVkIHRvIGxvb2sgdXAgYSBzZWN1cml0eSBncm91cFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBlYzIgPSAoYXdhaXQgaW5pdENvbnRleHRQcm92aWRlclNkayh0aGlzLmF3cywgYXJncykpLmVjMigpO1xuXG4gICAgY29uc3QgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcbiAgICBpZiAoYXJncy52cGNJZCkge1xuICAgICAgZmlsdGVycy5wdXNoKHtcbiAgICAgICAgTmFtZTogJ3ZwYy1pZCcsXG4gICAgICAgIFZhbHVlczogW2FyZ3MudnBjSWRdLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChhcmdzLnNlY3VyaXR5R3JvdXBOYW1lKSB7XG4gICAgICBmaWx0ZXJzLnB1c2goe1xuICAgICAgICBOYW1lOiAnZ3JvdXAtbmFtZScsXG4gICAgICAgIFZhbHVlczogW2FyZ3Muc2VjdXJpdHlHcm91cE5hbWVdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBlYzIuZGVzY3JpYmVTZWN1cml0eUdyb3Vwcyh7XG4gICAgICBHcm91cElkczogYXJncy5zZWN1cml0eUdyb3VwSWQgPyBbYXJncy5zZWN1cml0eUdyb3VwSWRdIDogdW5kZWZpbmVkLFxuICAgICAgRmlsdGVyczogZmlsdGVycy5sZW5ndGggPiAwID8gZmlsdGVycyA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlY3VyaXR5R3JvdXBzID0gcmVzcG9uc2UuU2VjdXJpdHlHcm91cHMgPz8gW107XG4gICAgaWYgKHNlY3VyaXR5R3JvdXBzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKGBObyBzZWN1cml0eSBncm91cHMgZm91bmQgbWF0Y2hpbmcgJHtKU09OLnN0cmluZ2lmeShhcmdzKX1gKTtcbiAgICB9XG5cbiAgICBpZiAoc2VjdXJpdHlHcm91cHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKGBNb3JlIHRoYW4gb25lIHNlY3VyaXR5IGdyb3VwcyBmb3VuZCBtYXRjaGluZyAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWApO1xuICAgIH1cblxuICAgIGNvbnN0IFtzZWN1cml0eUdyb3VwXSA9IHNlY3VyaXR5R3JvdXBzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNlY3VyaXR5R3JvdXBJZDogc2VjdXJpdHlHcm91cC5Hcm91cElkISxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IGhhc0FsbFRyYWZmaWNFZ3Jlc3Moc2VjdXJpdHlHcm91cCksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzQWxsVHJhZmZpY0VncmVzcyhzZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwKSB7XG4gIGxldCBoYXNBbGxUcmFmZmljQ2lkclY0ID0gZmFsc2U7XG4gIGxldCBoYXNBbGxUcmFmZmljQ2lkclY2ID0gZmFsc2U7XG5cbiAgZm9yIChjb25zdCBpcFBlcm1pc3Npb24gb2Ygc2VjdXJpdHlHcm91cC5JcFBlcm1pc3Npb25zRWdyZXNzID8/IFtdKSB7XG4gICAgY29uc3QgaXNBbGxQcm90b2NvbHMgPSBpcFBlcm1pc3Npb24uSXBQcm90b2NvbCA9PT0gJy0xJztcblxuICAgIGlmIChpc0FsbFByb3RvY29scyAmJiBpcFBlcm1pc3Npb24uSXBSYW5nZXM/LnNvbWUoKG0pID0+IG0uQ2lkcklwID09PSAnMC4wLjAuMC8wJykpIHtcbiAgICAgIGhhc0FsbFRyYWZmaWNDaWRyVjQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpc0FsbFByb3RvY29scyAmJiBpcFBlcm1pc3Npb24uSXB2NlJhbmdlcz8uc29tZSgobSkgPT4gbS5DaWRySXB2NiA9PT0gJzo6LzAnKSkge1xuICAgICAgaGFzQWxsVHJhZmZpY0NpZHJWNiA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGhhc0FsbFRyYWZmaWNDaWRyVjQgJiYgaGFzQWxsVHJhZmZpY0NpZHJWNjtcbn1cbiJdfQ==
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("../../../@aws-cdk/tmp-toolkit-helpers/src/context-providers/security-groups"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktZ3JvdXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VjdXJpdHktZ3JvdXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4R0FBNEYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuLi8uLi8uLi9AYXdzLWNkay90bXAtdG9vbGtpdC1oZWxwZXJzL3NyYy9jb250ZXh0LXByb3ZpZGVycy9zZWN1cml0eS1ncm91cHMnO1xuIl19
|