From 5a975ff99cceab33517d6dd7cdbfd1290fb42c67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=91=A8=F0=9F=8F=BC=E2=80=8D=F0=9F=92=BB=20Romain=20M?= =?UTF-8?q?arcadier-Muller?= Date: Fri, 28 Dec 2018 10:42:21 +0100 Subject: [PATCH] chore: Document return behavior of cdk diff The `cdk diff` command intentionally returns non-zero when a difference is found, similar to how the POSIX `diff` command behaves (returning 0 when no difference is found, 1 when some difference is found, and >1 when an error occurred). This behavior was however undocumented, possibly leading to user confusion. This change adds a note in `cdk --help` that mentions the exit code 1 will be used when a difference is found. --- packages/aws-cdk/bin/cdk.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/aws-cdk/bin/cdk.ts b/packages/aws-cdk/bin/cdk.ts index c91f10123ab8e..2b9a0ea0f4173 100644 --- a/packages/aws-cdk/bin/cdk.ts +++ b/packages/aws-cdk/bin/cdk.ts @@ -58,7 +58,7 @@ async function parseCommandLineArguments() { .option('require-approval', { type: 'string', choices: [RequireApproval.Never, RequireApproval.AnyChange, RequireApproval.Broadening], desc: 'what security-sensitive changes need manual approval' })) .command('destroy [STACKS..]', 'Destroy the stack(s) named STACKS', yargs => yargs .option('force', { type: 'boolean', alias: 'f', desc: 'Do not ask for confirmation before destroying the stacks' })) - .command('diff [STACK]', 'Compares the specified stack with the deployed stack or a local template file', yargs => yargs + .command('diff [STACK]', 'Compares the specified stack with the deployed stack or a local template file, and returns with status 1 if any difference is found', yargs => yargs .option('template', { type: 'string', desc: 'the path to the CloudFormation template to compare with' }) .option('strict', { type: 'boolean', desc: 'do not filter out AWS::CDK::Metadata resources', default: false })) .command('metadata [STACK]', 'Returns all metadata associated with this stack')