“部署 AWS CloudFormation 堆栈” 操作 YAML 定义 - Amazon CodeCatalyst

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

“部署 AWS CloudFormation 堆栈” 操作 YAML 定义

以下是 “部署 AWS CloudFormation 堆栈” 操作的 YAML 定义。要了解如何使用此操作,请参阅使用工作流程部署 AWS CloudFormation 堆栈

此操作定义作为一个部分存在于更广泛的工作流程定义文件中。有关此文件的更多信息,请参阅 工作流程 YAML 定义

注意

接下来的大多数 YAML 属性在可视化编辑器中都有相应的 UI 元素。要查找用户界面元素,请使用 Ctrl+F。 该元素将与其关联的 YAML 属性一起列出。

# The workflow definition starts here. # See 顶级属性 for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. DeployCloudFormationStack: Identifier: aws/cfn-deploy@v1 DependsOn: - build-action Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Environment: Name: environment-name Connections: - Name: account-connection-name Role: DeployRole Inputs: Sources: - source-name-1 Artifacts: - CloudFormation-artifact Configuration: name: stack-name region: us-west-2 template: template-path role-arn: arn:aws:iam::123456789012:role/StackRole capabilities: CAPABILITY_IAM,CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND parameter-overrides: KeyOne=ValueOne,KeyTwo=ValueTwo | path-to-JSON-file no-execute-changeset: 1|0 fail-on-empty-changeset: 1|0 disable-rollback: 1|0 termination-protection: 1|0 timeout-in-minutes: minutes notification-arns: arn:aws:sns:us-east-1:123456789012:MyTopic,arn:aws:sns:us-east-1:123456789012:MyOtherTopic monitor-alarm-arns: arn:aws:cloudwatch::123456789012:alarm/MyAlarm,arn:aws:cloudwatch::123456789012:alarm/MyOtherAlarm monitor-timeout-in-minutes: minutes tags: '[{"Key":"MyKey1","Value":"MyValue1"},{"Key":"MyKey2","Value":"MyValue2"}]'

DeployCloudFormationStack

(必需)

指定操作的名称。所有操作名称在工作流程中必须是唯一的。操作名称仅限于字母数字字符(a-z、A-Z、0-9)、连字符 (-) 和下划线 (_)。不允许使用空格。不能使用引号在操作名称中启用特殊字符和空格。

默认值:DeployCloudFormationStack_nn

对应的 UI:“配置” 选项卡/ “操作” 显示名称

Identifier

(DeployCloudFormationStack/Identifier)

(必需)

标识操作。除非要更改版本,否则不要更改此属性。有关更多信息,请参阅 指定操作的主版本、次要版本或补丁版本

默认值:aws/cfn-deploy@v1

对应的用户界面:工作流程图/ DeployCloudFormationStack _nn/ aws/cfn-deploy @v1 标签

DependsOn

(DeployCloudFormationStack/DependsOn)

(可选)

指定必须成功运行才能运行此操作的操作、操作组或门。

有关 “依赖” 功能的更多信息,请参阅。将操作配置为依赖于其他操作

对应的用户界面:“输入” 选项卡/ 依赖- 可选

Compute

(DeployCloudFormationStack/Compute)

(可选)

用于运行工作流程操作的计算引擎。您可以在工作流程级别或操作级别指定计算,但不能同时指定两者。在工作流级别指定时,计算配置将应用于工作流中定义的所有操作。在工作流程级别,您还可以在同一个实例上运行多个操作。有关更多信息,请参阅 跨操作共享计算

对应的用户界面:

Type

(DeployCloudFormationStack/Compute/Type)

(如果包含Compute,则为必填项)

计算引擎的类型。您可以使用以下值之一:

  • EC2(可视化编辑器)或EC2(YAML 编辑器)

    针对动作运行期间的灵活性进行了优化。

  • Lambda(可视化编辑器)或Lambda(YAML 编辑器)

    优化了动作启动速度。

有关计算类型的更多信息,请参阅计算类型

相应的 UI:“配置” 选项卡/高级-可选/计算类型

Fleet

(DeployCloudFormationStack/Compute/Fleet)

(可选)

