云可执行 API
这个模块是 AWS 云开发套件 项目.
V2 特性旗
@aws-cdk/aws-s3:createDefaultLoggingPolicy
在默认情况下启用此特性旗以创建 S3 桶策略 如果政策不存在,则AWS服务将自动创建政策.
例如,为了将 VPC 流量日志发送到 S3 桶, 有一个特定的 Bucket 政策 这需要附着在桶上。 如果您创建了无保险桶, 然后添加 桶作为流程日志目的地,服务会自动创建桶策略 必要的权限。 如果你想要的话 试着加入你自己的桶政策 CloudFormation会扔 并错误地显示桶策略已经存在.
在知道需要什么政策的情况下,我们可以着手制定政策,以便 继续控制它.
页:1
{
"context": {
"@aws-cdk/aws-s3:createDefaultLoggingPolicy": true
}
}
@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption
启用此特性旗以限制订阅 SNS 主题的 SQS 队列的解密 只有它所订阅的题目,而不是账户的整个SNS服务.
此前解密仅限于SNS服务本能. 让SQS订阅更多 安全, 进一步限制解密, 并且只允许连接的 SNS 主题解密是一种良好做法 指定队列.
页:1
{
"context": {
"@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true
}
}
- @aws-cdk/aws-apigateway:不可移动的克卢德监视器
启用此特性旗可以更改 aws- apigateway 的默认行为 。 休息Api和Aws -apigateway。 (笑声) SpecRestApi 图像 改为 没有 创建 Cloud Watch 角色和账户。 AWS 只有一个 ApiGateway 账户 环境,这意味着每次您在账户中创建 ApiGateway 账户时 被覆盖。 如果在某个时候删除最新的ResetApi, ApiGateway 账户和 Cloud Watch 角色也会被删除,从而打破任何依赖于它们的现有 ApiGateways .
当启用此旗帜时, 您应该创建 ApiGateway 账户和 Cloud Watch 角色 单独 或者说 只允许在单个 RestApi 上使用“ 云表” .
页:1
{
"context": {
"@aws-cdk/aws-apigateway:disableCloudWatchRole": true
}
}
@aws-cdk/core:enablePartitionLiterals
启用此特性旗 Stack.partition 返回堆栈分区的字串
当堆栈配置了已知的区域时。 如果区域未定义或设定为未知值,则
Stack.partition 将是 CloudForm 内在值 AWS::Partition。没有这个特征旗,
Stack.partition 总是返回 CloudFormation 内在值 AWS::Partition。 。 。 .
此特性会经常简化 CDK 生成模板中的 ARN 字符串, 例如 :
Principal:
AWS:
Fn::Join:
- ""
- - "arn:"
- Ref: AWS::Partition
- :iam::123456789876:root
改为:
Principal:
AWS: "arn:aws:iam::123456789876:root"
@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker
启用此特性旗以避免设置“ ECS” 部署控制器时将断路器添加到一个 ECS Service,因为这将触发一个在使用设定的服务名称时未能部署的全员替换. 这不会改变任何行为,因为默认的部署控制器在未定义时是ECS.
页:1
{
"context": {
"@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true
}
}
@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy
启用此特性旗以使用 S3 Bucket 策略来授权 fo 服务器访问日志 而不是使用罐装的 “Log delivetiveWrite” ACL。 当对象所有权为时, ACLs 不工作 启用在桶上.
此旗帜使用 Bucket 策略语句允许服务器访问日志发送, 并遵循最佳 s3惯例.
{
"context": {
"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true
}
}
@aws-cdk/aws-rds:databaseProxyUniqueResourceName
启用此特性旗为每个特性使用唯一资源名称 DatabaseProxy。 。 。 .
之前,默认行为 DatabaseProxy 是用来 id 用于 dbProxyName。 。 。 .
在这种情况下,用户无法部署 DatabaseProxy拥有相同的 id 在同一个地区.
这是一个特性旗,因为旧行为在技术上是不正确的,但用户可能已经依赖它.
{
"context": {
"@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true
}
}
@aws-cdk/aws-redshift:columnId
启用此特性旗, 允许 CDK 通过它们跟踪红移列的变化 id 属性。 这是一个突破性的变化,像 name 目前正在使用属性来跟踪Redshift列的更改.
启用此特性旗对于现有的 Redshift 列有风险, 如 name 正在使用红移列的属性。 因此,改变一列"再转" name 基本上将创建一个新栏并删除旧栏。 这将造成数据丢失。 如果您选择启用此旗帜, 请保证在插入部署( 设置此特性旗后的首次部署) 时 name 每个列的属性不更改。 内部部署后,你可以自由改变 name 列属性.
页:1
{
"context": {
"@aws-cdk/aws-redshift:columnId": true
}
}
@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2
启用此特性旗以使用“ AmazonEMRServices Policy v2” 管理的政策来发挥EMR 服务作用 .
这是一个特性旗,因为旧行为会贬值,但有些资源可能需要人工操作 因为他们可能没有自动散发适当的标签.
页:1
{
"context": {
"@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true
}
}
@aws-cdk/core:includePrefixInUniqueNameGeneration
启用此特性旗将堆栈的前缀包含到名称生成过程中 .
不这样做会导致堆栈名称超过128个字符:
- 名称生成保证不会超过128个字符
- 没有这个功能旗,前缀会被预设到生成的名称上,结果可以超过128个字符
这是更改为堆栈生成的名称时的特征旗. 任何在此修正之前部署的 CDK 应用程序 最有可能用新名称生成,导致堆栈被用新名称再创建,再删除旧名. 对于在生产环境中运行的应用程序来说,这可能无法管理.
页:1
{
"context": {
"@aws-cdk/core:includePrefixInUniqueNameGeneration": true
}
}
@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion
启用此特性旗可自动在aws-lambda-nodejs中使用最新可用的节点JS版本. 函数构造 .
这样可以使用一个版本创建新功能,该版本将自动保持最新状态,而不会打破将包含在其环境中的软件包外部化的现有功能的捆绑,例如 aws-sdk。 。 。 .
先前定义的函数只要通过明确的运行时版本,或者不排除捆绑时的软件包,就会继续正确运行.
页:1
{
"context": {
"@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true
}
}
@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource
启用此特性旗以更新代码承诺源动作的默认分支 main。 。 。 .
之前,代码承诺源动作的默认分支被设定为 master。 。 。 .
然而,这项公约不再得到支持,在2021年3月之后创建的储存库现在拥有 main 作为
他们的默认分支.
页:1
{
"context": {
"@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true
}
}
@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction
启用此特性旗以更改逻辑 ID LambdaPermission 联 合 国 LambdaAction 包括一个报警ID.
之前只有一次警报 LambdaAction 每一个Lambda都可以创建.
此旗帜允许使用 : LambdaAction 以创造同样的蓝巴达.
页:1
{
"context": {
"@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true
}
}
@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse
启用管道设置默认值 crossAccountKeys 以假相报.
当启用此特性旗时, 以及 crossAccountKeys a 不提供财产 Pipeline
构造,该构造自动默认此属性的值为虚假.
页:1
{
"context": {
"@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true
}
}
@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2
启用管道将默认管道类型设置为 V2 .
当启用此特性旗时, 以及 pipelineType a 不提供财产 Pipeline
构造,该构造自动默认此属性的值为 PipelineType.V2。 。 。 .
页:1
{
"context": {
"@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true
}
}
@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope
缩小IMA政策的资源范围,从KMS关键赠款减少到仅授予关键.
当启用此特性旗并调用 KMS 密钥赠与方法时, 创建的 IAM 政策将缩小资源范围 '*' 到这个特定的授予 KMS 密钥.
页:1
{
"context": {
"@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true
}
}
@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal
启用对导入的 KMS 异名的赠出方法, 以应用别名范围的权限 kms:ResourceAliases 条件密钥。 当此旗被禁用时, 赠款* 方法 Alias.fromAliasName 保持原有行为.
页:1
{
"context": {
"@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": true
}
}
@aws-cdk/aws-eks:nodegroupNameAttribute
启用时, 节点组 提供 EKS 节点组的名称属性不会有组名前缀 .
当启用此特性旗时, 节点组 名称属性将完全为节点组的名称 没有任何前缀.
页:1
{
"context": {
"@aws-cdk/aws-eks:nodegroupNameAttribute": true
}
}
@aws-cdk/aws-ec2:ebsDefaultGp3Volume
启用时, EBS 音量的默认音量类型将是 GP3.
当启用此 featuer 旗时, EBS 卷的默认音量类型将是 EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3
页:1
{
"context": {
"@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true
}
}
@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm
启用时, 删除默认的部署提醒设置 .
当启用此 featuer 旗时, 在创建 AWS ECS 服务时, 删除默认的部署提醒设置 .
页:1
{
"context": {
"@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true
}
}
@aws-cdk/aws-stepfunctions-tasks:ecsReduceRunTaskPermissions
启用后,为运行任务而创建的IAM Policy将不会包括任务定义ARN,只有修订ARN.
当启用此特性旗时,为运行任务而创建的IAM Policy将不会包括任务定义ARN,只有修订版ARN. 修订版ARN比任务定义ARN更具体. 见 https://docs.aws.amazon.com/step-unctions/latest/dg/ecs-iam.html 互联网档案馆的存檔,存档日期2013-12-21 更多细节.
页:1
{
"context": {
"@aws-cdk/aws-stepfunctions-tasks:ecsReduceRunTaskPermissions": true
}
}
@aws-cdk/aws-stepfunctions-taks:useNewS3UriParametersForBedrockInvokeModelTask
启用时, 在 S3 URI 下使用新道具 input 财务报告和审定财务报表 output 字段,用于定义国家机器的基岩引用模型.
启用此特性旗时, 使用新引入的道具 s3InputUri 财务报告和审定财务报表 s3OutputUri 在Bedrock引用模型的状态机器任务定义中,在输入和输出字段下插入 S3 uri.
页:1
{
"context": {
"@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": true
}
}
@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions
目前,当没有云表日志组时,我们将自动为任务角色添加一些云表权限 指定为日志配置,并赋予任务角色“资源”:['*].
当启用此特性旗时, 我们只会在用户指定云表日志组时给予必要的权限 .
页:1
{
"context": {
"@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true
}
}
@aws-cdk/aws-ec2:ec2SumTImeoutEnabled
目前两者都是可选的。 超时和资源 在创建 EC2 实例的选项中都指定了超时, 仅使用“ 资源信号超时” 的值 .
当启用此特性标记时, 如果两者都启用 。 指定了超时和资源SignalTimeout,这些值将被汇总在一起.
页:1
{
"context": {
"@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true
}
}
@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission
目前,在使用带有AppSync GraphQL API的Lambda授权器时,AWS CDK会自动生成必要的AWS::Lambda:::::::::::::允许AppSync API引用Lambda授权器. 这种许可过于宽容,因为它缺少SourceArn,这意味着它允许从任何来源引用.
当启用此特性旗时, AWS:::Lambda:::Permission将会与对应特定 AppSync GraphQL API 的 SourceArn 进行适当的范围设定.
页:1
{
"context": {
"@aws-cdk/aws-ec2:appSyncGraphQLAPIScopeLambdaPermission": true
}
}
@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId
启用时, 属性值 instanceResourceId 正在构建 DatabaseInstanceReadReplica 将设置为正确的值,即: DbiResourceId 而不是现在 DbInstanceArn* (编号)
当启用此特性标记时, 该属性的值将按预期设置 DbiResourceId 属性,并以此来修正 GrantConnect 方法.
页:1
{
"context": {
"@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true
}
}
@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages
目前,当将 Lambda 与支持 AWS SDK JavaScript (v3) 的非最晚运行时间捆绑时,只有 @aws-sdk/* 默认排除软件包.
但是,这可能造成版本不匹配 @aws-sdk/* 财务报告和审定财务报表 @smithy/* 软件包,因为它们在 AWS SDK v3 中是紧密结合的依赖关系.
当启用此特性标记时, 两者均 @aws-sdk/* 财务报告和审定财务报表 @smithy/* 在捆绑过程中将排除软件包。 这可以确保不匹配
在Lambda函数中使用 AWS SDK v3 时发生于这些紧密结合的依赖关系之间.
页:1
{
"context": {
"@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true
}
}
@aws-cdk/aws-dynamodb:resourcePolicyPerReplica
如果未设置此旗帜, “表V2” 的默认行为就是对每份复制品使用不同的“资源政策”.
如果这面旗帜被设定为虚假,行为是每个复制品与源表共享相同的"资源政策". 这将阻止您创建一个新的表格,该表格将包含一个额外的复制品和资源政策.
这是一个特性旗,因为旧行为在技术上是不正确的,但用户可能已经依赖它.
页:1
{
"context": {
"@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": false,
},
}
@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource
启用时,在不创建自定义资源的情况下,对用户池域目标的DNS名称使用新方法.
启用此功能旗后, 将使用新方法获取用户池域目标的 DNS 名称 。 旧方法 内部创建自定义资源,但新方法不需要自定义资源.
如果国旗被设定为虚假, 那么在使用时将会创建自定义资源 UserPoolDomainTarget。 。 。 .
页:1
{
"context": {
"@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true
}
}
@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault
启用后,默认的安全小组入侵规则将允许IPv6从任何地方入侵,
对于互联网面对ALBs dualstack-without-public-ipv4 IP 地址类型, 默认的安全组规则
允许IPv6从任何地方入侵(:/0). 此前,默认的担保集团规则只允许IPv4入侵.
使用特征旗,确保现有客户可能依赖 限制过多的许可没有被打破,
如果国旗被设定为虚假,那么默认的安全组规则只允许IPv4入侵.
页:1
{
"context": {
"@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": true
}
}
@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections
当启用此特性旗时, OIDC 提供者自定义资源处理器的默认行为将 默认在下载 CA 证书时拒绝未经授权的连接.
当此特性旗被禁用时, 行为会和当前相同, 并允许下载 指纹来自不安全的连接.
页:1
{
"context": {
"@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": true
}
}
@aws-cdk/core:enableAdditionalMetadataCollection
当启用此特性旗时, CDK 将使用数据收集范围扩大至包括:
- L2 构造属性密钥 - 从应用程序中的 L2 构造中收集您使用的属性密钥 。 这包括嵌入于词典对象的属性密钥.
- L2 构造 BOOL 和 ENUM 类型的属性值 - 仅收集 BOOL 和 ENUM 类型的属性关键值 。 所有其他类型,例如字符串值或构造引用都将被编辑.
- L2构建方法用法 - BOOL和ENUM类型的收集方法名称,参数键和参数值.
页:1
{
"context": {
"@aws-cdk/core:enableAdditionalMetadataCollection": true
}
}
@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy
[已折旧的默认功能] 当启用此特性旗后, Lambda 将使用 AddToRole Policy 创建新的内置策略. 这样做的目的是为了防止羊肉达对默认政策声明产生依赖. 这解决了一个问题,如果在像Cognitto Trigger的东西上添加了lambda,然后在lambda执行角色权限上添加了User Pool,就会出现循环依赖. 然而,在目前的执行工作中,我们已经消除了羊群职能对政策的依赖。 除此之外,还将在政策中规定一项作用,而不是在角色中规定一项内在政策. 这将在 CloudFormation 模板中创建一个数据种族条件,因为 Lambda 函数的创建不再等待政策创建. 尽管如此,我们并没有贬低该特征(我们默认该特征标志为新堆栈),因为该特征仍可用于绕过循环依赖性问题(问题-7016),特别是在羊肉资源创造不需要依赖政策资源创造的情况下. 我们建议,如果已经设置了将恢复原始行为的特性旗,则取消它.
页:1
{
"context": {
"@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": false
}
}
@aws-cdk/aws-s3:setUniqueReplicationRoleName
当启用此特性旗时,仅在进行交叉账户复制时指定一个独特的角色名. 禁用时, 总是指定“ CDK 复制乐” .
页:1
{
"context": {
"@aws-cdk/aws-s3:setUniqueReplicationRoleName": true
}
}
@aws-cdk/pipelines:reduceStageRoleTrustScope
当启用此特性旗时, 根账户本能将不会被添加到舞台角色的信任政策中 . 当此特性旗被禁用时,它将将根账户本金保留在信托政策中.
页:1
{
"context": {
"@aws-cdk/pipelines:reduceStageRoleTrustScope": true
}
}
@aws-cdk/aws-events:requireEventBusPolicySid
启用此旗帜时 :
- 将制定资源政策,为服务负责人提供报表身份证
- 行动将如预期的那样取得成功
当此旗被禁用时 :
- 将发出警告
- 补助金业务将取消
- 不添加权限
页:1
{
"context": {
"@aws-cdk/aws-events:requireEventBusPolicySid": true
}
}
@aws-cdk/aws-dynamodb:retainTableReplica
目前,当堆栈删除时,无论源表的删除政策如何,表格复制都会被删除. 如果启用, 除非另有说明, 表格复制将默认为源表格的删除策略 .
页:1
{
"context": {
"@aws-cdk/aws-dynamodb:retainTableReplica": true
}
}
@aws-cdk/cognito:logUserPoolClientSecretValue
当启用此特性旗时, SDK API 对 desribe 用户池客户端值的调用响应将在自定义中登录 资源 lambda 函数日志.
当此特性旗被禁用时, 描述用户池客户端值的 SDK API 呼叫响应将不会在自定义中被登录 资源 lambda 函数日志.
页:1
{
"context": {
"@aws-cdk/cognito:logUserPoolClientSecretValue": true
}
}
@aws-cdk/aws-s3:publicAccessBlockedByDefault
当Block Public Access完全没有设置时, s3 的默认行为将是将所有选项设置为真实的 Aws 控制台. 此特性之前的cdk中之前的行为是;如果只设置了部分"块公用访问选项"(不是全部4),那么未定义的将默认为虚假. 这是对控制台行为的反直觉,在控制台中,选项会从真实状态开始,用户会根据需要不检查框. 这个特性的新行为将允许一个用户,例如,设定4个块公用存取Opsion中的1个错误,部署时其他3个将保持真实.
页:1
{
"context": {
"@aws-cdk/aws-s3:publicAccessBlockedByDefault": true
}
}
@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway
当启用此特性旗时, EgressOnlyGateway 仅为带有私有子网的双层 VPC 创建
当此特性旗被禁用时, EgressOnlyGateway 资源将为所有双层 VPC 创建, 不论子网类型
页:1
{
"context": {
"@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": true
}
}
@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint
当启用此特性旗时, JSONPath apiEndpoint 值会在运行时被动态地解决,同时略微地增加状态机器定义的大小. 禁用时, JSONPath apiEndpoint 属性将只支持静态字符串值 .
cdk.json (中文(简体) )
{
"context": {
"@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint": true
}
}
@aws-cdk/aws-signer:signingProfileNamePassedToCfn
当启用此特性旗时 signingProfileName 属性传递到 L1 CfnSigningProfile 构造,
它确保使用指定的名称创建 AWS 标志配置文件.
当此特性旗被禁用时 signingProfileName 不传递到 CloudFormation, 维护向后
与 CloudFormation 自动生成配置名的现有部署兼容.
需要这个特性标记是因为启用它会导致现有的签名配置文件
部署期间替换a signingProfileName 已指定但以前未使用
在 CloudFormation 模板中.
页:1
{
"context": {
"@aws-cdk/aws-signer:signingProfileNamePassedToCfn": true
}
}
@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId
启用时,ECS模式将生成包含负载平衡器名称和类型(公/私)的独特目标群体ID. 这可以防止公共和私人负载平衡器之间切换时的"云阵"冲突.
没有这个旗帜,将应用程序LoadBalancedFargateService从公用到私用(反之亦然)的切换失败与"目标组不能与一个以上的负载平衡器相连接"错误.
页:1
{
"context": {
"@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId": true
}
}
@aws-cdk/aws-batch:defaultToAL2023
启用时, EC2 批量计算环境( ECS 和 EKS ) 不指定一个 imageType
默认为 ECS_AL2023 或者说 EKS_AL2023 而不是堕落 ECS_AL2 或者说 EKS_AL2
(Amazon Linux 2, ECS达到EOL 2026年6月;EKS已经达到EOL.
对于 EKS 使用发射模板计算环境, userdataType 将自动设定
改为 EKS_NODEADM 当使用 AL2023 图像类型时,按照 AWS 批量 API 的要求.
禁用时, 默认值 imageType 遗 物 ECS_AL2 编号 : EKS_AL2 用于向后兼容.
页:1
{
"context": {
"@aws-cdk/aws-batch:defaultToAL2023": true
}
}