aws-cdk 2.1006.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/README.md +1 -1
- package/THIRD_PARTY_LICENSES +104 -86
- 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/{resource-import/index.js → plugin.js} +2 -3
- 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/{garbage-collection/index.js → rwlock.js} +2 -2
- 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 +20 -16
- package/lib/cli/cdk-toolkit.js +102 -37
- package/lib/cli/cli-config.js +2 -2
- package/lib/cli/cli.d.ts +1 -1
- package/lib/cli/cli.js +22 -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/diff.d.ts +1 -50
- package/lib/commands/diff.js +5 -213
- 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 -136
- 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/{api/cxapp → cxapp}/cloud-assembly.d.ts +3 -59
- package/lib/cxapp/cloud-assembly.js +108 -0
- package/lib/{api/cxapp → cxapp}/cloud-executable.d.ts +10 -3
- 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 +134493 -125222
- package/lib/init-templates/.init-version.json +1 -1
- package/lib/init-templates/.recommended-feature-flags.json +3 -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 +19 -18
- 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 -25
- package/lib/api/cloudformation/nested-stack-helpers.js +0 -86
- package/lib/api/cloudformation/stack-helpers.d.ts +0 -96
- 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.js +0 -304
- package/lib/api/cxapp/cloud-executable.js +0 -89
- package/lib/api/cxapp/exec.d.ts +0 -56
- package/lib/api/cxapp/exec.js +0 -272
- 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 -4
- package/lib/api/deployments/index.js +0 -21
- 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 -220
- package/lib/api/resource-import/importer.js +0 -331
- 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
package/lib/api/plugin/plugin.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PluginHost = exports.TESTING = void 0;
|
|
4
|
-
exports.markTesting = markTesting;
|
|
5
|
-
const util_1 = require("util");
|
|
6
|
-
const context_provider_plugin_1 = require("./context-provider-plugin");
|
|
7
|
-
const api_1 = require("../../../../@aws-cdk/tmp-toolkit-helpers/src/api");
|
|
8
|
-
exports.TESTING = false;
|
|
9
|
-
function markTesting() {
|
|
10
|
-
exports.TESTING = true;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* A utility to manage plug-ins.
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
16
|
-
class PluginHost {
|
|
17
|
-
constructor() {
|
|
18
|
-
/**
|
|
19
|
-
* Access the currently registered CredentialProviderSources. New sources can
|
|
20
|
-
* be registered using the +registerCredentialProviderSource+ method.
|
|
21
|
-
*/
|
|
22
|
-
this.credentialProviderSources = new Array();
|
|
23
|
-
this.contextProviderPlugins = {};
|
|
24
|
-
if (!exports.TESTING && PluginHost.instance && PluginHost.instance !== this) {
|
|
25
|
-
throw new api_1.ToolkitError('New instances of PluginHost must not be built. Use PluginHost.instance instead!');
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Loads a plug-in into this PluginHost.
|
|
30
|
-
*
|
|
31
|
-
* @param moduleSpec the specification (path or name) of the plug-in module to be loaded.
|
|
32
|
-
*/
|
|
33
|
-
load(moduleSpec) {
|
|
34
|
-
try {
|
|
35
|
-
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
36
|
-
const plugin = require(moduleSpec);
|
|
37
|
-
/* eslint-enable */
|
|
38
|
-
if (!isPlugin(plugin)) {
|
|
39
|
-
throw new api_1.ToolkitError(`Module ${moduleSpec} is not a valid plug-in, or has an unsupported version.`);
|
|
40
|
-
}
|
|
41
|
-
if (plugin.init) {
|
|
42
|
-
plugin.init(this);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
catch (e) {
|
|
46
|
-
throw api_1.ToolkitError.withCause(`Unable to load plug-in '${moduleSpec}'`, e);
|
|
47
|
-
}
|
|
48
|
-
function isPlugin(x) {
|
|
49
|
-
return x != null && x.version === '1';
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Allows plug-ins to register new CredentialProviderSources.
|
|
54
|
-
*
|
|
55
|
-
* @param source a new CredentialProviderSource to register.
|
|
56
|
-
*/
|
|
57
|
-
registerCredentialProviderSource(source) {
|
|
58
|
-
// Forward to the right credentials-related plugin host
|
|
59
|
-
this.credentialProviderSources.push(source);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* (EXPERIMENTAL) Allow plugins to register context providers
|
|
63
|
-
*
|
|
64
|
-
* Context providers are objects with the following method:
|
|
65
|
-
*
|
|
66
|
-
* ```ts
|
|
67
|
-
* getValue(args: {[key: string]: any}): Promise<any>;
|
|
68
|
-
* ```
|
|
69
|
-
*
|
|
70
|
-
* Currently, they cannot reuse the CDK's authentication mechanisms, so they
|
|
71
|
-
* must be prepared to either not make AWS calls or use their own source of
|
|
72
|
-
* AWS credentials.
|
|
73
|
-
*
|
|
74
|
-
* This feature is experimental, and only intended to be used internally at Amazon
|
|
75
|
-
* as a trial.
|
|
76
|
-
*
|
|
77
|
-
* After registering with 'my-plugin-name', the provider must be addressed as follows:
|
|
78
|
-
*
|
|
79
|
-
* ```ts
|
|
80
|
-
* const value = ContextProvider.getValue(this, {
|
|
81
|
-
* providerName: 'plugin',
|
|
82
|
-
* props: {
|
|
83
|
-
* pluginName: 'my-plugin-name',
|
|
84
|
-
* myParameter1: 'xyz',
|
|
85
|
-
* },
|
|
86
|
-
* includeEnvironment: true | false,
|
|
87
|
-
* dummyValue: 'what-to-return-on-the-first-pass',
|
|
88
|
-
* })
|
|
89
|
-
* ```
|
|
90
|
-
*
|
|
91
|
-
* @experimental
|
|
92
|
-
*/
|
|
93
|
-
registerContextProviderAlpha(pluginProviderName, provider) {
|
|
94
|
-
if (!(0, context_provider_plugin_1.isContextProviderPlugin)(provider)) {
|
|
95
|
-
throw new api_1.ToolkitError(`Object you gave me does not look like a ContextProviderPlugin: ${(0, util_1.inspect)(provider)}`);
|
|
96
|
-
}
|
|
97
|
-
this.contextProviderPlugins[pluginProviderName] = provider;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.PluginHost = PluginHost;
|
|
101
|
-
PluginHost.instance = new PluginHost();
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLGtDQUVDO0FBVEQsK0JBQStCO0FBRS9CLHVFQUFnRztBQUNoRywwRUFBZ0Y7QUFFckUsUUFBQSxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBRTNCLFNBQWdCLFdBQVc7SUFDekIsZUFBTyxHQUFHLElBQUksQ0FBQztBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBYSxVQUFVO0lBV3JCO1FBUkE7OztXQUdHO1FBQ2EsOEJBQXlCLEdBQUcsSUFBSSxLQUFLLEVBQTRCLENBQUM7UUFFbEUsMkJBQXNCLEdBQTBDLEVBQUUsQ0FBQztRQUdqRixJQUFJLENBQUMsZUFBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwRSxNQUFNLElBQUksa0JBQVksQ0FBQyxpRkFBaUYsQ0FBQyxDQUFDO1FBQzVHLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLElBQUksQ0FBQyxVQUFrQjtRQUM1QixJQUFJLENBQUM7WUFDSCwwREFBMEQ7WUFDMUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25DLG1CQUFtQjtZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxrQkFBWSxDQUFDLFVBQVUsVUFBVSx5REFBeUQsQ0FBQyxDQUFDO1lBQ3hHLENBQUM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxrQkFBWSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUVELFNBQVMsUUFBUSxDQUFDLENBQU07WUFDdEIsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssR0FBRyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdDQUFnQyxDQUFDLE1BQWdDO1FBQ3RFLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQStCRztJQUNJLDRCQUE0QixDQUFDLGtCQUEwQixFQUFFLFFBQStCO1FBQzdGLElBQUksQ0FBQyxJQUFBLGlEQUF1QixFQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLGtCQUFZLENBQUMsa0VBQWtFLElBQUEsY0FBTyxFQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQzdELENBQUM7O0FBekZILGdDQTBGQztBQXpGZSxtQkFBUSxHQUFHLElBQUksVUFBVSxFQUFFLEFBQW5CLENBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5zcGVjdCB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHR5cGUgeyBDcmVkZW50aWFsUHJvdmlkZXJTb3VyY2UsIElQbHVnaW5Ib3N0LCBQbHVnaW4gfSBmcm9tICdAYXdzLWNkay9jbGktcGx1Z2luLWNvbnRyYWN0JztcbmltcG9ydCB7IHR5cGUgQ29udGV4dFByb3ZpZGVyUGx1Z2luLCBpc0NvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vY29udGV4dC1wcm92aWRlci1wbHVnaW4nO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vQGF3cy1jZGsvdG1wLXRvb2xraXQtaGVscGVycy9zcmMvYXBpJztcblxuZXhwb3J0IGxldCBURVNUSU5HID0gZmFsc2U7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrVGVzdGluZygpIHtcbiAgVEVTVElORyA9IHRydWU7XG59XG5cbi8qKlxuICogQSB1dGlsaXR5IHRvIG1hbmFnZSBwbHVnLWlucy5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBQbHVnaW5Ib3N0IGltcGxlbWVudHMgSVBsdWdpbkhvc3Qge1xuICBwdWJsaWMgc3RhdGljIGluc3RhbmNlID0gbmV3IFBsdWdpbkhvc3QoKTtcblxuICAvKipcbiAgICogQWNjZXNzIHRoZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCBDcmVkZW50aWFsUHJvdmlkZXJTb3VyY2VzLiBOZXcgc291cmNlcyBjYW5cbiAgICogYmUgcmVnaXN0ZXJlZCB1c2luZyB0aGUgK3JlZ2lzdGVyQ3JlZGVudGlhbFByb3ZpZGVyU291cmNlKyBtZXRob2QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyU291cmNlcyA9IG5ldyBBcnJheTxDcmVkZW50aWFsUHJvdmlkZXJTb3VyY2U+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbnRleHRQcm92aWRlclBsdWdpbnM6IFJlY29yZDxzdHJpbmcsIENvbnRleHRQcm92aWRlclBsdWdpbj4gPSB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIVRFU1RJTkcgJiYgUGx1Z2luSG9zdC5pbnN0YW5jZSAmJiBQbHVnaW5Ib3N0Lmluc3RhbmNlICE9PSB0aGlzKSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKCdOZXcgaW5zdGFuY2VzIG9mIFBsdWdpbkhvc3QgbXVzdCBub3QgYmUgYnVpbHQuIFVzZSBQbHVnaW5Ib3N0Lmluc3RhbmNlIGluc3RlYWQhJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIGEgcGx1Zy1pbiBpbnRvIHRoaXMgUGx1Z2luSG9zdC5cbiAgICpcbiAgICogQHBhcmFtIG1vZHVsZVNwZWMgdGhlIHNwZWNpZmljYXRpb24gKHBhdGggb3IgbmFtZSkgb2YgdGhlIHBsdWctaW4gbW9kdWxlIHRvIGJlIGxvYWRlZC5cbiAgICovXG4gIHB1YmxpYyBsb2FkKG1vZHVsZVNwZWM6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzICovXG4gICAgICBjb25zdCBwbHVnaW4gPSByZXF1aXJlKG1vZHVsZVNwZWMpO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICAgICAgaWYgKCFpc1BsdWdpbihwbHVnaW4pKSB7XG4gICAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoYE1vZHVsZSAke21vZHVsZVNwZWN9IGlzIG5vdCBhIHZhbGlkIHBsdWctaW4sIG9yIGhhcyBhbiB1bnN1cHBvcnRlZCB2ZXJzaW9uLmApO1xuICAgICAgfVxuICAgICAgaWYgKHBsdWdpbi5pbml0KSB7XG4gICAgICAgIHBsdWdpbi5pbml0KHRoaXMpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgVG9vbGtpdEVycm9yLndpdGhDYXVzZShgVW5hYmxlIHRvIGxvYWQgcGx1Zy1pbiAnJHttb2R1bGVTcGVjfSdgLCBlKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc1BsdWdpbih4OiBhbnkpOiB4IGlzIFBsdWdpbiB7XG4gICAgICByZXR1cm4geCAhPSBudWxsICYmIHgudmVyc2lvbiA9PT0gJzEnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgcGx1Zy1pbnMgdG8gcmVnaXN0ZXIgbmV3IENyZWRlbnRpYWxQcm92aWRlclNvdXJjZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2UgYSBuZXcgQ3JlZGVudGlhbFByb3ZpZGVyU291cmNlIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyQ3JlZGVudGlhbFByb3ZpZGVyU291cmNlKHNvdXJjZTogQ3JlZGVudGlhbFByb3ZpZGVyU291cmNlKSB7XG4gICAgLy8gRm9yd2FyZCB0byB0aGUgcmlnaHQgY3JlZGVudGlhbHMtcmVsYXRlZCBwbHVnaW4gaG9zdFxuICAgIHRoaXMuY3JlZGVudGlhbFByb3ZpZGVyU291cmNlcy5wdXNoKHNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogKEVYUEVSSU1FTlRBTCkgQWxsb3cgcGx1Z2lucyB0byByZWdpc3RlciBjb250ZXh0IHByb3ZpZGVyc1xuICAgKlxuICAgKiBDb250ZXh0IHByb3ZpZGVycyBhcmUgb2JqZWN0cyB3aXRoIHRoZSBmb2xsb3dpbmcgbWV0aG9kOlxuICAgKlxuICAgKiBgYGB0c1xuICAgKiAgIGdldFZhbHVlKGFyZ3M6IHtba2V5OiBzdHJpbmddOiBhbnl9KTogUHJvbWlzZTxhbnk+O1xuICAgKiBgYGBcbiAgICpcbiAgICogQ3VycmVudGx5LCB0aGV5IGNhbm5vdCByZXVzZSB0aGUgQ0RLJ3MgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcywgc28gdGhleVxuICAgKiBtdXN0IGJlIHByZXBhcmVkIHRvIGVpdGhlciBub3QgbWFrZSBBV1MgY2FsbHMgb3IgdXNlIHRoZWlyIG93biBzb3VyY2Ugb2ZcbiAgICogQVdTIGNyZWRlbnRpYWxzLlxuICAgKlxuICAgKiBUaGlzIGZlYXR1cmUgaXMgZXhwZXJpbWVudGFsLCBhbmQgb25seSBpbnRlbmRlZCB0byBiZSB1c2VkIGludGVybmFsbHkgYXQgQW1hem9uXG4gICAqIGFzIGEgdHJpYWwuXG4gICAqXG4gICAqIEFmdGVyIHJlZ2lzdGVyaW5nIHdpdGggJ215LXBsdWdpbi1uYW1lJywgdGhlIHByb3ZpZGVyIG11c3QgYmUgYWRkcmVzc2VkIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIGBgYHRzXG4gICAqIGNvbnN0IHZhbHVlID0gQ29udGV4dFByb3ZpZGVyLmdldFZhbHVlKHRoaXMsIHtcbiAgICogICBwcm92aWRlck5hbWU6ICdwbHVnaW4nLFxuICAgKiAgIHByb3BzOiB7XG4gICAqICAgICBwbHVnaW5OYW1lOiAnbXktcGx1Z2luLW5hbWUnLFxuICAgKiAgICAgbXlQYXJhbWV0ZXIxOiAneHl6JyxcbiAgICogICB9LFxuICAgKiAgIGluY2x1ZGVFbnZpcm9ubWVudDogdHJ1ZSB8IGZhbHNlLFxuICAgKiAgIGR1bW15VmFsdWU6ICd3aGF0LXRvLXJldHVybi1vbi10aGUtZmlyc3QtcGFzcycsXG4gICAqIH0pXG4gICAqIGBgYFxuICAgKlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJDb250ZXh0UHJvdmlkZXJBbHBoYShwbHVnaW5Qcm92aWRlck5hbWU6IHN0cmluZywgcHJvdmlkZXI6IENvbnRleHRQcm92aWRlclBsdWdpbikge1xuICAgIGlmICghaXNDb250ZXh0UHJvdmlkZXJQbHVnaW4ocHJvdmlkZXIpKSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGBPYmplY3QgeW91IGdhdmUgbWUgZG9lcyBub3QgbG9vayBsaWtlIGEgQ29udGV4dFByb3ZpZGVyUGx1Z2luOiAke2luc3BlY3QocHJvdmlkZXIpfWApO1xuICAgIH1cbiAgICB0aGlzLmNvbnRleHRQcm92aWRlclBsdWdpbnNbcGx1Z2luUHJvdmlkZXJOYW1lXSA9IHByb3ZpZGVyO1xuICB9XG59XG4iXX0=
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import type { ResourceDifference } from '@aws-cdk/cloudformation-diff';
|
|
2
|
-
import type * as cxapi from '@aws-cdk/cx-api';
|
|
3
|
-
import type { ResourceIdentifierSummary, ResourceToImport } from '@aws-sdk/client-cloudformation';
|
|
4
|
-
import { type IoHelper } from '../../../../@aws-cdk/tmp-toolkit-helpers/src/api/io/private';
|
|
5
|
-
import type { DeploymentMethod, Deployments } from '../deployments';
|
|
6
|
-
import type { Tag } from '../tags';
|
|
7
|
-
export type ResourcesToImport = ResourceToImport[];
|
|
8
|
-
export type ResourceIdentifierSummaries = ResourceIdentifierSummary[];
|
|
9
|
-
export interface ResourceImporterProps {
|
|
10
|
-
deployments: Deployments;
|
|
11
|
-
ioHelper: IoHelper;
|
|
12
|
-
}
|
|
13
|
-
export interface ImportDeploymentOptions {
|
|
14
|
-
/**
|
|
15
|
-
* Role to pass to CloudFormation for deployment
|
|
16
|
-
*
|
|
17
|
-
* @default - Default stack role
|
|
18
|
-
*/
|
|
19
|
-
readonly roleArn?: string;
|
|
20
|
-
/**
|
|
21
|
-
* Deployment method
|
|
22
|
-
*
|
|
23
|
-
* @default - Change set with default options
|
|
24
|
-
*/
|
|
25
|
-
readonly deploymentMethod?: DeploymentMethod;
|
|
26
|
-
/**
|
|
27
|
-
* Stack tags (pass through to CloudFormation)
|
|
28
|
-
*
|
|
29
|
-
* @default - No tags
|
|
30
|
-
*/
|
|
31
|
-
readonly tags?: Tag[];
|
|
32
|
-
/**
|
|
33
|
-
* Use previous values for unspecified parameters
|
|
34
|
-
*
|
|
35
|
-
* If not set, all parameters must be specified for every deployment.
|
|
36
|
-
*
|
|
37
|
-
* @default true
|
|
38
|
-
*/
|
|
39
|
-
readonly usePreviousParameters?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Rollback failed deployments
|
|
42
|
-
*
|
|
43
|
-
* @default true
|
|
44
|
-
*/
|
|
45
|
-
readonly rollback?: boolean;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Set of parameters that uniquely identify a physical resource of a given type
|
|
49
|
-
* for the import operation, example:
|
|
50
|
-
*
|
|
51
|
-
* ```
|
|
52
|
-
* {
|
|
53
|
-
* "AWS::S3::Bucket": [["BucketName"]],
|
|
54
|
-
* "AWS::DynamoDB::GlobalTable": [["TableName"], ["TableArn"], ["TableStreamArn"]],
|
|
55
|
-
* "AWS::Route53::KeySigningKey": [["HostedZoneId", "Name"]],
|
|
56
|
-
* }
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
export type ResourceIdentifiers = {
|
|
60
|
-
[resourceType: string]: string[][];
|
|
61
|
-
};
|
|
62
|
-
type ResourceIdentifierProperties = Record<string, string>;
|
|
63
|
-
/**
|
|
64
|
-
* Mapping of CDK resources (L1 constructs) to physical resources to be imported
|
|
65
|
-
* in their place, example:
|
|
66
|
-
*
|
|
67
|
-
* ```
|
|
68
|
-
* {
|
|
69
|
-
* "MyStack/MyS3Bucket/Resource": {
|
|
70
|
-
* "BucketName": "my-manually-created-s3-bucket"
|
|
71
|
-
* },
|
|
72
|
-
* "MyStack/MyVpc/Resource": {
|
|
73
|
-
* "VpcId": "vpc-123456789"
|
|
74
|
-
* }
|
|
75
|
-
* }
|
|
76
|
-
* ```
|
|
77
|
-
*/
|
|
78
|
-
type ResourceMap = {
|
|
79
|
-
[logicalResource: string]: ResourceIdentifierProperties;
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Resource importing utility class
|
|
83
|
-
*
|
|
84
|
-
* - Determines the resources added to a template (compared to the deployed version)
|
|
85
|
-
* - Look up the identification information
|
|
86
|
-
* - Load them from a file, or
|
|
87
|
-
* - Ask the user, based on information supplied to us by CloudFormation's GetTemplateSummary
|
|
88
|
-
* - Translate the input to a structure expected by CloudFormation, update the template to add the
|
|
89
|
-
* importable resources, then run an IMPORT changeset.
|
|
90
|
-
*/
|
|
91
|
-
export declare class ResourceImporter {
|
|
92
|
-
private _currentTemplate;
|
|
93
|
-
private readonly stack;
|
|
94
|
-
private readonly cfn;
|
|
95
|
-
private readonly ioHelper;
|
|
96
|
-
constructor(stack: cxapi.CloudFormationStackArtifact, props: ResourceImporterProps);
|
|
97
|
-
/**
|
|
98
|
-
* Ask the user for resources to import
|
|
99
|
-
*/
|
|
100
|
-
askForResourceIdentifiers(available: ImportableResource[]): Promise<ImportMap>;
|
|
101
|
-
/**
|
|
102
|
-
* Load the resources to import from a file
|
|
103
|
-
*/
|
|
104
|
-
loadResourceIdentifiers(available: ImportableResource[], filename: string): Promise<ImportMap>;
|
|
105
|
-
/**
|
|
106
|
-
* Based on the provided resource mapping, prepare CFN structures for import (template,
|
|
107
|
-
* ResourcesToImport structure) and perform the import operation (CloudFormation deployment)
|
|
108
|
-
*
|
|
109
|
-
* @param importMap Mapping from CDK construct tree path to physical resource import identifiers
|
|
110
|
-
* @param options Options to pass to CloudFormation deploy operation
|
|
111
|
-
*/
|
|
112
|
-
importResourcesFromMap(importMap: ImportMap, options?: ImportDeploymentOptions): Promise<void>;
|
|
113
|
-
/**
|
|
114
|
-
* Based on the app and resources file generated by cdk migrate. Removes all items from the template that
|
|
115
|
-
* cannot be included in an import change-set for new stacks and performs the import operation,
|
|
116
|
-
* creating the new stack.
|
|
117
|
-
*
|
|
118
|
-
* @param resourcesToImport The mapping created by cdk migrate
|
|
119
|
-
* @param options Options to pass to CloudFormation deploy operation
|
|
120
|
-
*/
|
|
121
|
-
importResourcesFromMigrate(resourcesToImport: ResourcesToImport, options?: ImportDeploymentOptions): Promise<void>;
|
|
122
|
-
private importResources;
|
|
123
|
-
/**
|
|
124
|
-
* Perform a diff between the currently running and the new template, ensure that it is valid
|
|
125
|
-
* for importing and return a list of resources that are being added in the new version
|
|
126
|
-
*
|
|
127
|
-
* @return mapping logicalResourceId -> resourceDifference
|
|
128
|
-
*/
|
|
129
|
-
discoverImportableResources(allowNonAdditions?: boolean): Promise<DiscoverImportableResourcesResult>;
|
|
130
|
-
/**
|
|
131
|
-
* Resolves the environment of a stack.
|
|
132
|
-
*/
|
|
133
|
-
resolveEnvironment(): Promise<cxapi.Environment>;
|
|
134
|
-
/**
|
|
135
|
-
* Get currently deployed template of the given stack (SINGLETON)
|
|
136
|
-
*
|
|
137
|
-
* @returns Currently deployed CloudFormation template
|
|
138
|
-
*/
|
|
139
|
-
private currentTemplate;
|
|
140
|
-
/**
|
|
141
|
-
* Return the current template, with the given resources added to it
|
|
142
|
-
*/
|
|
143
|
-
private currentTemplateWithAdditions;
|
|
144
|
-
/**
|
|
145
|
-
* Get a list of import identifiers for all resource types used in the given
|
|
146
|
-
* template that do support the import operation (SINGLETON)
|
|
147
|
-
*
|
|
148
|
-
* @returns a mapping from a resource type to a list of property names that together identify the resource for import
|
|
149
|
-
*/
|
|
150
|
-
private resourceIdentifiers;
|
|
151
|
-
/**
|
|
152
|
-
* Ask for the importable identifier for the given resource
|
|
153
|
-
*
|
|
154
|
-
* There may be more than one identifier under which a resource can be imported. The `import`
|
|
155
|
-
* operation needs exactly one of them.
|
|
156
|
-
*
|
|
157
|
-
* - If we can get one from the template, we will use one.
|
|
158
|
-
* - Otherwise, we will ask the user for one of them.
|
|
159
|
-
*/
|
|
160
|
-
private askForResourceIdentifier;
|
|
161
|
-
/**
|
|
162
|
-
* Convert the internal "resource mapping" structure to CloudFormation accepted "ResourcesToImport" structure
|
|
163
|
-
*/
|
|
164
|
-
private makeResourcesToImport;
|
|
165
|
-
/**
|
|
166
|
-
* Convert CloudFormation logical resource ID to CDK construct tree path
|
|
167
|
-
*
|
|
168
|
-
* @param logicalId CloudFormation logical ID of the resource (the key in the template's Resources section)
|
|
169
|
-
* @returns Forward-slash separated path of the resource in CDK construct tree, e.g. MyStack/MyBucket/Resource
|
|
170
|
-
*/
|
|
171
|
-
private describeResource;
|
|
172
|
-
/**
|
|
173
|
-
* Removes CDKMetadata and Outputs in the template so that only resources for importing are left.
|
|
174
|
-
* @returns template with import resources only
|
|
175
|
-
*/
|
|
176
|
-
private removeNonImportResources;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Removes CDKMetadata and Outputs in the template so that only resources for importing are left.
|
|
180
|
-
* @returns template with import resources only
|
|
181
|
-
*/
|
|
182
|
-
export declare function removeNonImportResources(stack: cxapi.CloudFormationStackArtifact): any;
|
|
183
|
-
/**
|
|
184
|
-
* Information about a resource in the template that is importable
|
|
185
|
-
*/
|
|
186
|
-
export interface ImportableResource {
|
|
187
|
-
/**
|
|
188
|
-
* The logical ID of the resource
|
|
189
|
-
*/
|
|
190
|
-
readonly logicalId: string;
|
|
191
|
-
/**
|
|
192
|
-
* The resource definition in the new template
|
|
193
|
-
*/
|
|
194
|
-
readonly resourceDefinition: any;
|
|
195
|
-
/**
|
|
196
|
-
* The diff as reported by `cloudformation-diff`.
|
|
197
|
-
*/
|
|
198
|
-
readonly resourceDiff: ResourceDifference;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* The information necessary to execute an import operation
|
|
202
|
-
*/
|
|
203
|
-
export interface ImportMap {
|
|
204
|
-
/**
|
|
205
|
-
* Mapping logical IDs to physical names
|
|
206
|
-
*/
|
|
207
|
-
readonly resourceMap: ResourceMap;
|
|
208
|
-
/**
|
|
209
|
-
* The selection of resources we are actually importing
|
|
210
|
-
*
|
|
211
|
-
* For each of the resources in this list, there is a corresponding entry in
|
|
212
|
-
* the `resourceMap` map.
|
|
213
|
-
*/
|
|
214
|
-
readonly importResources: ImportableResource[];
|
|
215
|
-
}
|
|
216
|
-
export interface DiscoverImportableResourcesResult {
|
|
217
|
-
readonly additions: ImportableResource[];
|
|
218
|
-
readonly hasNonAdditions: boolean;
|
|
219
|
-
}
|
|
220
|
-
export {};
|