指定将运行您的工作流程或工作流程操作的计算机或机群。对于按需队列,当操作开始时,工作流程会配置所需的资源,操作完成后计算机就会被销毁。按需车队的示例:Linux.x86-64.LargeLinux.x86-64.XLarge。有关按需队列的更多信息,请参阅按需车队房产

使用已配置的队列,您可以配置一组专用计算机来运行您的工作流程操作。这些计算机处于闲置状态,可以立即处理操作。有关已配置队列的更多信息,请参阅。已配置的舰队属性

如果省略,Fleet则默认为Linux.x86-64.Large

相应的 UI:“配置” 选项卡/高级-可选/计算舰队

Timeout

(DeployCloudFormationStack/Timeout)

(可选)

指定操作在 CodeCatalyst 结束操作之前可以运行的时间(以分钟(YAML 编辑器)或小时和分钟(可视化编辑器)为单位。最小值为 5 分钟,最大值如中所述工作流程配额。默认超时与最大超时相同。

相应的 UI:“配置” 选项卡/ 超时(以分钟为单位)- 可选

Environment

(DeployCloudFormationStack/Environment)

(必需)

指定要用于操作的 CodeCatalyst 环境。该操作连接到在所选环境中指定的 AWS 账户 和可选的 Amazon VPC。该操作使用环境中指定的默认 IAM 角色连接到 AWS 账户,并使用在 A mazon VPC 连接中指定的 IAM 角色连接到亚马逊 VPC。

注意

如果默认 IAM 角色没有操作所需的权限,则可以将操作配置为使用其他角色。有关更多信息,请参阅 为操作分配不同的 IAM 角色

有关环境的更多信息,请参见部署到环境中的 VPC AWS 账户 和带有 CodeCatalyst环境的 VPC创建环境

对应的 UI:“配置” 选项卡/ 环境

Name

(DeployCloudFormationStack/Environment/Name)

(如果包含Environment,则为必填项)

指定要与操作关联的现有环境的名称。

对应的 UI:“配置” 选项卡/ 环境

Connections

(DeployCloudFormationStack/Environment/Connections)

(在新版本的操作中为可选;在较旧版本中为必填项)

指定要与操作关联的账户连接。您最多可以在下方指定一个账户连接Environment

如果您未指定账户连接:

  • 该操作使用 CodeCatalyst 控制台中环境中指定的 AWS 账户 连接和默认 IAM 角色。有关向环境添加账户连接和默认 IAM 角色的信息,请参阅创建环境

  • 默认 IAM 角色必须包含操作所需的策略和权限。要确定这些策略和权限是什么,请参阅操作的 YAML 定义文档中对角色属性的描述。

有关账户关联的更多信息,请参阅允许在已连接的情况下访问 AWS 资源 AWS 账户。有关向环境添加账户连接的信息,请参阅创建环境

相应的 UI:根据操作版本的不同,以下用户界面之一:

  • (新版本)“配置” 选项卡/环境/我的环境中有什么? /三点菜单/ 切换角色

  • (旧版本)“配置” 选项卡/'环境/账户/角色'/账户连接AWS

Name

(DeployCloudFormationStack/Environment/Connections/Name)

(如果包含Connections,则为必填项)

指定账户连接的名称。

相应的 UI:根据操作版本的不同,以下用户界面之一:

  • (新版本)“配置” 选项卡/环境/我的环境中有什么? /三点菜单/ 切换角色

  • (旧版本)“配置” 选项卡/'环境/账户/角色'/账户连接AWS

Role

(DeployCloudFormationStack/Environment/Connections/Role)

(如果包含Connections,则为必填项)

指定 De ploy AWS CloudFormation 堆栈操作用于访问的 IAM 角色的名称 AWS 和 AWS CloudFormation 服务。请确保您已将该角色添加到您的 CodeCatalyst 空间,并且该角色包含以下策略。

如果您未指定 IAM 角色,则该操作将使用 CodeCatalyst 控制台中环境中列出的默认 IAM 角色。如果您在环境中使用默认角色,请确保其具有以下策略。

  • 以下权限策略:

    警告

    将权限限制为以下策略中显示的权限。使用具有更广泛权限的角色可能会带来安全风险。

    { "Version": "2012-10-17", "Statement": [{ "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:Describe*", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "cloudformation:List*", "iam:PassRole" ], "Resource": "*", "Effect": "Allow" }] }
    注意

    首次使用该角色时,请在资源策略语句中使用以下通配符,然后在策略可用后使用资源名称缩小策略范围。

    "Resource": "*"
  • 以下自定义信任策略:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
