cdk diff - AWS Cloud Development Kit (AWS CDK) v2

这是 AWS CDK v2 开发者指南。较旧的 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

cdk diff

执行差异以查看 AWS CDK 堆栈之间的基础架构变化。

此命令通常用于比较本地 CDK 应用程序中堆栈的当前状态与已部署堆栈之间的差异。但是,您也可以将已部署的堆栈与任何本地 AWS CloudFormation 模板进行比较。

使用量

$ cdk diff <arguments> <options>

参数

CDK 堆栈逻辑 ID

您的应用程序中用于执行差异的 CDK 堆栈的逻辑 ID。

类型:字符串

必需:否

Options

有关适用于所有 CDK CLI 命令的全局选项的列表,请参阅全球期权

--change-set BOOLEAN

指定是否创建更改集来分析资源替换。

何时true,CDK CLI 将创建一个 AWS CloudFormation 更改集,以显示将对您的堆栈所做的确切更改。此输出包括是更新还是替换资源。CDK CLI 使用部署角色而不是查找角色来执行此操作。

何时false,通过比较模板来执行更快但不太准确的差异。 CloudFormation 检测到的需要资源替换的属性的任何更改都将显示为资源替换,即使更改纯粹是表面上的,例如用硬编码的 ARN 替换资源引用。

默认值true

--context-lines NUMBER

任意 JSON 差异渲染中要包含的上下文行数。

默认值3

--exclusively, -e BOOLEAN

只对请求的堆栈进行比较,不包括依赖关系。

--fail BOOLEAN

失败并退出,1如果检测到差异,则返回代码。

--help, -h BOOLEAN

显示命令的cdk diff命令参考信息。

--processed BOOLEAN

指定是否与已处理 CloudFormation 变换的模板进行比较。

默认值false

--quiet, -q BOOLEAN

当未检测到任何更改stdout时,请勿将 CDK 堆栈名称和默认cdk diff消息打印到。

默认值false

--security-only BOOLEAN

只有在更广泛的安全更改时才会有差异。

默认值false

--strict BOOLEAN

修改cdk diff行为使其更加精确或严格。如果为 true,CDK CLI 将不会过滤掉AWS::CDK::Metadata资源或不可读的非 ASCII 字符。

默认值false

--template STRING

要与 CDK 堆栈进行比较的 CloudFormation 模板路径。

示例

与当前部署的名为的堆栈进行比较 MyStackName

$ cdk diff MyStackName --app='node bin/main.js'

与特定 CloudFormation 模板进行比较

$ cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'

将本地堆栈与其部署的堆栈进行比较。如果未检测到任何更改,请不要打印到 stdout

$ cdk diff MyStackName --app='node bin/main.js' --quiet