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

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

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

cdk flags

查看和修改 CDK CLI 的功能标志配置。

功能标志控制 CDK CLI 的行为,您可以使用它们来启用或禁用特定功能。请使用 cdk flags 命令查看您当前的功能标志配置并根据需要对其进行修改。

警告

正在为 AWS CDK 开发 cdk flags 命令。此命令的当前功能被视为生产就绪,可以安全使用。但是,此命令的范围和功能可能会发生变化。因此,您必须通过提供 unstable=flags 命令选择加入来使用此命令。

使用量

$ cdk flags <arguments> <options>

参数

FLAGNAME

您要查看或修改的特定功能标志的名称。

类型:字符串

必需:否

选项

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

--set <BOOLEAN>

修改功能标志配置。

--all <BOOLEAN>

修改或查看所有功能标志。

--recommended <BOOLEAN>

将标志更改为推荐的状态。

--default <BOOLEAN>

将标志更改为默认状态。

--unconfigured <BOOLEAN>

修改未配置的功能标志。

--value <STRING>

要将功能标志配置设置为的值。

requiresArg:true

--safe <BOOLEAN>

启用所有不会影响应用程序的功能标志。

--interactive, -i <BOOLEAN>

flags 命令的交互式选项。

示例

查看功能标志配置

运行 cdk flags 以查看与推荐状态不同的功能标志配置的报告。未配置的标志标有 <unset>,表示该标志当前没有值。标志会按以下顺序显示:

  • 将标记设置为与建议值不匹配的值

  • 尚未配置的标志

$ cdk flags --unstable=flags Feature Flag Recommended User * @aws-cdk/... true false * @aws-cdk/... true false * @aws-cdk/... true <unset>

您还可以运行 cdk flags --all 来按以下顺序查看所有功能标志的报告:

  • 将标记设置为与建议值匹配的值

  • 将标记设置为与建议值不匹配的值

  • 尚未配置的标志

$ cdk flags --unstable=flags --all Feature Flag Recommended User @aws-cdk/... true true * @aws-cdk/... true false * @aws-cdk/... true false * @aws-cdk/... true <unset>

修改功能标志值

要以交互方式修改功能标志,请运行 cdk flags --interactive(或 cdk flags -i)查看菜单选项列表。

要将每个功能标志更改为建议值,请运行 cdk flags --set --recommended --all。此命令可使您的功能标志配置与最新的 CDK 功能标志配置保持同步。请注意,运行此命令可能会覆盖现有的配置值。

$ cdk flags --unstable=flags --set --recommended --all Feature Flag Recommended Value User Value * @aws-cdk/... true false * @aws-cdk/... true false * @aws-cdk/... true <unset> Synthesizing... Resources [~] AWS::S3::Bucket MyBucket └─ [~] Properties └─ [~] Encryption ... Number of stacks with differences: 2 Do you want to accept these changes? (y/n) y Resynthesizing...

如果您想要保留现有已配置标志的状态,请运行 cdk flags --set --recommended --unconfigured。此选项仅将未配置的功能标志更改为推荐值。

$ cdk flags --unstable=flags --set --recommended --unconfigured Feature Flag Recommended Value User Value * @aws-cdk/... true <unset> * @aws-cdk/... true <unset> Synthesizing... Resources [~] AWS::S3::Bucket MyBucket └─ [~] Properties └─ [~] Encryption ├─ [-] None └─ [+] ServerSideEncryptionConfiguration: - ... ... Number of stacks with differences: 2 Do you want to accept these changes? (y/n) y Resynthesizing...

如果想要确保任何未配置的功能标志不会干扰您的应用程序,请运行 cdk flags --set --default --unconfigured 命令来将未配置的标志更改为其默认值。例如,如果未配置 @aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021,则在运行 cdk synth 后会显示一条通知。但是,如果将该标志设置为其默认状态 (false),则将对其进行配置和关闭,而不会影响您的应用程序。

$ cdk flags --unstable=flags --set --default --unconfigured Feature Flag Recommended Value User Value * @aws-cdk/... true <unset> * @aws-cdk/... true <unset> Synthesizing... Do you want to accept these changes? (y/n) y Resynthesizing...

检查特定功能标志

查看有关标志的更多信息

除了运行 cdk flagscdk flags --all 查看功能标志配置之外,您还可以使用 cdk flags "FLAGNAME" 来检查特定功能标志,并了解该标志的作用。这在您想要了解某个特定标志及其对应用程序的影响时非常有用。

$ cdk flags --unstable=flags "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021" Description: Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default. Recommended Value: true User Value: true

按子字符串筛选标志

您还可以运行 cdk flags substring 来查看所有匹配的功能标志。如果只有一个功能标志与该子字符串匹配,则会显示具体的详细信息。

$ cdk flags --unstable=flags ebs @aws-cdk/aws-ec2:ebsDefaultGp3Volume Description: When enabled, the default volume type of the EBS volume will be GP3 Recommended Value: true User Value: true

如果多个标志与子字符串匹配,则所有匹配标志都会显示在表格中。如果输入多个子字符串,则会返回包含其中任意一个子字符串的所有匹配标志。

$ cdk flags --unstable=flags s3 lambda Feature Flag Recommended User * @aws-cdk/s3... true false * @aws-cdk/lambda... true false * @aws-cdk/lambda... true <unset>

修改特定标志

如果您需要修改某个标志的值,并希望确保将其设置为正确且受支持的状态,请运行 cdk flags --set "FLAGNAME" --value="state"

$ cdk flags --unstable=flags --set "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021" --value="true" Synthesizing... Resources [~] AWS::CloudFront::Distribution MyDistribution └─ [~] Properties └─ [~] DefaultSecurityPolicy ├─ [-] TLSv1.0 └─ [+] TLSv1.2_2021 - ... Number of stacks with differences: 2 Do you want to accept these changes? (y/n) y Resynthesizing...