注意

如果您愿意,可以在此操作中使用该CodeCatalystWorkflowDevelopmentRole-spaceName角色。有关该角色的更多信息,请参阅 为您的账户和空间创建CodeCatalystWorkflowDevelopmentRole-spaceName角色。了解该CodeCatalystWorkflowDevelopmentRole-spaceName角色具有完全访问权限,这可能会带来安全风险。我们建议您仅在教程和安全性较低的场景中使用此角色。

相应的 UI:根据操作版本的不同,以下用户界面之一:

  • (新版本)“配置” 选项卡/环境/我的环境中有什么? /三点菜单/ 切换角色

  • (旧版本)“配置” 选项卡/'环境/帐户/角色'/角色

Inputs

(DeployCloudFormationStack/Inputs)

(可选)

Inputs节定义了工作流程运行期间DeployCloudFormationStack所需的数据。

注意

每个 Deplo y AWS CloudFormation 堆栈操作最多允许四个输入(一个源和三个工件)。

如果您需要引用驻留在不同输入(比如源和构件)中的文件,则源输入是主输入,构件是辅助输入。辅助输入中对文件的引用采用特殊前缀,以区分主输入中的文件。有关更多信息,请参阅 示例:引用多个构件中的文件

相应的 UI:“输入” 选项卡

Sources

(DeployCloudFormationStack/Inputs/Sources)

(如果您的 CloudFormation 或 AWS SAM 模板存储在源存储库中,则为必填项)

如果您的 CloudFormation 或 AWS SAM 模板存储在源存储库中,请指定该源存储库的标签。目前,唯一支持的标签是WorkflowSource

如果您的 CloudFormation 或 AWS SAM 模板不包含在源存储库中,则它必须位于其他操作生成的项目或 Amazon S3 存储桶中。

更多有关来源的信息,请参阅 将工作流程连接到源存储库

相应的 UI:“输入” 选项卡/ “来源”- 可选

Artifacts - input

(DeployCloudFormationStack/Inputs/Artifacts)

(如果您的 CloudFormation 或 AWS SAM 模板存储在先前操作的输出对象中,则为必填项)

如果要部署的 CloudFormation 或 AWS SAM 模板包含在先前操作生成的对象中,请在此处指定该对象。如果您的 CloudFormation 模板不包含在项目中,则该模板必须位于您的源存储库或 Amazon S3 存储桶中。

有关构件的更多信息(包括示例),请参阅使用构件在工作流程中的操作之间共享数据

相应的 UI:“配置” 选项卡/ 工件- 可选

Configuration

(DeployCloudFormationStack/Configuration)

(必需)

您可以在其中定义操作的配置属性的部分。

对应的 UI:“配置” 选项卡

name

(DeployCloudFormationStack/Configuration/name)

(必需)

为 De ploy CloudFormation 堆栈操作创建或更新的 AWS CloudFormation 堆栈指定名称。

对应的用户界面:配置选项卡/ 堆栈名称

region

(DeployCloudFormationStack/Configuration/region)

(必需)

指定堆栈将部署 AWS 区域 到哪里。有关区域代码的列表,请参阅区域端点

对应的 UI:“配置” 选项卡/ “堆栈” 区域

template

(DeployCloudFormationStack/Configuration/template)

(必需)

指定您的文件 CloudFormation 或 AWS SAM 模板文件的名称和路径。该模板可以采用 JSON 或 YAML 格式,可以位于源存储库、先前操作中的项目或 Amazon S3 存储桶中。如果模板文件位于源存储库或项目中,则该路径是相对于源存储库或项目根目录的路径。如果模板位于 Amazon S3 存储桶中,则路径为模板的对象 URL 值。

示例:

./MyFolder/MyTemplate.json

