aws-cdk 2.1144.0 → 2.1145.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 +59 -0
- package/THIRD_PARTY_LICENSES +2 -2
- package/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/api-private.d.ts +0 -1
- package/lib/api-private.js +2 -4
- package/lib/cli/cdk-toolkit.d.ts +13 -8
- package/lib/cli/cdk-toolkit.js +87 -22
- package/lib/cli/cli-config.js +10 -3
- package/lib/cli/cli-type-registry.json +20 -2
- package/lib/cli/cli.js +10 -2
- package/lib/cli/convert-to-user-input.js +5 -1
- package/lib/cli/io-host/cli-io-host.js +4 -1
- package/lib/cli/parse-command-line-arguments.js +17 -3
- package/lib/cli/user-input.d.ts +15 -1
- package/lib/cli/user-input.js +1 -1
- package/lib/index.js +1625 -913
- package/lib/init-templates/.init-version.json +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -207,6 +207,44 @@ $ cdk diff --app='node bin/main.js' MyStackName
|
|
|
207
207
|
$ cdk diff --app='node bin/main.js' MyStackName --template=path/to/template.yml
|
|
208
208
|
```
|
|
209
209
|
|
|
210
|
+
Use `--fail-on` to control which kind of change makes the command exit with code 1. It takes the same
|
|
211
|
+
values as `cdk deploy --require-approval`:
|
|
212
|
+
|
|
213
|
+
- `--fail-on=any-change`: fail on any difference. `--fail` is an alias for this value.
|
|
214
|
+
- `--fail-on=broadening`: fail only on changes that broaden security permissions, such as new IAM
|
|
215
|
+
statements or security group rules. All differences are still shown.
|
|
216
|
+
- `--fail-on=destructive`: fail only on changes that replace, delete or orphan an existing resource.
|
|
217
|
+
See below. `cdk deploy --require-approval=destructive` uses the same classification.
|
|
218
|
+
- `--fail-on=never`: never fail. `--no-fail` is an alias for this value.
|
|
219
|
+
|
|
220
|
+
```console
|
|
221
|
+
# Fail in CI only when a change broadens security permissions
|
|
222
|
+
$ cdk diff --fail-on=broadening
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
`--fail-on` cannot be combined with `--fail` or `--no-fail`. When none of them is given, the command does
|
|
226
|
+
not fail, unless the `aws-cdk:enableDiffNoFail` feature flag is set to `false`, in which case it fails on
|
|
227
|
+
any difference.
|
|
228
|
+
|
|
229
|
+
`--fail-on=destructive` lists the resources that would be replaced, deleted or orphaned, and exits with
|
|
230
|
+
code 1. Changes that update resources in place or add new resources do not cause a failure. This is
|
|
231
|
+
useful in CI to stop changes that would lose data, such as a stateful resource whose logical ID
|
|
232
|
+
changed after it was moved to another construct.
|
|
233
|
+
|
|
234
|
+
```console
|
|
235
|
+
$ cdk diff --fail-on=destructive MyStackName
|
|
236
|
+
...
|
|
237
|
+
❌ Found 1 destructive change(s) (--fail-on=destructive):
|
|
238
|
+
MyStackName: AWS::DynamoDB::Table MyTable MyTable794EDED1 will be orphaned
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
Whether a property change replaces the resource is determined by the change set, so use the default
|
|
242
|
+
`--method=auto` or `--method=change-set` for accurate results. With `--method=template`, a change to
|
|
243
|
+
a property that requires replacement is always reported as a replacement, and a change to a property
|
|
244
|
+
that may require replacement is reported as "may be replaced", which also causes a failure.
|
|
245
|
+
With `--security-only`, changes that are likely mangled non-ASCII characters are not filtered out,
|
|
246
|
+
so they can also be reported as destructive.
|
|
247
|
+
|
|
210
248
|
The stack header shows the environment the stack will be deployed to. For environment-agnostic
|
|
211
249
|
stacks this is the resolved account and region, not `unknown-account`/`unknown-region`. It is
|
|
212
250
|
omitted when diffing against a local template with `--template`, which does not contact AWS.
|
|
@@ -268,6 +306,27 @@ currently deployed stack to the template and tags that are about to be deployed
|
|
|
268
306
|
will skip deployment if they are identical. Use `--force` to override this behavior
|
|
269
307
|
and always deploy the stack.
|
|
270
308
|
|
|
309
|
+
#### Requiring approval
|
|
310
|
+
|
|
311
|
+
`--require-approval` (or `requireApproval` in `cdk.json`) controls which changes need a manual
|
|
312
|
+
confirmation before they are deployed:
|
|
313
|
+
|
|
314
|
+
- `never`: approval is never required.
|
|
315
|
+
- `any-change`: approval is required for any change to the stack.
|
|
316
|
+
- `broadening` (default): approval is required if changes broaden permissions or security group rules.
|
|
317
|
+
- `destructive`: approval is required if changes replace, delete or orphan an existing resource,
|
|
318
|
+
including resources in nested stacks. The affected resources are listed before the confirmation.
|
|
319
|
+
Changes that only broaden permissions do not require approval in this mode. With `--method=direct`,
|
|
320
|
+
no change set is created, so a change to a property that may require replacement also requires approval.
|
|
321
|
+
|
|
322
|
+
When approval is required but no terminal is attached, for example in CI, the deployment fails.
|
|
323
|
+
Use `--yes` to confirm automatically.
|
|
324
|
+
|
|
325
|
+
```console
|
|
326
|
+
# Stop before anything is replaced or deleted, deploy everything else unattended
|
|
327
|
+
$ cdk deploy --require-approval=destructive
|
|
328
|
+
```
|
|
329
|
+
|
|
271
330
|
#### Disabling Rollback
|
|
272
331
|
|
|
273
332
|
If a resource fails to be created or updated, the deployment will *roll back* before the CLI returns. All changes made
|
package/THIRD_PARTY_LICENSES
CHANGED
|
@@ -5975,7 +5975,7 @@ Apache License
|
|
|
5975
5975
|
|
|
5976
5976
|
----------------
|
|
5977
5977
|
|
|
5978
|
-
** @aws-sdk/credential-providers@3.
|
|
5978
|
+
** @aws-sdk/credential-providers@3.1145.0 - https://www.npmjs.com/package/@aws-sdk/credential-providers/v/3.1145.0 | Apache-2.0
|
|
5979
5979
|
Apache License
|
|
5980
5980
|
Version 2.0, January 2004
|
|
5981
5981
|
http://www.apache.org/licenses/
|
|
@@ -10936,7 +10936,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|
|
10936
10936
|
|
|
10937
10937
|
----------------
|
|
10938
10938
|
|
|
10939
|
-
** cdk-from-cfn@0.
|
|
10939
|
+
** cdk-from-cfn@0.336.0 - https://www.npmjs.com/package/cdk-from-cfn/v/0.336.0 | MIT OR Apache-2.0
|
|
10940
10940
|
|
|
10941
10941
|
----------------
|
|
10942
10942
|
|
package/build-info.json
CHANGED
package/db.json.gz
CHANGED
|
Binary file
|
package/lib/api-private.d.ts
CHANGED
|
@@ -11,4 +11,3 @@ export * from '../../@aws-cdk/toolkit-lib/lib/api/tags/private';
|
|
|
11
11
|
export * from '../../@aws-cdk/toolkit-lib/lib/private/activity-printer';
|
|
12
12
|
export * from '../../@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/borrowed-assembly';
|
|
13
13
|
export * from '../../@aws-cdk/toolkit-lib/lib/toolkit/private/count-assembly-results';
|
|
14
|
-
export { throwIfValidationFailures } from '../../@aws-cdk/toolkit-lib/lib/toolkit/private/validation-report';
|
package/lib/api-private.js
CHANGED
|
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
36
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
39
|
+
exports.formatExpressStabilizationWarning = exports.createIgnoreMatcher = exports.Diagnosis = exports.ChangeSetDescriber = exports.cfnApi = exports.deployStack = void 0;
|
|
40
40
|
/* eslint-disable import/no-relative-packages */
|
|
41
41
|
var deploy_stack_1 = require("../../@aws-cdk/toolkit-lib/lib/api/deployments/deploy-stack");
|
|
42
42
|
Object.defineProperty(exports, "deployStack", { enumerable: true, get: function () { return deploy_stack_1.deployStack; } });
|
|
@@ -54,6 +54,4 @@ __exportStar(require("../../@aws-cdk/toolkit-lib/lib/api/tags/private"), exports
|
|
|
54
54
|
__exportStar(require("../../@aws-cdk/toolkit-lib/lib/private/activity-printer"), exports);
|
|
55
55
|
__exportStar(require("../../@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/borrowed-assembly"), exports);
|
|
56
56
|
__exportStar(require("../../@aws-cdk/toolkit-lib/lib/toolkit/private/count-assembly-results"), exports);
|
|
57
|
-
|
|
58
|
-
Object.defineProperty(exports, "throwIfValidationFailures", { enumerable: true, get: function () { return validation_report_1.throwIfValidationFailures; } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXByaXZhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcGktcHJpdmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBZ0Q7QUFDaEQsNEZBQTBGO0FBQWpGLDJHQUFBLFdBQVcsT0FBQTtBQUVwQixpR0FBaUY7QUFDakYsOEVBQW9GO0FBQTNFLGlIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFGQUFvRjtBQUEzRSxzR0FBQSxTQUFTLE9BQUE7QUFFbEIsaUZBQXVGO0FBQTlFLG1IQUFBLG1CQUFtQixPQUFBO0FBQzVCLCtFQUFvRztBQUEzRixnSUFBQSxpQ0FBaUMsT0FBQTtBQUMxQyxnRkFBOEQ7QUFDOUQsa0ZBQWdFO0FBQ2hFLDBGQUF3RTtBQUN4RSw4R0FBNEY7QUFDNUYsd0dBQXNGO0FBQ3RGLHNHQUE2RztBQUFwRyw4SEFBQSx5QkFBeUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1yZWxhdGl2ZS1wYWNrYWdlcyAqL1xuZXhwb3J0IHsgZGVwbG95U3RhY2sgfSBmcm9tICcuLi8uLi9AYXdzLWNkay90b29sa2l0LWxpYi9saWIvYXBpL2RlcGxveW1lbnRzL2RlcGxveS1zdGFjayc7XG5leHBvcnQgdHlwZSB7IERlcGxveVN0YWNrT3B0aW9ucyBhcyBEZXBsb3lTdGFja0FwaU9wdGlvbnMsIERlc3Ryb3lTdGFja1Jlc3VsdCB9IGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi9hcGkvZGVwbG95bWVudHMvZGVwbG95LXN0YWNrJztcbmV4cG9ydCAqIGFzIGNmbkFwaSBmcm9tICcuLi8uLi9AYXdzLWNkay90b29sa2l0LWxpYi9saWIvYXBpL2RlcGxveW1lbnRzL2Nmbi1hcGknO1xuZXhwb3J0IHsgQ2hhbmdlU2V0RGVzY3JpYmVyIH0gZnJvbSAnLi4vLi4vQGF3cy1jZGsvdG9vbGtpdC1saWIvbGliL2FwaS9jaGFuZ2Utc2V0cyc7XG5leHBvcnQgeyBEaWFnbm9zaXMgfSBmcm9tICcuLi8uLi9AYXdzLWNkay90b29sa2l0LWxpYi9saWIvYXBpL2RpYWdub3NpbmcvZGlhZ25vc2lzJztcbmV4cG9ydCB0eXBlIHsgQ2hhbmdlU2V0UmVwb3J0IH0gZnJvbSAnLi4vLi4vQGF3cy1jZGsvdG9vbGtpdC1saWIvbGliL2FwaS9jaGFuZ2Utc2V0cyc7XG5leHBvcnQgeyBjcmVhdGVJZ25vcmVNYXRjaGVyIH0gZnJvbSAnLi4vLi4vQGF3cy1jZGsvdG9vbGtpdC1saWIvbGliL3V0aWwvZ2xvYi1tYXRjaGVyJztcbmV4cG9ydCB7IGZvcm1hdEV4cHJlc3NTdGFiaWxpemF0aW9uV2FybmluZyB9IGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi91dGlsL2Nmbi1leHByZXNzJztcbmV4cG9ydCAqIGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi9hcGkvaW8vcHJpdmF0ZSc7XG5leHBvcnQgKiBmcm9tICcuLi8uLi9AYXdzLWNkay90b29sa2l0LWxpYi9saWIvYXBpL3RhZ3MvcHJpdmF0ZSc7XG5leHBvcnQgKiBmcm9tICcuLi8uLi9AYXdzLWNkay90b29sa2l0LWxpYi9saWIvcHJpdmF0ZS9hY3Rpdml0eS1wcmludGVyJztcbmV4cG9ydCAqIGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi9hcGkvY2xvdWQtYXNzZW1ibHkvcHJpdmF0ZS9ib3Jyb3dlZC1hc3NlbWJseSc7XG5leHBvcnQgKiBmcm9tICcuLi8uLi9AYXdzLWNkay90b29sa2l0LWxpYi9saWIvdG9vbGtpdC9wcml2YXRlL2NvdW50LWFzc2VtYmx5LXJlc3VsdHMnO1xuZXhwb3J0IHsgdGhyb3dJZlZhbGlkYXRpb25GYWlsdXJlcyB9IGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi90b29sa2l0L3ByaXZhdGUvdmFsaWRhdGlvbi1yZXBvcnQnO1xuIl19
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXByaXZhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcGktcHJpdmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBZ0Q7QUFDaEQsNEZBQTBGO0FBQWpGLDJHQUFBLFdBQVcsT0FBQTtBQUVwQixpR0FBaUY7QUFDakYsOEVBQW9GO0FBQTNFLGlIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFGQUFvRjtBQUEzRSxzR0FBQSxTQUFTLE9BQUE7QUFFbEIsaUZBQXVGO0FBQTlFLG1IQUFBLG1CQUFtQixPQUFBO0FBQzVCLCtFQUFvRztBQUEzRixnSUFBQSxpQ0FBaUMsT0FBQTtBQUMxQyxnRkFBOEQ7QUFDOUQsa0ZBQWdFO0FBQ2hFLDBGQUF3RTtBQUN4RSw4R0FBNEY7QUFDNUYsd0dBQXNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLXJlbGF0aXZlLXBhY2thZ2VzICovXG5leHBvcnQgeyBkZXBsb3lTdGFjayB9IGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi9hcGkvZGVwbG95bWVudHMvZGVwbG95LXN0YWNrJztcbmV4cG9ydCB0eXBlIHsgRGVwbG95U3RhY2tPcHRpb25zIGFzIERlcGxveVN0YWNrQXBpT3B0aW9ucywgRGVzdHJveVN0YWNrUmVzdWx0IH0gZnJvbSAnLi4vLi4vQGF3cy1jZGsvdG9vbGtpdC1saWIvbGliL2FwaS9kZXBsb3ltZW50cy9kZXBsb3ktc3RhY2snO1xuZXhwb3J0ICogYXMgY2ZuQXBpIGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi9hcGkvZGVwbG95bWVudHMvY2ZuLWFwaSc7XG5leHBvcnQgeyBDaGFuZ2VTZXREZXNjcmliZXIgfSBmcm9tICcuLi8uLi9AYXdzLWNkay90b29sa2l0LWxpYi9saWIvYXBpL2NoYW5nZS1zZXRzJztcbmV4cG9ydCB7IERpYWdub3NpcyB9IGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi9hcGkvZGlhZ25vc2luZy9kaWFnbm9zaXMnO1xuZXhwb3J0IHR5cGUgeyBDaGFuZ2VTZXRSZXBvcnQgfSBmcm9tICcuLi8uLi9AYXdzLWNkay90b29sa2l0LWxpYi9saWIvYXBpL2NoYW5nZS1zZXRzJztcbmV4cG9ydCB7IGNyZWF0ZUlnbm9yZU1hdGNoZXIgfSBmcm9tICcuLi8uLi9AYXdzLWNkay90b29sa2l0LWxpYi9saWIvdXRpbC9nbG9iLW1hdGNoZXInO1xuZXhwb3J0IHsgZm9ybWF0RXhwcmVzc1N0YWJpbGl6YXRpb25XYXJuaW5nIH0gZnJvbSAnLi4vLi4vQGF3cy1jZGsvdG9vbGtpdC1saWIvbGliL3V0aWwvY2ZuLWV4cHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi4vLi4vQGF3cy1jZGsvdG9vbGtpdC1saWIvbGliL2FwaS9pby9wcml2YXRlJztcbmV4cG9ydCAqIGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi9hcGkvdGFncy9wcml2YXRlJztcbmV4cG9ydCAqIGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi9wcml2YXRlL2FjdGl2aXR5LXByaW50ZXInO1xuZXhwb3J0ICogZnJvbSAnLi4vLi4vQGF3cy1jZGsvdG9vbGtpdC1saWIvbGliL2FwaS9jbG91ZC1hc3NlbWJseS9wcml2YXRlL2JvcnJvd2VkLWFzc2VtYmx5JztcbmV4cG9ydCAqIGZyb20gJy4uLy4uL0Bhd3MtY2RrL3Rvb2xraXQtbGliL2xpYi90b29sa2l0L3ByaXZhdGUvY291bnQtYXNzZW1ibHktcmVzdWx0cyc7XG4iXX0=
|
package/lib/cli/cdk-toolkit.d.ts
CHANGED
|
@@ -285,11 +285,16 @@ export interface DiffOptions {
|
|
|
285
285
|
*/
|
|
286
286
|
readonly contextLines?: number;
|
|
287
287
|
/**
|
|
288
|
-
*
|
|
288
|
+
* Which kind of change makes the diff fail with exit code 1
|
|
289
289
|
*
|
|
290
|
-
*
|
|
290
|
+
* - `any-change`: any difference
|
|
291
|
+
* - `broadening`: a change that broadens security permissions
|
|
292
|
+
* - `destructive`: a change that replaces, deletes or orphans an existing resource
|
|
293
|
+
* - `never`: the diff never fails
|
|
294
|
+
*
|
|
295
|
+
* @default RequireApproval.NEVER
|
|
291
296
|
*/
|
|
292
|
-
readonly
|
|
297
|
+
readonly failOn?: RequireApproval;
|
|
293
298
|
/**
|
|
294
299
|
* Only run diff on broadened security changes
|
|
295
300
|
*
|
|
@@ -386,6 +391,11 @@ export interface CliValidateOptions extends ValidateOptions {
|
|
|
386
391
|
readonly watch?: boolean;
|
|
387
392
|
}
|
|
388
393
|
interface WatchOptions extends Omit<CfnDeployOptions, 'execute'> {
|
|
394
|
+
/**
|
|
395
|
+
* Path to file where stack outputs will be written after a successful deploy as JSON
|
|
396
|
+
* @default - Outputs are not written to any file
|
|
397
|
+
*/
|
|
398
|
+
outputsFile?: string;
|
|
389
399
|
/**
|
|
390
400
|
* Reuse the assets with the given asset IDs
|
|
391
401
|
*/
|
|
@@ -446,11 +456,6 @@ export interface DeployOptions extends CfnDeployOptions, WatchOptions {
|
|
|
446
456
|
* @default true
|
|
447
457
|
*/
|
|
448
458
|
usePreviousParameters?: boolean;
|
|
449
|
-
/**
|
|
450
|
-
* Path to file where stack outputs will be written after a successful deploy as JSON
|
|
451
|
-
* @default - Outputs are not written to any file
|
|
452
|
-
*/
|
|
453
|
-
outputsFile?: string;
|
|
454
459
|
/**
|
|
455
460
|
* Whether we are on a CI system
|
|
456
461
|
*
|