这是 AWS CDK v2 开发者指南。旧版 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
cdk diff
执行差异以查看 AWS CDK 堆栈之间的基础架构变化。
此命令通常用于比较本地 CDK 应用程序中堆栈的当前状态与已部署堆栈之间的差异。但是,您也可以将已部署的堆栈与任何本地 AWS CloudFormation 模板进行比较。
使用量
$
cdk diff
<arguments>
<options>
参数
- CDK 堆栈 ID
-
应用程序中执行 diff 的 CDK 堆栈的构造 ID。
类型:字符串
必需:否
选项
查看适用于所有 CDK 的全局选项列表 CLI 命令,请参阅全局选项。
--change-set
BOOLEAN
-
指定是否创建更改集来分析资源替换。
什么时候
true
,CDK CLI 将创建一个 AWS CloudFormation 更改集以显示将对堆栈所做的确切更改。此输出包括是否更新或替换资源。CDK CLI 使用部署角色而不是查找角色来执行此操作。何时
false
,通过比较模板来执行更快但不太准确的差异。 CloudFormation 检测到的任何需要资源替换的属性更改都将显示为资源替换,即使纯粹是表面更改,例如用硬编码的 ARN 替换资源引用。默认值:
true
--context-lines
NUMBER
-
任意 JSON diff 渲染中包含的上下文行数。
默认值:
3
--exclusively, -e
BOOLEAN
-
仅对请求的堆栈执行 diff,不包括依赖项。
--fail
BOOLEAN
-
如果检测到差异,则失败并退出,显示代码
1
。 --help, -h
BOOLEAN
-
显示
cdk diff
命令的命令参考信息。 --processed
BOOLEAN
-
指定是否与已处理 CloudFormation 变换的模板进行比较。
默认值:
false
--quiet, -q
BOOLEAN
-
当未检测到任何更改时,请勿将 CDK 堆栈名称和默认
cdk diff
消息打印到stdout
。默认值:
false
--security-only
BOOLEAN
-
仅在安全更改范围扩大时才执行 diff。
默认值:
false
--strict
BOOLEAN
-
修改
cdk diff
行为,使其更加精确或严格。如果属实,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'
将本地堆栈与其部署的堆栈执行 diff。如果未检测到任何更改,请勿打印到 stdout
$
cdk diff MyStackName --app='node bin/main.js' --quiet