MyFolder/MyTemplate.yml

https://MyBucket.s3.us-west-2.amazonaws.com/MyTemplate.yml

注意

您可能需要在模板的文件路径中添加前缀,以指明要在哪个工件或来源中找到它。有关更多信息,请参阅 引用源存储库中的文件在构件中引用文件

对应的用户界面:配置选项卡/模板

role-arn

(DeployCloudFormationStack/Configuration/role-arn)

(必需)

指定堆栈角色的亚马逊资源名称 (ARN)。 CloudFormation 使用此角色访问和修改堆栈中的资源。例如:arn:aws:iam::123456789012:role/StackRole

确保堆栈角色包括:

  • 一个或多个权限策略。这些策略取决于您的堆栈中的资源。例如,如果您的堆栈包含一个 AWS Lambda 函数,则需要添加授予对 Lambda 访问权限的权限。如果您按照中描述的教程进行操作教程:使用部署无服务器应用程序 AWS CloudFormation,则其中包含一个名为的过程,创建堆栈角色该过程列出了部署典型的无服务器应用程序堆栈时堆栈角色所需的权限。

    警告

    将权限限制为 CloudFormation 服务访问堆栈中资源所需的权限。使用具有更广泛权限的角色可能会带来安全风险。

  • 以下信任政策:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cloudformation.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

(可选)将此角色与您的账户关联关联。要了解有关将 IAM 角色与账户关联的更多信息,请参阅向账户连接添加 IAM 角色。如果您未将堆栈角色与账户连接关联,则堆栈角色将不会出现在可视化编辑器的堆栈角色下拉列表中;但是,仍然可以使用 YAML 编辑器在role-arn字段中指定角色 ARN。

注意

如果您愿意,可以在此操作中使用该CodeCatalystWorkflowDevelopmentRole-spaceName角色。有关该角色的更多信息,请参阅 为您的账户和空间创建CodeCatalystWorkflowDevelopmentRole-spaceName角色。了解该CodeCatalystWorkflowDevelopmentRole-spaceName角色具有完全访问权限,这可能会带来安全风险。我们建议您仅在教程和安全性较低的场景中使用此角色。

对应的用户界面:配置选项卡/ 堆栈角色—— 可选

capabilities

(DeployCloudFormationStack/Configuration/capabilities)

(必需)

指定允许 AWS CloudFormation 创建特定堆栈所需的 IAM 功能列表。在大多数情况下,您可以保留capabilities默认值CAPABILITY_IAM,CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND

如果您##[error] requires capabilities: [capability-name]Deploy AWS CloudFormation 堆栈操作的日志中看到,请参阅以获取如何修复 IAM 功能错误?有关如何修复问题的信息。

有关 IAM 功能的更多信息,请参阅 IAM 用户指南中的在 AWS CloudFormation 模板中确认 IAM 资源

对应的用户界面:“配置” 选项卡/高级/ 功能

parameter-overrides

(DeployCloudFormationStack/Configuration/parameter-overrides)

(可选)

在您的 AWS CloudFormation 或 AWS SAM 模板中指定没有默认值的参数,或者您要为其指定非默认值的参数。有关参数的更多信息,请参阅《 AWS CloudFormation 用户指南》中的参数

parameter-overrides物业接受:

  • 包含参数和值的 JSON 文件。

  • 以逗号分隔的参数和值列表。

指定 JSON 文件
  1. 确保 JSON 文件使用以下语法之一:

    { "Parameters": { "Param1": "Value1", "Param2": "Value2", ... } }

    或者...

    [ { "ParameterKey": "Param1", "ParameterValue": "Value1" }, ... ]

    (还有其他语法,但在撰写本文时尚不支持这些语法。) CodeCatalyst 有关在 JSON 文件中指定 CloudFormation 参数的更多信息,请参阅AWS CLI 命令参考支持的 JSON 语法

  2. 使用以下格式之一指定 JSON 文件的路径:

    • 如果您的 JSON 文件位于先前操作的输出项目中,请使用:

      file:///artifacts/current-action-name/output-artifact-name/path-to-json-file

      有关详细信息,请参阅示例 1

    • 如果您的 JSON 文件位于源存储库中,请使用:

      file:///sources/WorkflowSource/path-to-json-file

      有关详细信息,请参阅示例 2

      示例 1-JSON 文件位于输出构件中

      ##My workflow YAML ... Actions: MyBuildAction: Identifier: aws/build@v1 Outputs: Artifacts: - Name: ParamArtifact Files: - params.json Configuration: ... MyDeployCFNStackAction: Identifier: aws/cfn-deploy@v1 Configuration: parameter-overrides: file:///artifacts/MyDeployCFNStackAction/ParamArtifact/params.json

      示例 2-JSON 文件位于您的源存储库中,位于名为的文件夹中 my/folder

      ##My workflow YAML ... Actions: MyDeployCloudFormationStack: Identifier: aws/cfn-deploy@v1 Inputs: Sources: - WorkflowSource Configuration: parameter-overrides: file:///sources/WorkflowSource/my/folder/params.json
使用以逗号分隔的参数列表
  • 使用以下格式在parameter-overrides属性中添加参数名称/值对:

    param-1=value-1,param-2=value-2

    例如,假设使用以下 AWS CloudFormation 模板:

    ##My CloudFormation template Description: My AWS CloudFormation template Parameters: InstanceType: Description: Defines the Amazon EC2 compute for the production server. Type: String Default: t2.micro AllowedValues: - t2.micro - t2.small - t3.medium Resources: ...

    ... 你可以按如下方式设置该parameter-overrides属性:

    ##My workflow YAML ... Actions: ... DeployCloudFormationStack: Identifier: aws/cfn-deploy@v1 Configuration: parameter-overrides: InstanceType=t3.medium,UseVPC=true
    注意

    您可以使用undefined作为值来指定不带相应值的参数名称。例如:

    parameter-overrides: MyParameter=undefined

    其效果是,在堆栈更新期间, CloudFormation 使用现有参数值作为给定参数名称。

对应的用户界面:

  • “配置” 选项卡/高级/ 参数覆盖

  • “配置” 选项卡/高级/参数覆盖/ 使用文件指定覆盖

  • “配置” 选项卡/高级/参数覆盖/ 使用值集指定覆盖

no-execute-changeset

(DeployCloudFormationStack/Configuration/no-execute-changeset)

(可选)

指定是否 CodeCatalyst 要创建 CloudFormation 更改集,然后在运行之前将其停止。这使您有机会在 CloudFormation 控制台中查看更改集。如果您确定更改集看起来不错,请禁用此选项,然后重新运行工作流程,这样 CodeCatalyst 就可以不停地创建和运行变更集。默认设置是在不停止的情况下创建和运行变更集。有关更多信息,请参阅《AWS CLI 命令参考》中的 deplo AWS CloudFormation y 参数。有关查看更改集的更多信息,请参阅《AWS CloudFormation 用户指南》中的查看更改集

相应的 UI:“配置” 选项卡/高级/未执行更改集

fail-on-empty-changeset

(DeployCloudFormationStack/Configuration/fail-on-empty-changeset)

(可选)

指定如果 CloudFormation 更改集为空,是否 CodeCatalyst 要让 “部署 AWS CloudFormation 堆栈” 操作失败。(如果更改集为空,则表示在最新部署期间未对堆栈进行任何更改。) 默认情况下,如果更改集为空,则允许操作继续执行,即使堆栈未更新,也会返回一条UPDATE_COMPLETE消息。

有关此设置的更多信息,请参阅《AWS CLI 命令参考》中的 dep AWS CloudFormation loy 参数。有关变更集的更多信息,请参阅《AWS CloudFormation 用户指南》中的使用变更集更新堆栈

对应的用户界面:配置选项卡/高级/变更集为空时失败

disable-rollback

(DeployCloudFormationStack/Configuration/disable-rollback)

(可选)

指定在堆栈部署失败时是否 CodeCatalyst 要回滚堆栈部署。回滚会将堆栈返回到上次已知的稳定状态。默认设置为启用回滚。有关此设置的更多信息,请参阅《AWS CLI 命令参考》中的 dep AWS CloudFormation loy 参数。

有关 Depl oy AWS CloudFormation 堆栈操作如何处理回滚的更多信息,请参阅配置回滚

有关回滚堆栈的更多信息,请参阅《AWS CloudFormation 用户指南》中的堆栈故障选项

相应的 UI:“配置” 选项卡/高级/禁用回滚

termination-protection

(DeployCloudFormationStack/Configuration/termination-protection)

(可选)

指定是否希望 Deploy AWS CloudFormation 堆栈为其正在部署的堆栈添加终止保护。如果用户尝试删除已启用终止保护的堆栈,则删除操作会失败,并且堆栈及其状态将保持不变。默认设置为禁用终止保护。有关更多信息,请参阅《AWS CloudFormation 用户指南》中的保护堆栈不被删除

对应的用户界面:“配置” 选项卡/高级/终止保护

timeout-in-minutes

(DeployCloudFormationStack/Configuration/timeout-in-minutes)

(可选)

指定在堆栈创建操作超时并将堆栈状态设置为之前 CloudFormation 应分配的时间(以CREATE_FAILED分钟为单位)。如果 CloudFormation无法在分配的时间内创建整个堆栈,则由于超时而无法创建堆栈并回滚堆栈。

默认情况下,堆栈创建从不超时。但是,单个资源可能会根据它们所实施服务的性质而具有自己的超时。例如,如果堆栈中的单个资源发生超时,则堆栈创建也会超时,即使尚未达到您为堆栈创建指定的超时也不例外。

对应的用户界面:配置选项卡/高级/超CloudFormation时

notification-arns

(DeployCloudFormationStack/Configuration/notification-arns)

(可选)

指定您 CodeCatalyst 要向其发送通知消息的 Amazon SNS 主题的 ARN。例如,arn:aws:sns:us-east-1:111222333:MyTopic。当 Deploy AWS CloudFormation 堆栈操作运行时,与 CodeCatalyst CloudFormation 协调,为堆栈创建或更新过程中发生的每个 AWS CloudFormation 事件发送一条通知。(事件显示在 AWS CloudFormation 控制台堆栈的 “事件” 选项卡中。) 您最多可以指定五个主题。有关更多信息,请参阅 Amazon SNS 是什么?

相应的 UI:“配置” 选项卡/高级/通知 ARN

monitor-alarm-arns

(DeployCloudFormationStack/Configuration/monitor-alarm-arns)

(可选)

指定要用作回滚触发器的亚马逊 CloudWatch 警报的亚马逊资源名称 (ARN)。例如,arn:aws:cloudwatch::123456789012:alarm/MyAlarm。您最多可以有五个回滚触发器。

注意

如果您指定 CloudWatch 警报 ARN,则还需要配置其他权限才能使操作能够访问。 CloudWatch有关更多信息,请参阅 配置回滚

相应的 UI:“配置” 选项卡/高级/监控警报 ARN

monitor-timeout-in-minutes

(DeployCloudFormationStack/Configuration/monitor-timeout-in-minutes)

(可选)

指定 CloudFormation 监视指定警报的时间段,介于 0 到 180 分钟之间。在所有堆栈资源部署完毕后开始监控。如果警报发生在指定的监控时间内,则部署将失败,并回 CloudFormation 滚整个堆栈操作。

默认值:0。 CloudFormation 仅在部署堆栈资源时监控警报,而不在部署堆栈资源之后监视警报。

对应的用户界面:“配置” 选项卡/高级/ “监视时间”

tags

(DeployCloudFormationStack/Configuration/tags)

(可选)

指定要附加到 CloudFormation 堆栈的标签。标签是任意键值对,您可以使用它们来标识堆栈,用于成本分配等目的。有关什么是标签以及如何使用标签的更多信息,请参阅《Amazon EC2 用户指南》中的标记资源。有关在中添加标签的更多信息 CloudFormation,请参阅《AWS CloudFormation 用户指南》中的设置 AWS CloudFormation 堆栈选项

密钥可以包含字母数字字符或空格,最多可包含 127 个字符。值可以包含字母数字字符或空格,最多可包含 255 个字符。

您可以为每个堆栈添加最多 50 个唯一标签。

对应的用户界面:配置选项卡/高级/标签